def capabilities
bolt@1.27.0.0 · src/lsp/proto.bend:37
import bolt@1.27.0.0/src/lsp/proto.bend as Proto
import Base
import emerging-ezjson@1.2.0.0/main.bend as Ezjson
import emerging-ezjson@1.2.0.0/src/value.bend as J
import bolt@1.27.0.0/src/lsp/semantic.bend as Semantic
import bolt@1.27.0.0/src/version.bend as Ver
import bolt@1.27.0.0/src/lsp/enc.bend as Enc
37
38
39
40def capabilities(ee: Enc.Enc) -> J.Json:
41 Ezjson.obj([
42 ("capabilities", Ezjson.obj([
43 ("positionEncoding", J.JStr{Enc.name(ee)}),
44 ("textDocumentSync", Ezjson.obj([("openClose", J.JBool{True{}}), ("change", J.JNum{U32.show(1)}), ("save", J.JBool{True{}})])),
45 ("hoverProvider", J.JBool{True{}}),
46 ("definitionProvider", J.JBool{True{}}),
47 ("documentSymbolProvider", J.JBool{True{}}),
48 ("completionProvider", Ezjson.obj([("triggerCharacters", Ezjson.arr([J.JStr{"."}]))])),
49 ("referencesProvider", J.JBool{True{}}),
50 ("renameProvider", J.JBool{True{}}),
51 ("semanticTokensProvider", Ezjson.obj([
52 ("legend", Ezjson.obj([("tokenTypes", Ezjson.arr(strings(Semantic.legend()))), ("tokenModifiers", Ezjson.arr([]))])),
53 ("full", J.JBool{True{}})]))])),
54 ("serverInfo", Ezjson.obj([("name", J.JStr{"bolt"}), ("version", J.JStr{Ver.text()})]))])