@kerebron/extension-codemirror 0.4.27 → 0.4.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/assets/codemirror.css +80 -0
  2. package/esm/ExtensionCodeMirror.d.ts +17 -0
  3. package/esm/ExtensionCodeMirror.d.ts.map +1 -0
  4. package/esm/ExtensionCodeMirror.js +61 -0
  5. package/esm/NodeCodeMirror.d.ts +20 -0
  6. package/esm/NodeCodeMirror.d.ts.map +1 -0
  7. package/esm/NodeCodeMirror.js +95 -0
  8. package/esm/codeMirrorBlockNodeView.d.ts +7 -0
  9. package/esm/codeMirrorBlockNodeView.d.ts.map +1 -0
  10. package/esm/codeMirrorBlockNodeView.js +268 -0
  11. package/esm/defaults.d.ts +6 -0
  12. package/esm/defaults.d.ts.map +1 -0
  13. package/esm/defaults.js +58 -0
  14. package/esm/languageLoaders.d.ts +5 -0
  15. package/esm/languageLoaders.d.ts.map +1 -0
  16. package/esm/languageLoaders.js +112 -0
  17. package/esm/languages.d.ts +109 -0
  18. package/esm/languages.d.ts.map +1 -0
  19. package/esm/languages.js +110 -0
  20. package/esm/lsp/LSPExtension.d.ts +14 -0
  21. package/esm/lsp/LSPExtension.d.ts.map +1 -0
  22. package/esm/lsp/LSPExtension.js +29 -0
  23. package/esm/lsp/completion.d.ts +8 -0
  24. package/esm/lsp/completion.d.ts.map +1 -0
  25. package/esm/lsp/completion.js +179 -0
  26. package/esm/lsp/hover.d.ts +5 -0
  27. package/esm/lsp/hover.d.ts.map +1 -0
  28. package/esm/lsp/hover.js +81 -0
  29. package/esm/lsp/index.d.ts +7 -0
  30. package/esm/lsp/index.d.ts.map +1 -0
  31. package/esm/lsp/index.js +49 -0
  32. package/esm/lsp/plugin.d.ts +37 -0
  33. package/esm/lsp/plugin.d.ts.map +1 -0
  34. package/esm/lsp/plugin.js +86 -0
  35. package/esm/lsp/pos.d.ts +5 -0
  36. package/esm/lsp/pos.d.ts.map +1 -0
  37. package/esm/lsp/pos.js +8 -0
  38. package/esm/lsp/text.d.ts +2 -0
  39. package/esm/lsp/text.d.ts.map +1 -0
  40. package/esm/lsp/text.js +47 -0
  41. package/esm/lsp/theme.d.ts +2 -0
  42. package/esm/lsp/theme.d.ts.map +1 -0
  43. package/esm/lsp/theme.js +76 -0
  44. package/esm/package.json +3 -0
  45. package/esm/remote-selections.d.ts +15 -0
  46. package/esm/remote-selections.d.ts.map +1 -0
  47. package/esm/remote-selections.js +225 -0
  48. package/esm/remote-sync.d.ts +11 -0
  49. package/esm/remote-sync.d.ts.map +1 -0
  50. package/esm/remote-sync.js +17 -0
  51. package/esm/types.d.ts +30 -0
  52. package/esm/types.d.ts.map +1 -0
  53. package/esm/types.js +1 -0
  54. package/esm/utils.d.ts +40 -0
  55. package/esm/utils.d.ts.map +1 -0
  56. package/esm/utils.js +210 -0
  57. package/package.json +5 -6
@@ -0,0 +1,112 @@
1
+ // deno-lint-ignore-file
2
+ import { StreamLanguage } from '@codemirror/language';
3
+ import { CodeBlockLanguages, LegacyLanguages } from './languages.js';
4
+ const languageLoaders = {
5
+ [CodeBlockLanguages.cpp]: () => import('@codemirror/lang-cpp').then((i) => i.cpp()),
6
+ [CodeBlockLanguages.css]: () => import('@codemirror/lang-css').then((i) => i.css()),
7
+ [CodeBlockLanguages.html]: () => import('@codemirror/lang-html').then((i) => i.html()),
8
+ [CodeBlockLanguages.php]: () => import('@codemirror/lang-php').then((i) => i.php()),
9
+ [CodeBlockLanguages.sql]: () => import('@codemirror/lang-sql').then((i) => i.sql()),
10
+ [CodeBlockLanguages.xml]: () => import('@codemirror/lang-xml').then((i) => i.xml()),
11
+ [CodeBlockLanguages.javascript]: () => import('@codemirror/lang-javascript').then((i) => i.javascript()),
12
+ [CodeBlockLanguages.java]: () => import('@codemirror/lang-java').then((i) => i.java()),
13
+ [CodeBlockLanguages.json]: () => import('@codemirror/lang-json').then((i) => i.json()),
14
+ [CodeBlockLanguages.lezer]: () => import('@codemirror/lang-lezer').then((i) => i.lezer()),
15
+ [CodeBlockLanguages.markdown]: () => import('@codemirror/lang-markdown').then((i) => i.markdown()),
16
+ [CodeBlockLanguages.python]: () => import('@codemirror/lang-python').then((i) => i.python()),
17
+ [CodeBlockLanguages.rust]: () => import('@codemirror/lang-rust').then((i) => i.rust()),
18
+ [CodeBlockLanguages.wast]: () => import('@codemirror/lang-wast').then((i) => i.wast()),
19
+ };
20
+ export const legacyLanguageLoaders = {
21
+ [LegacyLanguages.apl]: () => import('@codemirror/legacy-modes/mode/apl').then(({ apl }) => StreamLanguage.define(apl)),
22
+ [LegacyLanguages.asciiarmor]: () => import('@codemirror/legacy-modes/mode/asciiarmor').then(({ asciiArmor }) => StreamLanguage.define(asciiArmor)),
23
+ [LegacyLanguages.asn1]: () => import('@codemirror/legacy-modes/mode/asn1').then(({ asn1 }) => StreamLanguage.define(asn1)),
24
+ [LegacyLanguages.asterisk]: () => import('@codemirror/legacy-modes/mode/asterisk').then(({ asterisk }) => StreamLanguage.define(asterisk)),
25
+ [LegacyLanguages.brainfuck]: () => import('@codemirror/legacy-modes/mode/brainfuck').then(({ brainfuck }) => StreamLanguage.define(brainfuck)),
26
+ [LegacyLanguages.clike]: () => import('@codemirror/legacy-modes/mode/clike').then(({ clike }) => StreamLanguage.define(clike)),
27
+ [LegacyLanguages.clojure]: () => import('@codemirror/legacy-modes/mode/clojure').then(({ clojure }) => StreamLanguage.define(clojure)),
28
+ [LegacyLanguages.cmake]: () => import('@codemirror/legacy-modes/mode/cmake').then(({ cmake }) => StreamLanguage.define(cmake)),
29
+ [LegacyLanguages.cobol]: () => import('@codemirror/legacy-modes/mode/cobol').then(({ cobol }) => StreamLanguage.define(cobol)),
30
+ [LegacyLanguages.coffeescript]: () => import('@codemirror/legacy-modes/mode/coffeescript').then(({ coffeeScript }) => StreamLanguage.define(coffeeScript)),
31
+ [LegacyLanguages.commonlisp]: () => import('@codemirror/legacy-modes/mode/commonlisp').then(({ commonLisp }) => StreamLanguage.define(commonLisp)),
32
+ [LegacyLanguages.crystal]: () => import('@codemirror/legacy-modes/mode/crystal').then(({ crystal }) => StreamLanguage.define(crystal)),
33
+ [LegacyLanguages.cypher]: () => import('@codemirror/legacy-modes/mode/cypher').then(({ cypher }) => StreamLanguage.define(cypher)),
34
+ [LegacyLanguages.d]: () => import('@codemirror/legacy-modes/mode/d').then(({ d }) => StreamLanguage.define(d)),
35
+ [LegacyLanguages.diff]: () => import('@codemirror/legacy-modes/mode/diff').then(({ diff }) => StreamLanguage.define(diff)),
36
+ [LegacyLanguages.dockerfile]: () => import('@codemirror/legacy-modes/mode/dockerfile').then(({ dockerFile }) => StreamLanguage.define(dockerFile)),
37
+ [LegacyLanguages.dtd]: () => import('@codemirror/legacy-modes/mode/dtd').then(({ dtd }) => StreamLanguage.define(dtd)),
38
+ [LegacyLanguages.dylan]: () => import('@codemirror/legacy-modes/mode/dylan').then(({ dylan }) => StreamLanguage.define(dylan)),
39
+ [LegacyLanguages.ebnf]: () => import('@codemirror/legacy-modes/mode/ebnf').then(({ ebnf }) => StreamLanguage.define(ebnf)),
40
+ [LegacyLanguages.ecl]: () => import('@codemirror/legacy-modes/mode/ecl').then(({ ecl }) => StreamLanguage.define(ecl)),
41
+ [LegacyLanguages.eiffel]: () => import('@codemirror/legacy-modes/mode/eiffel').then(({ eiffel }) => StreamLanguage.define(eiffel)),
42
+ [LegacyLanguages.elm]: () => import('@codemirror/legacy-modes/mode/elm').then(({ elm }) => StreamLanguage.define(elm)),
43
+ [LegacyLanguages.erlang]: () => import('@codemirror/legacy-modes/mode/erlang').then(({ erlang }) => StreamLanguage.define(erlang)),
44
+ [LegacyLanguages.factor]: () => import('@codemirror/legacy-modes/mode/factor').then(({ factor }) => StreamLanguage.define(factor)),
45
+ [LegacyLanguages.fcl]: () => import('@codemirror/legacy-modes/mode/fcl').then(({ fcl }) => StreamLanguage.define(fcl)),
46
+ [LegacyLanguages.forth]: () => import('@codemirror/legacy-modes/mode/forth').then(({ forth }) => StreamLanguage.define(forth)),
47
+ [LegacyLanguages.fortran]: () => import('@codemirror/legacy-modes/mode/fortran').then(({ fortran }) => StreamLanguage.define(fortran)),
48
+ [LegacyLanguages.gas]: () => import('@codemirror/legacy-modes/mode/gas').then(({ gas }) => StreamLanguage.define(gas)),
49
+ [LegacyLanguages.gherkin]: () => import('@codemirror/legacy-modes/mode/gherkin').then(({ gherkin }) => StreamLanguage.define(gherkin)),
50
+ [LegacyLanguages.go]: () => import('@codemirror/legacy-modes/mode/go').then(({ go }) => StreamLanguage.define(go)),
51
+ [LegacyLanguages.groovy]: () => import('@codemirror/legacy-modes/mode/groovy').then(({ groovy }) => StreamLanguage.define(groovy)),
52
+ [LegacyLanguages.haskell]: () => import('@codemirror/legacy-modes/mode/haskell').then(({ haskell }) => StreamLanguage.define(haskell)),
53
+ [LegacyLanguages.haxe]: () => import('@codemirror/legacy-modes/mode/haxe').then(({ haxe }) => StreamLanguage.define(haxe)),
54
+ [LegacyLanguages.http]: () => import('@codemirror/legacy-modes/mode/http').then(({ http }) => StreamLanguage.define(http)),
55
+ [LegacyLanguages.idl]: () => import('@codemirror/legacy-modes/mode/idl').then(({ idl }) => StreamLanguage.define(idl)),
56
+ [LegacyLanguages.jinja2]: () => import('@codemirror/legacy-modes/mode/jinja2').then(({ jinja2 }) => StreamLanguage.define(jinja2)),
57
+ [LegacyLanguages.julia]: () => import('@codemirror/legacy-modes/mode/julia').then(({ julia }) => StreamLanguage.define(julia)),
58
+ [LegacyLanguages.livescript]: () => import('@codemirror/legacy-modes/mode/livescript').then(({ liveScript }) => StreamLanguage.define(liveScript)),
59
+ [LegacyLanguages.lua]: () => import('@codemirror/legacy-modes/mode/lua').then(({ lua: legacyLua }) => StreamLanguage.define(legacyLua)),
60
+ [LegacyLanguages.mathematica]: () => import('@codemirror/legacy-modes/mode/mathematica').then(({ mathematica }) => StreamLanguage.define(mathematica)),
61
+ [LegacyLanguages.mbox]: () => import('@codemirror/legacy-modes/mode/mbox').then(({ mbox }) => StreamLanguage.define(mbox)),
62
+ [LegacyLanguages.mirc]: () => import('@codemirror/legacy-modes/mode/mirc').then(({ mirc }) => StreamLanguage.define(mirc)),
63
+ [LegacyLanguages.mllike]: () => import('@codemirror/legacy-modes/mode/mllike').then(({ oCaml }) => StreamLanguage.define(oCaml)),
64
+ [LegacyLanguages.modelica]: () => import('@codemirror/legacy-modes/mode/modelica').then(({ modelica }) => StreamLanguage.define(modelica)),
65
+ [LegacyLanguages.mscgen]: () => import('@codemirror/legacy-modes/mode/mscgen').then(({ mscgen }) => StreamLanguage.define(mscgen)),
66
+ [LegacyLanguages.mumps]: () => import('@codemirror/legacy-modes/mode/mumps').then(({ mumps }) => StreamLanguage.define(mumps)),
67
+ [LegacyLanguages.nginx]: () => import('@codemirror/legacy-modes/mode/nginx').then(({ nginx }) => StreamLanguage.define(nginx)),
68
+ [LegacyLanguages.nsis]: () => import('@codemirror/legacy-modes/mode/nsis').then(({ nsis }) => StreamLanguage.define(nsis)),
69
+ [LegacyLanguages.ntriples]: () => import('@codemirror/legacy-modes/mode/ntriples').then(({ ntriples }) => StreamLanguage.define(ntriples)),
70
+ [LegacyLanguages.octave]: () => import('@codemirror/legacy-modes/mode/octave').then(({ octave }) => StreamLanguage.define(octave)),
71
+ [LegacyLanguages.oz]: () => import('@codemirror/legacy-modes/mode/oz').then(({ oz }) => StreamLanguage.define(oz)),
72
+ [LegacyLanguages.pascal]: () => import('@codemirror/legacy-modes/mode/pascal').then(({ pascal }) => StreamLanguage.define(pascal)),
73
+ [LegacyLanguages.perl]: () => import('@codemirror/legacy-modes/mode/perl').then(({ perl }) => StreamLanguage.define(perl)),
74
+ [LegacyLanguages.pig]: () => import('@codemirror/legacy-modes/mode/pig').then(({ pig }) => StreamLanguage.define(pig)),
75
+ [LegacyLanguages.powershell]: () => import('@codemirror/legacy-modes/mode/powershell').then(({ powerShell }) => StreamLanguage.define(powerShell)),
76
+ [LegacyLanguages.properties]: () => import('@codemirror/legacy-modes/mode/properties').then(({ properties }) => StreamLanguage.define(properties)),
77
+ [LegacyLanguages.protobuf]: () => import('@codemirror/legacy-modes/mode/protobuf').then(({ protobuf }) => StreamLanguage.define(protobuf)),
78
+ [LegacyLanguages.puppet]: () => import('@codemirror/legacy-modes/mode/puppet').then(({ puppet }) => StreamLanguage.define(puppet)),
79
+ [LegacyLanguages.q]: () => import('@codemirror/legacy-modes/mode/q').then(({ q }) => StreamLanguage.define(q)),
80
+ [LegacyLanguages.r]: () => import('@codemirror/legacy-modes/mode/r').then(({ r }) => StreamLanguage.define(r)),
81
+ [LegacyLanguages.rpm]: () => import('@codemirror/legacy-modes/mode/rpm').then(({ rpmSpec }) => StreamLanguage.define(rpmSpec)),
82
+ [LegacyLanguages.ruby]: () => import('@codemirror/legacy-modes/mode/ruby').then(({ ruby }) => StreamLanguage.define(ruby)),
83
+ [LegacyLanguages.sas]: () => import('@codemirror/legacy-modes/mode/sas').then(({ sas }) => StreamLanguage.define(sas)),
84
+ [LegacyLanguages.scheme]: () => import('@codemirror/legacy-modes/mode/scheme').then(({ scheme }) => StreamLanguage.define(scheme)),
85
+ [LegacyLanguages.shell]: () => import('@codemirror/legacy-modes/mode/shell').then(({ shell }) => StreamLanguage.define(shell)),
86
+ [LegacyLanguages.smalltalk]: () => import('@codemirror/legacy-modes/mode/smalltalk').then(({ smalltalk }) => StreamLanguage.define(smalltalk)),
87
+ [LegacyLanguages.solr]: () => import('@codemirror/legacy-modes/mode/solr').then(({ solr }) => StreamLanguage.define(solr)),
88
+ [LegacyLanguages.sparql]: () => import('@codemirror/legacy-modes/mode/sparql').then(({ sparql }) => StreamLanguage.define(sparql)),
89
+ [LegacyLanguages.spreadsheet]: () => import('@codemirror/legacy-modes/mode/spreadsheet').then(({ spreadsheet }) => StreamLanguage.define(spreadsheet)),
90
+ [LegacyLanguages.stex]: () => import('@codemirror/legacy-modes/mode/stex').then(({ stex }) => StreamLanguage.define(stex)),
91
+ [LegacyLanguages.stylus]: () => import('@codemirror/legacy-modes/mode/stylus').then(({ stylus }) => StreamLanguage.define(stylus)),
92
+ [LegacyLanguages.swift]: () => import('@codemirror/legacy-modes/mode/swift').then(({ swift }) => StreamLanguage.define(swift)),
93
+ [LegacyLanguages.tcl]: () => import('@codemirror/legacy-modes/mode/tcl').then(({ tcl }) => StreamLanguage.define(tcl)),
94
+ [LegacyLanguages.textile]: () => import('@codemirror/legacy-modes/mode/textile').then(({ textile }) => StreamLanguage.define(textile)),
95
+ [LegacyLanguages.tiddlywiki]: () => import('@codemirror/legacy-modes/mode/tiddlywiki').then(({ tiddlyWiki }) => StreamLanguage.define(tiddlyWiki)),
96
+ [LegacyLanguages.tiki]: () => import('@codemirror/legacy-modes/mode/tiki').then(({ tiki }) => StreamLanguage.define(tiki)),
97
+ [LegacyLanguages.toml]: () => import('@codemirror/legacy-modes/mode/toml').then(({ toml }) => StreamLanguage.define(toml)),
98
+ [LegacyLanguages.troff]: () => import('@codemirror/legacy-modes/mode/troff').then(({ troff }) => StreamLanguage.define(troff)),
99
+ [LegacyLanguages.ttcn]: () => import('@codemirror/legacy-modes/mode/ttcn').then(({ ttcn }) => StreamLanguage.define(ttcn)),
100
+ [LegacyLanguages.turtle]: () => import('@codemirror/legacy-modes/mode/turtle').then(({ turtle }) => StreamLanguage.define(turtle)),
101
+ [LegacyLanguages.vb]: () => import('@codemirror/legacy-modes/mode/vb').then(({ vb }) => StreamLanguage.define(vb)),
102
+ [LegacyLanguages.vbscript]: () => import('@codemirror/legacy-modes/mode/vbscript').then(({ vbScript }) => StreamLanguage.define(vbScript)),
103
+ [LegacyLanguages.velocity]: () => import('@codemirror/legacy-modes/mode/velocity').then(({ velocity }) => StreamLanguage.define(velocity)),
104
+ [LegacyLanguages.verilog]: () => import('@codemirror/legacy-modes/mode/verilog').then(({ verilog }) => StreamLanguage.define(verilog)),
105
+ [LegacyLanguages.vhdl]: () => import('@codemirror/legacy-modes/mode/vhdl').then(({ vhdl }) => StreamLanguage.define(vhdl)),
106
+ [LegacyLanguages.webidl]: () => import('@codemirror/legacy-modes/mode/webidl').then(({ webIDL }) => StreamLanguage.define(webIDL)),
107
+ [LegacyLanguages.xquery]: () => import('@codemirror/legacy-modes/mode/xquery').then(({ xQuery }) => StreamLanguage.define(xQuery)),
108
+ [LegacyLanguages.yacas]: () => import('@codemirror/legacy-modes/mode/yacas').then(({ yacas }) => StreamLanguage.define(yacas)),
109
+ [LegacyLanguages.yaml]: () => import('@codemirror/legacy-modes/mode/yaml').then(({ yaml }) => StreamLanguage.define(yaml)),
110
+ [LegacyLanguages.z80]: () => import('@codemirror/legacy-modes/mode/z80').then(({ z80 }) => StreamLanguage.define(z80)),
111
+ };
112
+ export default languageLoaders;
@@ -0,0 +1,109 @@
1
+ export declare enum CodeBlockLanguages {
2
+ javascript = "javascript",
3
+ html = "html",
4
+ css = "css",
5
+ sql = "sql",
6
+ python = "python",
7
+ rust = "rust",
8
+ xml = "xml",
9
+ json = "json",
10
+ markdown = "markdown",
11
+ java = "java",
12
+ cpp = "cpp",
13
+ lezer = "lezer",
14
+ php = "php",
15
+ wast = "wast"
16
+ }
17
+ export declare enum LegacyLanguages {
18
+ apl = "apl",
19
+ asciiarmor = "asciiarmor",
20
+ asn1 = "asn1",
21
+ asterisk = "asterisk",
22
+ brainfuck = "brainfuck",
23
+ clike = "clike",
24
+ clojure = "clojure",
25
+ cmake = "cmake",
26
+ cobol = "cobol",
27
+ coffeescript = "coffeescript",
28
+ commonlisp = "commonlisp",
29
+ crystal = "crystal",
30
+ cypher = "cypher",
31
+ d = "d",
32
+ diff = "diff",
33
+ dockerfile = "dockerfile",
34
+ dtd = "dtd",
35
+ dylan = "dylan",
36
+ ebnf = "ebnf",
37
+ ecl = "ecl",
38
+ eiffel = "eiffel",
39
+ elm = "elm",
40
+ erlang = "erlang",
41
+ factor = "factor",
42
+ fcl = "fcl",
43
+ forth = "forth",
44
+ fortran = "fortran",
45
+ gas = "gas",
46
+ gherkin = "gherkin",
47
+ go = "go",
48
+ groovy = "groovy",
49
+ haskell = "haskell",
50
+ haxe = "haxe",
51
+ http = "http",
52
+ idl = "idl",
53
+ jinja2 = "jinja2",
54
+ julia = "julia",
55
+ livescript = "livescript",
56
+ lua = "lua",
57
+ mathematica = "mathematica",
58
+ mbox = "mbox",
59
+ mirc = "mirc",
60
+ mllike = "mllike",
61
+ modelica = "modelica",
62
+ mscgen = "mscgen",
63
+ mumps = "mumps",
64
+ nginx = "nginx",
65
+ nsis = "nsis",
66
+ ntriples = "ntriples",
67
+ octave = "octave",
68
+ oz = "oz",
69
+ pascal = "pascal",
70
+ perl = "perl",
71
+ pig = "pig",
72
+ powershell = "powershell",
73
+ properties = "properties",
74
+ protobuf = "protobuf",
75
+ puppet = "puppet",
76
+ q = "q",
77
+ r = "r",
78
+ rpm = "rpm",
79
+ ruby = "ruby",
80
+ sas = "sas",
81
+ scheme = "scheme",
82
+ shell = "shell",
83
+ smalltalk = "smalltalk",
84
+ solr = "solr",
85
+ sparql = "sparql",
86
+ spreadsheet = "spreadsheet",
87
+ stex = "stex",
88
+ stylus = "stylus",
89
+ swift = "swift",
90
+ tcl = "tcl",
91
+ textile = "textile",
92
+ tiddlywiki = "tiddlywiki",
93
+ tiki = "tiki",
94
+ toml = "toml",
95
+ troff = "troff",
96
+ ttcn = "ttcn",
97
+ turtle = "turtle",
98
+ vb = "vb",
99
+ vbscript = "vbscript",
100
+ velocity = "velocity",
101
+ verilog = "verilog",
102
+ vhdl = "vhdl",
103
+ webidl = "webidl",
104
+ xquery = "xquery",
105
+ yacas = "yacas",
106
+ yaml = "yaml",
107
+ z80 = "z80"
108
+ }
109
+ //# sourceMappingURL=languages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,oBAAY,eAAe;IACzB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,CAAC,MAAM;IACP,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,CAAC,MAAM;IACP,CAAC,MAAM;IACP,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ"}
@@ -0,0 +1,110 @@
1
+ export var CodeBlockLanguages;
2
+ (function (CodeBlockLanguages) {
3
+ CodeBlockLanguages["javascript"] = "javascript";
4
+ CodeBlockLanguages["html"] = "html";
5
+ CodeBlockLanguages["css"] = "css";
6
+ CodeBlockLanguages["sql"] = "sql";
7
+ CodeBlockLanguages["python"] = "python";
8
+ CodeBlockLanguages["rust"] = "rust";
9
+ CodeBlockLanguages["xml"] = "xml";
10
+ CodeBlockLanguages["json"] = "json";
11
+ CodeBlockLanguages["markdown"] = "markdown";
12
+ CodeBlockLanguages["java"] = "java";
13
+ CodeBlockLanguages["cpp"] = "cpp";
14
+ CodeBlockLanguages["lezer"] = "lezer";
15
+ CodeBlockLanguages["php"] = "php";
16
+ CodeBlockLanguages["wast"] = "wast";
17
+ })(CodeBlockLanguages || (CodeBlockLanguages = {}));
18
+ export var LegacyLanguages;
19
+ (function (LegacyLanguages) {
20
+ LegacyLanguages["apl"] = "apl";
21
+ LegacyLanguages["asciiarmor"] = "asciiarmor";
22
+ LegacyLanguages["asn1"] = "asn1";
23
+ LegacyLanguages["asterisk"] = "asterisk";
24
+ LegacyLanguages["brainfuck"] = "brainfuck";
25
+ LegacyLanguages["clike"] = "clike";
26
+ LegacyLanguages["clojure"] = "clojure";
27
+ LegacyLanguages["cmake"] = "cmake";
28
+ LegacyLanguages["cobol"] = "cobol";
29
+ LegacyLanguages["coffeescript"] = "coffeescript";
30
+ LegacyLanguages["commonlisp"] = "commonlisp";
31
+ LegacyLanguages["crystal"] = "crystal";
32
+ LegacyLanguages["cypher"] = "cypher";
33
+ LegacyLanguages["d"] = "d";
34
+ LegacyLanguages["diff"] = "diff";
35
+ LegacyLanguages["dockerfile"] = "dockerfile";
36
+ LegacyLanguages["dtd"] = "dtd";
37
+ LegacyLanguages["dylan"] = "dylan";
38
+ LegacyLanguages["ebnf"] = "ebnf";
39
+ LegacyLanguages["ecl"] = "ecl";
40
+ LegacyLanguages["eiffel"] = "eiffel";
41
+ LegacyLanguages["elm"] = "elm";
42
+ LegacyLanguages["erlang"] = "erlang";
43
+ LegacyLanguages["factor"] = "factor";
44
+ LegacyLanguages["fcl"] = "fcl";
45
+ LegacyLanguages["forth"] = "forth";
46
+ LegacyLanguages["fortran"] = "fortran";
47
+ LegacyLanguages["gas"] = "gas";
48
+ LegacyLanguages["gherkin"] = "gherkin";
49
+ LegacyLanguages["go"] = "go";
50
+ LegacyLanguages["groovy"] = "groovy";
51
+ LegacyLanguages["haskell"] = "haskell";
52
+ LegacyLanguages["haxe"] = "haxe";
53
+ LegacyLanguages["http"] = "http";
54
+ LegacyLanguages["idl"] = "idl";
55
+ LegacyLanguages["jinja2"] = "jinja2";
56
+ LegacyLanguages["julia"] = "julia";
57
+ LegacyLanguages["livescript"] = "livescript";
58
+ LegacyLanguages["lua"] = "lua";
59
+ LegacyLanguages["mathematica"] = "mathematica";
60
+ LegacyLanguages["mbox"] = "mbox";
61
+ LegacyLanguages["mirc"] = "mirc";
62
+ LegacyLanguages["mllike"] = "mllike";
63
+ LegacyLanguages["modelica"] = "modelica";
64
+ LegacyLanguages["mscgen"] = "mscgen";
65
+ LegacyLanguages["mumps"] = "mumps";
66
+ LegacyLanguages["nginx"] = "nginx";
67
+ LegacyLanguages["nsis"] = "nsis";
68
+ LegacyLanguages["ntriples"] = "ntriples";
69
+ LegacyLanguages["octave"] = "octave";
70
+ LegacyLanguages["oz"] = "oz";
71
+ LegacyLanguages["pascal"] = "pascal";
72
+ LegacyLanguages["perl"] = "perl";
73
+ LegacyLanguages["pig"] = "pig";
74
+ LegacyLanguages["powershell"] = "powershell";
75
+ LegacyLanguages["properties"] = "properties";
76
+ LegacyLanguages["protobuf"] = "protobuf";
77
+ LegacyLanguages["puppet"] = "puppet";
78
+ LegacyLanguages["q"] = "q";
79
+ LegacyLanguages["r"] = "r";
80
+ LegacyLanguages["rpm"] = "rpm";
81
+ LegacyLanguages["ruby"] = "ruby";
82
+ LegacyLanguages["sas"] = "sas";
83
+ LegacyLanguages["scheme"] = "scheme";
84
+ LegacyLanguages["shell"] = "shell";
85
+ LegacyLanguages["smalltalk"] = "smalltalk";
86
+ LegacyLanguages["solr"] = "solr";
87
+ LegacyLanguages["sparql"] = "sparql";
88
+ LegacyLanguages["spreadsheet"] = "spreadsheet";
89
+ LegacyLanguages["stex"] = "stex";
90
+ LegacyLanguages["stylus"] = "stylus";
91
+ LegacyLanguages["swift"] = "swift";
92
+ LegacyLanguages["tcl"] = "tcl";
93
+ LegacyLanguages["textile"] = "textile";
94
+ LegacyLanguages["tiddlywiki"] = "tiddlywiki";
95
+ LegacyLanguages["tiki"] = "tiki";
96
+ LegacyLanguages["toml"] = "toml";
97
+ LegacyLanguages["troff"] = "troff";
98
+ LegacyLanguages["ttcn"] = "ttcn";
99
+ LegacyLanguages["turtle"] = "turtle";
100
+ LegacyLanguages["vb"] = "vb";
101
+ LegacyLanguages["vbscript"] = "vbscript";
102
+ LegacyLanguages["velocity"] = "velocity";
103
+ LegacyLanguages["verilog"] = "verilog";
104
+ LegacyLanguages["vhdl"] = "vhdl";
105
+ LegacyLanguages["webidl"] = "webidl";
106
+ LegacyLanguages["xquery"] = "xquery";
107
+ LegacyLanguages["yacas"] = "yacas";
108
+ LegacyLanguages["yaml"] = "yaml";
109
+ LegacyLanguages["z80"] = "z80";
110
+ })(LegacyLanguages || (LegacyLanguages = {}));
@@ -0,0 +1,14 @@
1
+ import { Extension } from '@codemirror/state';
2
+ import type { CoreEditor } from '@kerebron/editor';
3
+ import type { ExtensionLsp } from '@kerebron/extension-lsp';
4
+ export interface LSPExtensionConfig {
5
+ extensions?: readonly Extension[];
6
+ getPos: () => number | undefined;
7
+ }
8
+ export declare class LSPExtension {
9
+ readonly config: LSPExtensionConfig;
10
+ extensions: Extension[];
11
+ constructor(config: LSPExtensionConfig);
12
+ plugin(extensionLsp: ExtensionLsp, editor: CoreEditor): Extension;
13
+ }
14
+ //# sourceMappingURL=LSPExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LSPExtension.d.ts","sourceRoot":"","sources":["../../src/lsp/LSPExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,qBAAa,YAAY;IAIrB,QAAQ,CAAC,MAAM,EAAE,kBAAkB;IAHrC,UAAU,EAAE,SAAS,EAAE,CAAM;gBAGlB,MAAM,EAAE,kBAAkB;IASrC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS;CAelE"}
@@ -0,0 +1,29 @@
1
+ import { lspPlugin } from './plugin.js';
2
+ import { lspTheme } from './theme.js';
3
+ export class LSPExtension {
4
+ config;
5
+ extensions = [];
6
+ constructor(config) {
7
+ this.config = config;
8
+ if (config.extensions) {
9
+ for (const ext of config.extensions) {
10
+ this.extensions.push(ext);
11
+ }
12
+ }
13
+ }
14
+ plugin(extensionLsp, editor) {
15
+ if (!editor.config.uri) {
16
+ throw new Error('No editor.config.uri');
17
+ }
18
+ return [
19
+ lspPlugin.of({
20
+ extension: this,
21
+ editor,
22
+ extensionLsp,
23
+ uri: editor.config.uri,
24
+ }),
25
+ lspTheme,
26
+ this.extensions,
27
+ ];
28
+ }
29
+ }
@@ -0,0 +1,8 @@
1
+ import { Extension } from '@codemirror/state';
2
+ import { CompletionSource } from '@codemirror/autocomplete';
3
+ export declare function serverCompletion(config?: {
4
+ override?: boolean;
5
+ validFor?: RegExp;
6
+ }): Extension;
7
+ export declare const serverCompletionSource: CompletionSource;
8
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/lsp/completion.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,EAAS,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAIL,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,gBAAgB,CAAC,MAAM,GAAE;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,SAAS,CAYjB;AAiED,eAAO,MAAM,sBAAsB,EAAE,gBAiFpC,CAAC"}
@@ -0,0 +1,179 @@
1
+ import { EditorState, Facet } from '@codemirror/state';
2
+ import { autocompletion, snippet, } from '@codemirror/autocomplete';
3
+ import { LSPPlugin } from './plugin.js';
4
+ import { CompletionTriggerKind } from 'vscode-languageserver-protocol';
5
+ export function serverCompletion(config = {}) {
6
+ let result;
7
+ if (config.override) {
8
+ result = [autocompletion({ override: [serverCompletionSource] })];
9
+ }
10
+ else {
11
+ const data = [{ autocomplete: serverCompletionSource }];
12
+ result = [autocompletion(), EditorState.languageData.of(() => data)];
13
+ }
14
+ if (config.validFor) {
15
+ result.push(completionConfig.of({ validFor: config.validFor }));
16
+ }
17
+ return result;
18
+ }
19
+ const completionConfig = Facet.define({
20
+ combine: (results) => results.length ? results[0] : { validFor: null },
21
+ });
22
+ async function getCompletions(plugin, pos, context, abort) {
23
+ const client = plugin.extensionLsp.getClient(plugin.lang);
24
+ if (!client) {
25
+ return [];
26
+ }
27
+ if (client.hasCapability('completionProvider') === false) {
28
+ null;
29
+ }
30
+ client.sync();
31
+ const params = {
32
+ position: plugin.toPosition(pos),
33
+ textDocument: { uri: plugin.uri },
34
+ context,
35
+ };
36
+ if (abort) {
37
+ abort.addEventListener('abort', () => client.cancelRequest(params));
38
+ }
39
+ const result = await client.request('textDocument/completion', params);
40
+ return result;
41
+ }
42
+ // Look for non-alphanumeric prefixes in the completions, and return a
43
+ // regexp that matches them, to use in validFor
44
+ function prefixRegexp(items) {
45
+ let step = Math.ceil(items.length / 50), prefixes = [];
46
+ for (let i = 0; i < items.length; i += step) {
47
+ let item = items[i], text = item.textEdit?.newText || item.textEditText || item.insertText ||
48
+ item.label;
49
+ if (!/^\w/.test(text)) {
50
+ let prefix = /^[^\w]*/.exec(text)[0];
51
+ if (prefixes.indexOf(prefix) < 0)
52
+ prefixes.push(prefix);
53
+ }
54
+ }
55
+ if (!prefixes.length)
56
+ return /^\w*$/;
57
+ return new RegExp('^(?:' + prefixes.map(RegExp.escape || ((s) => s.replace(/[^\w\s]/g, '\\$&'))).join('|') + ')?\\w*$');
58
+ }
59
+ /// A completion source that requests completions from a language
60
+ /// server.
61
+ export const serverCompletionSource = async (context) => {
62
+ const plugin = context.view && LSPPlugin.get(context.view);
63
+ if (!plugin)
64
+ return null;
65
+ let triggerChar = '';
66
+ if (!context.explicit) {
67
+ triggerChar = context.view.state.sliceDoc(context.pos - 1, context.pos);
68
+ const client = plugin.extensionLsp.getClient(plugin.lang);
69
+ if (!client) {
70
+ return null;
71
+ }
72
+ const triggers = client.serverCapabilities?.completionProvider
73
+ ?.triggerCharacters;
74
+ if (!/[a-zA-Z_]/.test(triggerChar) &&
75
+ !(triggers && triggers.indexOf(triggerChar) > -1))
76
+ return null;
77
+ }
78
+ try {
79
+ let result = await getCompletions(plugin, context.pos, {
80
+ triggerCharacter: triggerChar,
81
+ triggerKind: context.explicit
82
+ ? CompletionTriggerKind.Invoked
83
+ : CompletionTriggerKind.TriggerCharacter,
84
+ }, context);
85
+ if (!result)
86
+ return null;
87
+ if (Array.isArray(result)) {
88
+ result = { items: result };
89
+ }
90
+ const { from, to } = completionResultRange(context, result);
91
+ const defaultCommitChars = result.itemDefaults?.commitCharacters;
92
+ const config = context.state.facet(completionConfig);
93
+ const options = result.items.map((item) => {
94
+ let text = item.textEdit?.newText || item.textEditText ||
95
+ item.insertText || item.label;
96
+ let option = {
97
+ label: text,
98
+ type: item.kind && kindToType[item.kind],
99
+ };
100
+ if (item.commitCharacters && item.commitCharacters != defaultCommitChars) {
101
+ option.commitCharacters = item.commitCharacters;
102
+ }
103
+ if (item.detail)
104
+ option.detail = item.detail;
105
+ if (item.insertTextFormat == 2 /* Snippet */) {
106
+ option.apply = (view, c, from, to) => snippet(text)(view, c, from, to);
107
+ option.label = item.label;
108
+ }
109
+ if (item.documentation) {
110
+ option.info = () => renderDocInfo(plugin, item.documentation);
111
+ }
112
+ return option;
113
+ });
114
+ return {
115
+ from,
116
+ to,
117
+ options,
118
+ commitCharacters: defaultCommitChars,
119
+ validFor: config.validFor ?? prefixRegexp(result.items),
120
+ map: (result, changes) => ({
121
+ ...result,
122
+ from: changes.mapPos(result.from),
123
+ }),
124
+ };
125
+ }
126
+ catch (err) {
127
+ if ('code' in err &&
128
+ err.code == -32800 /* RequestCancelled */) {
129
+ return null;
130
+ }
131
+ throw err;
132
+ }
133
+ };
134
+ function completionResultRange(cx, result) {
135
+ if (!result.items.length) {
136
+ return { from: cx.pos, to: cx.pos };
137
+ }
138
+ const defaultRange = result.itemDefaults?.editRange;
139
+ const item0 = result.items[0];
140
+ const range = defaultRange
141
+ ? ('insert' in defaultRange ? defaultRange.insert : defaultRange)
142
+ : item0.textEdit
143
+ ? ('range' in item0.textEdit ? item0.textEdit.range : item0.textEdit.insert)
144
+ : null;
145
+ if (!range)
146
+ return cx.state.wordAt(cx.pos) || { from: cx.pos, to: cx.pos };
147
+ const line = cx.state.doc.lineAt(cx.pos);
148
+ return {
149
+ from: line.from + range.start.character,
150
+ to: line.from + range.end.character,
151
+ };
152
+ }
153
+ function renderDocInfo(plugin, doc) {
154
+ let elt = document.createElement('div');
155
+ elt.className = 'cm-lsp-documentation cm-lsp-completion-documentation';
156
+ elt.innerHTML = plugin.docToHTML(doc);
157
+ return elt;
158
+ }
159
+ const kindToType = {
160
+ 1: 'text', // Text
161
+ 2: 'method', // Method
162
+ 3: 'function', // Function
163
+ 4: 'class', // Constructor
164
+ 5: 'property', // Field
165
+ 6: 'variable', // Variable
166
+ 7: 'class', // Class
167
+ 8: 'interface', // Interface
168
+ 9: 'namespace', // Module
169
+ 10: 'property', // Property
170
+ 11: 'keyword', // Unit
171
+ 12: 'constant', // Value
172
+ 13: 'constant', // Enum
173
+ 14: 'keyword', // Keyword
174
+ 16: 'constant', // Color
175
+ 20: 'constant', // EnumMember
176
+ 21: 'constant', // Constant
177
+ 22: 'class', // Struct
178
+ 25: 'type', // TypeParameter
179
+ };
@@ -0,0 +1,5 @@
1
+ import { Extension } from '@codemirror/state';
2
+ export declare function hoverTooltips(config?: {
3
+ hoverTime?: number;
4
+ }): Extension;
5
+ //# sourceMappingURL=hover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../src/lsp/hover.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAa9C,wBAAgB,aAAa,CAAC,MAAM,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,CAK5E"}