@kerebron/extension-codejar 0.4.5 → 0.4.7

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 (248) hide show
  1. package/esm/{extension-codejar/src/CodeJar.d.ts → CodeJar.d.ts} +1 -1
  2. package/esm/CodeJar.d.ts.map +1 -0
  3. package/esm/{extension-codejar/src/CodeJar.js → CodeJar.js} +1 -1
  4. package/esm/Decorator.d.ts.map +1 -0
  5. package/esm/{extension-codejar/src/ExtensionCodeJar.d.ts → ExtensionCodeJar.d.ts} +1 -1
  6. package/esm/ExtensionCodeJar.d.ts.map +1 -0
  7. package/esm/{extension-codejar/src/ExtensionCodeJar.js → ExtensionCodeJar.js} +2 -2
  8. package/esm/{extension-codejar/src/NodeCodeJar.d.ts → NodeCodeJar.d.ts} +3 -3
  9. package/esm/NodeCodeJar.d.ts.map +1 -0
  10. package/esm/{extension-codejar/src/NodeCodeJar.js → NodeCodeJar.js} +3 -3
  11. package/esm/{extension-codejar/src/TreeSitterHighlighter.d.ts → TreeSitterHighlighter.d.ts} +1 -1
  12. package/esm/TreeSitterHighlighter.d.ts.map +1 -0
  13. package/esm/{extension-codejar/src/TreeSitterHighlighter.js → TreeSitterHighlighter.js} +3 -8
  14. package/esm/{extension-codejar/src/codeJarBlockNodeView.d.ts → codeJarBlockNodeView.d.ts} +1 -1
  15. package/esm/codeJarBlockNodeView.d.ts.map +1 -0
  16. package/esm/{extension-codejar/src/codeJarBlockNodeView.js → codeJarBlockNodeView.js} +2 -2
  17. package/esm/codeJarLineNumbers.d.ts.map +1 -0
  18. package/esm/mod.d.ts +2 -0
  19. package/esm/mod.d.ts.map +1 -0
  20. package/esm/{extension-codejar/src/mod.js → mod.js} +0 -1
  21. package/esm/utils.d.ts.map +1 -0
  22. package/package.json +10 -6
  23. package/esm/_dnt.polyfills.d.ts +0 -101
  24. package/esm/_dnt.polyfills.d.ts.map +0 -1
  25. package/esm/_dnt.polyfills.js +0 -127
  26. package/esm/editor/src/CoreEditor.d.ts +0 -40
  27. package/esm/editor/src/CoreEditor.d.ts.map +0 -1
  28. package/esm/editor/src/CoreEditor.js +0 -252
  29. package/esm/editor/src/DummyEditorView.d.ts +0 -60
  30. package/esm/editor/src/DummyEditorView.d.ts.map +0 -1
  31. package/esm/editor/src/DummyEditorView.js +0 -277
  32. package/esm/editor/src/Extension.d.ts +0 -31
  33. package/esm/editor/src/Extension.d.ts.map +0 -1
  34. package/esm/editor/src/Extension.js +0 -53
  35. package/esm/editor/src/ExtensionManager.d.ts +0 -32
  36. package/esm/editor/src/ExtensionManager.d.ts.map +0 -1
  37. package/esm/editor/src/ExtensionManager.js +0 -260
  38. package/esm/editor/src/Mark.d.ts +0 -23
  39. package/esm/editor/src/Mark.d.ts.map +0 -1
  40. package/esm/editor/src/Mark.js +0 -51
  41. package/esm/editor/src/Node.d.ts +0 -32
  42. package/esm/editor/src/Node.d.ts.map +0 -1
  43. package/esm/editor/src/Node.js +0 -60
  44. package/esm/editor/src/commands/CommandManager.d.ts +0 -23
  45. package/esm/editor/src/commands/CommandManager.d.ts.map +0 -1
  46. package/esm/editor/src/commands/CommandManager.js +0 -118
  47. package/esm/editor/src/commands/baseCommandFactories.d.ts +0 -3
  48. package/esm/editor/src/commands/baseCommandFactories.d.ts.map +0 -1
  49. package/esm/editor/src/commands/baseCommandFactories.js +0 -836
  50. package/esm/editor/src/commands/createChainableState.d.ts +0 -3
  51. package/esm/editor/src/commands/createChainableState.d.ts.map +0 -1
  52. package/esm/editor/src/commands/createChainableState.js +0 -29
  53. package/esm/editor/src/commands/keyCommandFactories.d.ts +0 -3
  54. package/esm/editor/src/commands/keyCommandFactories.d.ts.map +0 -1
  55. package/esm/editor/src/commands/keyCommandFactories.js +0 -10
  56. package/esm/editor/src/commands/mod.d.ts +0 -7
  57. package/esm/editor/src/commands/mod.d.ts.map +0 -1
  58. package/esm/editor/src/commands/mod.js +0 -76
  59. package/esm/editor/src/commands/replaceCommandFactories.d.ts +0 -3
  60. package/esm/editor/src/commands/replaceCommandFactories.d.ts.map +0 -1
  61. package/esm/editor/src/commands/replaceCommandFactories.js +0 -94
  62. package/esm/editor/src/commands/types.d.ts +0 -18
  63. package/esm/editor/src/commands/types.d.ts.map +0 -1
  64. package/esm/editor/src/commands/types.js +0 -1
  65. package/esm/editor/src/mod.d.ts +0 -9
  66. package/esm/editor/src/mod.d.ts.map +0 -1
  67. package/esm/editor/src/mod.js +0 -8
  68. package/esm/editor/src/nodeToTreeString.d.ts +0 -10
  69. package/esm/editor/src/nodeToTreeString.d.ts.map +0 -1
  70. package/esm/editor/src/nodeToTreeString.js +0 -74
  71. package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts +0 -6
  72. package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts.map +0 -1
  73. package/esm/editor/src/plugins/TrackSelecionPlugin.js +0 -24
  74. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.d.ts +0 -23
  75. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.d.ts.map +0 -1
  76. package/esm/editor/src/plugins/input-rules/InputRulesPlugin.js +0 -163
  77. package/esm/editor/src/plugins/input-rules/mod.d.ts +0 -3
  78. package/esm/editor/src/plugins/input-rules/mod.d.ts.map +0 -1
  79. package/esm/editor/src/plugins/input-rules/mod.js +0 -2
  80. package/esm/editor/src/plugins/input-rules/rulebuilders.d.ts +0 -5
  81. package/esm/editor/src/plugins/input-rules/rulebuilders.d.ts.map +0 -1
  82. package/esm/editor/src/plugins/input-rules/rulebuilders.js +0 -50
  83. package/esm/editor/src/plugins/keymap/keymap.d.ts +0 -11
  84. package/esm/editor/src/plugins/keymap/keymap.d.ts.map +0 -1
  85. package/esm/editor/src/plugins/keymap/keymap.js +0 -125
  86. package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts +0 -4
  87. package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts.map +0 -1
  88. package/esm/editor/src/plugins/keymap/w3c-keyname.js +0 -124
  89. package/esm/editor/src/types.d.ts +0 -52
  90. package/esm/editor/src/types.d.ts.map +0 -1
  91. package/esm/editor/src/types.js +0 -1
  92. package/esm/editor/src/ui.d.ts +0 -15
  93. package/esm/editor/src/ui.d.ts.map +0 -1
  94. package/esm/editor/src/ui.js +0 -16
  95. package/esm/editor/src/utilities/SmartOutput.d.ts +0 -41
  96. package/esm/editor/src/utilities/SmartOutput.d.ts.map +0 -1
  97. package/esm/editor/src/utilities/SmartOutput.js +0 -228
  98. package/esm/editor/src/utilities/createNodeFromContent.d.ts +0 -9
  99. package/esm/editor/src/utilities/createNodeFromContent.d.ts.map +0 -1
  100. package/esm/editor/src/utilities/createNodeFromContent.js +0 -32
  101. package/esm/editor/src/utilities/getHtmlAttributes.d.ts +0 -9
  102. package/esm/editor/src/utilities/getHtmlAttributes.d.ts.map +0 -1
  103. package/esm/editor/src/utilities/getHtmlAttributes.js +0 -47
  104. package/esm/editor/src/utilities/getShadowRoot.d.ts +0 -2
  105. package/esm/editor/src/utilities/getShadowRoot.d.ts.map +0 -1
  106. package/esm/editor/src/utilities/getShadowRoot.js +0 -16
  107. package/esm/editor/src/utilities/mod.d.ts +0 -6
  108. package/esm/editor/src/utilities/mod.d.ts.map +0 -1
  109. package/esm/editor/src/utilities/mod.js +0 -5
  110. package/esm/editor/src/utilities/toRawTextResult.d.ts +0 -3
  111. package/esm/editor/src/utilities/toRawTextResult.d.ts.map +0 -1
  112. package/esm/editor/src/utilities/toRawTextResult.js +0 -21
  113. package/esm/extension-autocomplete/src/AutocompletePlugin.d.ts +0 -8
  114. package/esm/extension-autocomplete/src/AutocompletePlugin.d.ts.map +0 -1
  115. package/esm/extension-autocomplete/src/AutocompletePlugin.js +0 -232
  116. package/esm/extension-autocomplete/src/DefaultRenderer.d.ts +0 -17
  117. package/esm/extension-autocomplete/src/DefaultRenderer.d.ts.map +0 -1
  118. package/esm/extension-autocomplete/src/DefaultRenderer.js +0 -137
  119. package/esm/extension-autocomplete/src/ExtensionAutocomplete.d.ts +0 -26
  120. package/esm/extension-autocomplete/src/ExtensionAutocomplete.d.ts.map +0 -1
  121. package/esm/extension-autocomplete/src/ExtensionAutocomplete.js +0 -30
  122. package/esm/extension-autocomplete/src/createDefaultMatcher.d.ts +0 -11
  123. package/esm/extension-autocomplete/src/createDefaultMatcher.d.ts.map +0 -1
  124. package/esm/extension-autocomplete/src/createDefaultMatcher.js +0 -58
  125. package/esm/extension-autocomplete/src/createRegexMatcher.d.ts +0 -4
  126. package/esm/extension-autocomplete/src/createRegexMatcher.d.ts.map +0 -1
  127. package/esm/extension-autocomplete/src/createRegexMatcher.js +0 -50
  128. package/esm/extension-autocomplete/src/mod.d.ts +0 -3
  129. package/esm/extension-autocomplete/src/mod.d.ts.map +0 -1
  130. package/esm/extension-autocomplete/src/mod.js +0 -2
  131. package/esm/extension-autocomplete/src/types.d.ts +0 -60
  132. package/esm/extension-autocomplete/src/types.d.ts.map +0 -1
  133. package/esm/extension-autocomplete/src/types.js +0 -1
  134. package/esm/extension-basic-editor/src/ExtensionHtml.d.ts +0 -15
  135. package/esm/extension-basic-editor/src/ExtensionHtml.d.ts.map +0 -1
  136. package/esm/extension-basic-editor/src/ExtensionHtml.js +0 -108
  137. package/esm/extension-basic-editor/src/NodeCodeBlock.d.ts +0 -9
  138. package/esm/extension-basic-editor/src/NodeCodeBlock.d.ts.map +0 -1
  139. package/esm/extension-basic-editor/src/NodeCodeBlock.js +0 -58
  140. package/esm/extension-codejar/src/CodeJar.d.ts.map +0 -1
  141. package/esm/extension-codejar/src/Decorator.d.ts.map +0 -1
  142. package/esm/extension-codejar/src/ExtensionCodeJar.d.ts.map +0 -1
  143. package/esm/extension-codejar/src/NodeCodeJar.d.ts.map +0 -1
  144. package/esm/extension-codejar/src/TreeSitterHighlighter.d.ts.map +0 -1
  145. package/esm/extension-codejar/src/codeJarBlockNodeView.d.ts.map +0 -1
  146. package/esm/extension-codejar/src/codeJarLineNumbers.d.ts.map +0 -1
  147. package/esm/extension-codejar/src/mod.d.ts +0 -3
  148. package/esm/extension-codejar/src/mod.d.ts.map +0 -1
  149. package/esm/extension-codejar/src/utils.d.ts.map +0 -1
  150. package/esm/extension-lsp/src/DiagnosticPlugin.d.ts +0 -32
  151. package/esm/extension-lsp/src/DiagnosticPlugin.d.ts.map +0 -1
  152. package/esm/extension-lsp/src/DiagnosticPlugin.js +0 -131
  153. package/esm/extension-lsp/src/ExtensionLsp.d.ts +0 -25
  154. package/esm/extension-lsp/src/ExtensionLsp.d.ts.map +0 -1
  155. package/esm/extension-lsp/src/ExtensionLsp.js +0 -126
  156. package/esm/extension-lsp/src/LSPClient.d.ts +0 -56
  157. package/esm/extension-lsp/src/LSPClient.d.ts.map +0 -1
  158. package/esm/extension-lsp/src/LSPClient.js +0 -449
  159. package/esm/extension-lsp/src/computeIncrementalChanges.d.ts +0 -8
  160. package/esm/extension-lsp/src/computeIncrementalChanges.d.ts.map +0 -1
  161. package/esm/extension-lsp/src/computeIncrementalChanges.js +0 -82
  162. package/esm/extension-lsp/src/createLspAutocomplete.d.ts +0 -23
  163. package/esm/extension-lsp/src/createLspAutocomplete.d.ts.map +0 -1
  164. package/esm/extension-lsp/src/createLspAutocomplete.js +0 -68
  165. package/esm/extension-lsp/src/mod.d.ts +0 -4
  166. package/esm/extension-lsp/src/mod.d.ts.map +0 -1
  167. package/esm/extension-lsp/src/mod.js +0 -3
  168. package/esm/extension-lsp/src/workspace.d.ts +0 -62
  169. package/esm/extension-lsp/src/workspace.d.ts.map +0 -1
  170. package/esm/extension-lsp/src/workspace.js +0 -168
  171. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.d.ts +0 -36
  172. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.d.ts.map +0 -1
  173. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.js +0 -240
  174. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.d.ts +0 -26
  175. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.d.ts.map +0 -1
  176. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.js +0 -115
  177. package/esm/extension-markdown/src/ExtensionMarkdown.d.ts +0 -22
  178. package/esm/extension-markdown/src/ExtensionMarkdown.d.ts.map +0 -1
  179. package/esm/extension-markdown/src/ExtensionMarkdown.js +0 -48
  180. package/esm/extension-markdown/src/MarkdownParser.d.ts +0 -61
  181. package/esm/extension-markdown/src/MarkdownParser.d.ts.map +0 -1
  182. package/esm/extension-markdown/src/MarkdownParser.js +0 -249
  183. package/esm/extension-markdown/src/MarkdownSerializer.d.ts +0 -42
  184. package/esm/extension-markdown/src/MarkdownSerializer.d.ts.map +0 -1
  185. package/esm/extension-markdown/src/MarkdownSerializer.js +0 -325
  186. package/esm/extension-markdown/src/PositionMapper.d.ts +0 -15
  187. package/esm/extension-markdown/src/PositionMapper.d.ts.map +0 -1
  188. package/esm/extension-markdown/src/PositionMapper.js +0 -100
  189. package/esm/extension-markdown/src/TokenSource.d.ts +0 -11
  190. package/esm/extension-markdown/src/TokenSource.d.ts.map +0 -1
  191. package/esm/extension-markdown/src/TokenSource.js +0 -39
  192. package/esm/extension-markdown/src/mdToPmConverter.d.ts +0 -5
  193. package/esm/extension-markdown/src/mdToPmConverter.d.ts.map +0 -1
  194. package/esm/extension-markdown/src/mdToPmConverter.js +0 -111
  195. package/esm/extension-markdown/src/pmToMdConverter.d.ts +0 -16
  196. package/esm/extension-markdown/src/pmToMdConverter.d.ts.map +0 -1
  197. package/esm/extension-markdown/src/pmToMdConverter.js +0 -433
  198. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.d.ts +0 -4
  199. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.d.ts.map +0 -1
  200. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.js +0 -151
  201. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.d.ts +0 -3
  202. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.d.ts.map +0 -1
  203. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.js +0 -34
  204. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.d.ts +0 -6
  205. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.d.ts.map +0 -1
  206. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.js +0 -380
  207. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.d.ts +0 -3
  208. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.d.ts.map +0 -1
  209. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.js +0 -323
  210. package/esm/extension-markdown/src/token_handlers/table_token_handlers.d.ts +0 -9
  211. package/esm/extension-markdown/src/token_handlers/table_token_handlers.d.ts.map +0 -1
  212. package/esm/extension-markdown/src/token_handlers/table_token_handlers.js +0 -308
  213. package/esm/extension-markdown/src/treeSitterTokenizer.d.ts +0 -5
  214. package/esm/extension-markdown/src/treeSitterTokenizer.d.ts.map +0 -1
  215. package/esm/extension-markdown/src/treeSitterTokenizer.js +0 -769
  216. package/esm/extension-markdown/src/types.d.ts +0 -28
  217. package/esm/extension-markdown/src/types.d.ts.map +0 -1
  218. package/esm/extension-markdown/src/types.js +0 -131
  219. package/esm/extension-markdown/src/utils.d.ts +0 -8
  220. package/esm/extension-markdown/src/utils.d.ts.map +0 -1
  221. package/esm/extension-markdown/src/utils.js +0 -86
  222. package/esm/tree-sitter-shim/src/main.d.ts +0 -15
  223. package/esm/tree-sitter-shim/src/main.d.ts.map +0 -1
  224. package/esm/tree-sitter-shim/src/main.js +0 -25
  225. package/esm/tree-sitter-shim/src/tree_sitter/language.d.ts +0 -7
  226. package/esm/tree-sitter-shim/src/tree_sitter/language.d.ts.map +0 -1
  227. package/esm/tree-sitter-shim/src/tree_sitter/language.js +0 -5
  228. package/esm/tree-sitter-shim/src/tree_sitter/node.d.ts +0 -6
  229. package/esm/tree-sitter-shim/src/tree_sitter/node.d.ts.map +0 -1
  230. package/esm/tree-sitter-shim/src/tree_sitter/node.js +0 -1
  231. package/esm/tree-sitter-shim/src/tree_sitter/parser.d.ts +0 -7
  232. package/esm/tree-sitter-shim/src/tree_sitter/parser.d.ts.map +0 -1
  233. package/esm/tree-sitter-shim/src/tree_sitter/parser.js +0 -5
  234. package/esm/tree-sitter-shim/src/tree_sitter/tree.d.ts +0 -6
  235. package/esm/tree-sitter-shim/src/tree_sitter/tree.d.ts.map +0 -1
  236. package/esm/tree-sitter-shim/src/tree_sitter/tree.js +0 -1
  237. package/esm/wasm/src/mod.d.ts +0 -12
  238. package/esm/wasm/src/mod.d.ts.map +0 -1
  239. package/esm/wasm/src/mod.js +0 -48
  240. package/esm/wasm/wasm.d.ts +0 -138
  241. package/esm/wasm/wasm.d.ts.map +0 -1
  242. package/esm/wasm/wasm.js +0 -120
  243. /package/esm/{extension-codejar/src/Decorator.d.ts → Decorator.d.ts} +0 -0
  244. /package/esm/{extension-codejar/src/Decorator.js → Decorator.js} +0 -0
  245. /package/esm/{extension-codejar/src/codeJarLineNumbers.d.ts → codeJarLineNumbers.d.ts} +0 -0
  246. /package/esm/{extension-codejar/src/codeJarLineNumbers.js → codeJarLineNumbers.js} +0 -0
  247. /package/esm/{extension-codejar/src/utils.d.ts → utils.d.ts} +0 -0
  248. /package/esm/{extension-codejar/src/utils.js → utils.js} +0 -0
@@ -1,449 +0,0 @@
1
- import { MessageType, TextDocumentSyncKind, } from 'vscode-languageserver-protocol';
2
- import { DefaultWorkspace, } from './workspace.js';
3
- const defaultNotificationHandlers = {
4
- 'window/logMessage': (client, params) => {
5
- if (params.type == MessageType.Error) {
6
- console.error('[lsp] ' + params.message);
7
- }
8
- else if (params.type == MessageType.Warning) {
9
- console.warn('[lsp] ' + params.message);
10
- }
11
- else if (params.type == MessageType.Info) {
12
- console.info('[lsp] ' + params.message);
13
- }
14
- else if (params.type == MessageType.Log) {
15
- console.log('[lsp] ' + params.message);
16
- }
17
- },
18
- 'window/showMessage': (client, params) => {
19
- if (params.type > MessageType.Info)
20
- return;
21
- for (const f of client.workspace.files) {
22
- const ui = f.getUi();
23
- if (!ui)
24
- continue;
25
- ui.showMessage(params.message);
26
- }
27
- },
28
- };
29
- class Request {
30
- constructor(id, params, timeout) {
31
- Object.defineProperty(this, "id", {
32
- enumerable: true,
33
- configurable: true,
34
- writable: true,
35
- value: id
36
- });
37
- Object.defineProperty(this, "params", {
38
- enumerable: true,
39
- configurable: true,
40
- writable: true,
41
- value: params
42
- });
43
- Object.defineProperty(this, "timeout", {
44
- enumerable: true,
45
- configurable: true,
46
- writable: true,
47
- value: timeout
48
- });
49
- Object.defineProperty(this, "promise", {
50
- enumerable: true,
51
- configurable: true,
52
- writable: true,
53
- value: void 0
54
- });
55
- this.promise = new Promise((resolve, reject) => {
56
- this.resolve = resolve;
57
- this.reject = reject;
58
- });
59
- }
60
- }
61
- const clientCapabilities = {
62
- general: {
63
- markdown: {
64
- parser: 'marked',
65
- },
66
- },
67
- textDocument: {
68
- publishDiagnostics: { versionSupport: true },
69
- completion: {
70
- completionItem: {
71
- snippetSupport: true,
72
- documentationFormat: ['plaintext', 'markdown'],
73
- insertReplaceSupport: false,
74
- },
75
- completionList: {
76
- itemDefaults: ['commitCharacters', 'editRange', 'insertTextFormat'],
77
- },
78
- completionItemKind: { valueSet: [] },
79
- contextSupport: true,
80
- },
81
- hover: {
82
- contentFormat: ['markdown', 'plaintext'],
83
- },
84
- // formatting: {},
85
- // rename: {},
86
- signatureHelp: {
87
- contextSupport: true,
88
- signatureInformation: {
89
- documentationFormat: ['markdown', 'plaintext'],
90
- parameterInformation: { labelOffsetSupport: true },
91
- activeParameterSupport: true,
92
- },
93
- },
94
- definition: {},
95
- declaration: {},
96
- implementation: {},
97
- typeDefinition: {},
98
- references: {},
99
- diagnostic: {},
100
- },
101
- window: {
102
- showMessage: {},
103
- },
104
- };
105
- export class LSPError extends Error {
106
- constructor() {
107
- super(...arguments);
108
- Object.defineProperty(this, "isTimeout", {
109
- enumerable: true,
110
- configurable: true,
111
- writable: true,
112
- value: false
113
- });
114
- Object.defineProperty(this, "isLSP", {
115
- enumerable: true,
116
- configurable: true,
117
- writable: true,
118
- value: true
119
- });
120
- }
121
- static createTimeout() {
122
- const err = new LSPError('Request timed out');
123
- err.isTimeout = true;
124
- return err;
125
- }
126
- }
127
- export class LSPClient extends EventTarget {
128
- constructor(transport, config = {}) {
129
- super();
130
- Object.defineProperty(this, "transport", {
131
- enumerable: true,
132
- configurable: true,
133
- writable: true,
134
- value: transport
135
- });
136
- Object.defineProperty(this, "config", {
137
- enumerable: true,
138
- configurable: true,
139
- writable: true,
140
- value: config
141
- });
142
- Object.defineProperty(this, "sources", {
143
- enumerable: true,
144
- configurable: true,
145
- writable: true,
146
- value: {}
147
- });
148
- Object.defineProperty(this, "workspace", {
149
- enumerable: true,
150
- configurable: true,
151
- writable: true,
152
- value: void 0
153
- });
154
- Object.defineProperty(this, "nextReqID", {
155
- enumerable: true,
156
- configurable: true,
157
- writable: true,
158
- value: 0
159
- });
160
- Object.defineProperty(this, "requests", {
161
- enumerable: true,
162
- configurable: true,
163
- writable: true,
164
- value: []
165
- });
166
- Object.defineProperty(this, "serverCapabilities", {
167
- enumerable: true,
168
- configurable: true,
169
- writable: true,
170
- value: null
171
- });
172
- Object.defineProperty(this, "supportSync", {
173
- enumerable: true,
174
- configurable: true,
175
- writable: true,
176
- value: TextDocumentSyncKind.None
177
- });
178
- Object.defineProperty(this, "timeout", {
179
- enumerable: true,
180
- configurable: true,
181
- writable: true,
182
- value: void 0
183
- });
184
- Object.defineProperty(this, "initializing", {
185
- enumerable: true,
186
- configurable: true,
187
- writable: true,
188
- value: void 0
189
- });
190
- Object.defineProperty(this, "receiveListener", {
191
- enumerable: true,
192
- configurable: true,
193
- writable: true,
194
- value: void 0
195
- });
196
- Object.defineProperty(this, "active", {
197
- enumerable: true,
198
- configurable: true,
199
- writable: true,
200
- value: false
201
- });
202
- this.timeout = config.timeout ?? 3000;
203
- this.receiveListener = (event) => this.receiveMessage(event);
204
- transport.addEventListener('message', this.receiveListener);
205
- transport.addEventListener('initialized', () => {
206
- try {
207
- console.info('LSP initialized');
208
- this.onInitialized();
209
- }
210
- catch (err) {
211
- if (err.isLSP) {
212
- console.error('Timeout as client.onConnected()', err.message, this.onInitialized);
213
- }
214
- else {
215
- throw err;
216
- }
217
- }
218
- });
219
- transport.addEventListener('open', () => {
220
- this.startInitializing();
221
- });
222
- transport.addEventListener('close', (event) => {
223
- this.active = false;
224
- this.serverCapabilities = null;
225
- this.dispatchEvent(new CloseEvent('close'));
226
- });
227
- this.workspace = config.workspace
228
- ? config.workspace(this)
229
- : new DefaultWorkspace(this);
230
- }
231
- startInitializing() {
232
- if (this.initializing) {
233
- return;
234
- }
235
- this.initializing = setInterval(async () => {
236
- const capabilities = clientCapabilities;
237
- try {
238
- const resp = await this.requestInner('initialize', {
239
- processId: null,
240
- clientInfo: { name: '@kerebron/lsp-client' },
241
- rootUri: this.config.rootUri || null,
242
- capabilities,
243
- }).promise;
244
- this.stopInitializing();
245
- this.serverCapabilities = resp.capabilities;
246
- const sync = this.serverCapabilities.textDocumentSync;
247
- this.supportSync = TextDocumentSyncKind.None;
248
- if (sync) {
249
- this.supportSync = typeof sync == 'number'
250
- ? sync
251
- : sync.change ?? TextDocumentSyncKind.None;
252
- }
253
- // deno-lint-ignore no-empty
254
- }
255
- catch (ignoreConnectErrors) { }
256
- }, this.timeout);
257
- }
258
- stopInitializing() {
259
- if (this.initializing) {
260
- clearInterval(this.initializing);
261
- this.initializing = undefined;
262
- }
263
- }
264
- async restart() {
265
- this.active = true;
266
- if (!this.transport.isConnected()) {
267
- this.transport.connect();
268
- }
269
- else {
270
- this.startInitializing();
271
- }
272
- }
273
- onInitialized() {
274
- this.transport.send(JSON.stringify({ jsonrpc: '2.0', method: 'initialized', params: {} }));
275
- this.workspace.connected();
276
- }
277
- connect(uri, source) {
278
- if (this.sources[uri] && this.sources[uri] !== source) {
279
- throw new Error(`Source for ${uri} already connected`);
280
- }
281
- this.sources[uri] = source;
282
- this.active = true;
283
- if (!this.transport.isConnected()) {
284
- this.transport.connect();
285
- }
286
- }
287
- disconnect(uri) {
288
- delete this.sources[uri];
289
- this.workspace.closeFile(uri);
290
- if (Object.keys(this.sources).length === 0) {
291
- this.active = false;
292
- this.serverCapabilities = null;
293
- this.transport.removeEventListener('data', this.receiveListener);
294
- this.workspace.disconnected();
295
- this.dispatchEvent(new CloseEvent('close'));
296
- }
297
- }
298
- /// Send a `textDocument/didOpen` notification to the server.
299
- async didOpen(file) {
300
- if (!this.transport.isInitialized()) {
301
- return false;
302
- }
303
- await this.notification('textDocument/didOpen', {
304
- textDocument: {
305
- uri: file.uri,
306
- languageId: file.languageId,
307
- text: file.content,
308
- version: file.version,
309
- },
310
- });
311
- return true;
312
- }
313
- /// Send a `textDocument/didClose` notification to the server.
314
- didClose(uri) {
315
- if (!this.transport.isInitialized()) {
316
- return;
317
- }
318
- this.notification('textDocument/didClose', {
319
- textDocument: { uri },
320
- });
321
- }
322
- receiveMessage(event) {
323
- const msg = event.data;
324
- const value = JSON.parse(msg);
325
- if ('id' in value && !('method' in value)) {
326
- const index = this.requests.findIndex((r) => r.id == value.id);
327
- if (index < 0) {
328
- console.warn(`[lsp] Received a response for non-existent request ${value.id}`);
329
- }
330
- else {
331
- const req = this.requests[index];
332
- clearTimeout(req.timeout);
333
- this.requests.splice(index, 1);
334
- if (value.error)
335
- req.reject(value.error);
336
- else
337
- req.resolve(value.result);
338
- }
339
- }
340
- else if (!('id' in value)) {
341
- const event = new CustomEvent(value.method, {
342
- detail: { params: value.params },
343
- });
344
- if (this.dispatchEvent(event)) {
345
- if (this.config.unhandledNotification) {
346
- this.config.unhandledNotification(this, value.method, value.params);
347
- }
348
- else {
349
- if (defaultNotificationHandlers[value.method]) {
350
- defaultNotificationHandlers[value.method](this, value.params);
351
- }
352
- }
353
- }
354
- }
355
- else {
356
- const resp = {
357
- jsonrpc: '2.0',
358
- id: value.id,
359
- error: {
360
- code: -32601, /* MethodNotFound */
361
- message: 'Method not implemented',
362
- },
363
- };
364
- this.transport.send(JSON.stringify(resp));
365
- }
366
- }
367
- async request(method, params) {
368
- if (!this.transport.isConnected()) {
369
- if (this.active) {
370
- this.transport.connect();
371
- }
372
- throw new LSPError('Not connected');
373
- }
374
- const retVal = await this.requestInner(method, params)
375
- .promise;
376
- return retVal;
377
- }
378
- requestInner(method, params, mapped = false) {
379
- if (!this.transport) {
380
- throw new Error('No transport');
381
- }
382
- if (!this.transport.isConnected()) {
383
- if (this.active) {
384
- this.transport.connect();
385
- }
386
- throw new Error('Transport not connected');
387
- }
388
- const id = ++this.nextReqID, data = {
389
- jsonrpc: '2.0',
390
- id,
391
- method,
392
- params: params,
393
- };
394
- const req = new Request(id, params, setTimeout(() => this.timeoutRequest(req, method, id, params), this.timeout));
395
- try {
396
- if (!this.transport) {
397
- throw new LSPError('No transport');
398
- }
399
- this.transport.send(JSON.stringify(data));
400
- this.requests.push(req);
401
- }
402
- catch (e) {
403
- console.error(e);
404
- clearTimeout(req.timeout);
405
- req.reject(e);
406
- }
407
- return req;
408
- }
409
- async notification(method, params) {
410
- if (!this.transport)
411
- return false;
412
- if (!this.transport.isConnected()) {
413
- if (this.active) {
414
- this.transport.connect();
415
- }
416
- return false;
417
- }
418
- if (!this.transport.isInitialized()) {
419
- return false;
420
- }
421
- const data = {
422
- jsonrpc: '2.0',
423
- method,
424
- params: params,
425
- };
426
- this.transport.send(JSON.stringify(data));
427
- return true;
428
- }
429
- cancelRequest(params) {
430
- const found = this.requests.find((r) => r.params === params);
431
- if (found) {
432
- this.notification('$/cancelRequest', found.id);
433
- }
434
- }
435
- hasCapability(name) {
436
- return this.serverCapabilities ? !!this.serverCapabilities[name] : null;
437
- }
438
- sync() {
439
- this.workspace.syncFiles();
440
- }
441
- timeoutRequest(req, method, id, params) {
442
- console.error('this.timeoutRequest', this.timeout, method, id, params);
443
- const index = this.requests.indexOf(req);
444
- if (index > -1) {
445
- req.reject(LSPError.createTimeout());
446
- this.requests.splice(index, 1);
447
- }
448
- }
449
- }
@@ -1,8 +0,0 @@
1
- import * as lsp from 'vscode-languageserver-protocol';
2
- /**
3
- * Compares two strings and computes the minimal set of text changes
4
- * using a diff-based approach (simple line-by-line + character diff for simplicity).
5
- * Returns an array of TextEdit-like changes that transform `previous` into `current`.
6
- */
7
- export declare function computeIncrementalChanges(previous: string, current: string): lsp.TextDocumentContentChangeEvent[];
8
- //# sourceMappingURL=computeIncrementalChanges.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computeIncrementalChanges.d.ts","sourceRoot":"","sources":["../../../src/extension-lsp/src/computeIncrementalChanges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,GAAG,CAAC,8BAA8B,EAAE,CA0FtC"}
@@ -1,82 +0,0 @@
1
- /**
2
- * Compares two strings and computes the minimal set of text changes
3
- * using a diff-based approach (simple line-by-line + character diff for simplicity).
4
- * Returns an array of TextEdit-like changes that transform `previous` into `current`.
5
- */
6
- export function computeIncrementalChanges(previous, current) {
7
- if (previous.length === 0) {
8
- return [
9
- {
10
- text: current,
11
- },
12
- ];
13
- }
14
- const prevLines = previous.split(/\r\n|\r|\n/);
15
- const currLines = current.split(/\r\n|\r|\n/);
16
- const changes = [];
17
- let startLine = 0;
18
- let insertedText = '';
19
- // Find common prefix
20
- while (startLine < prevLines.length && startLine < currLines.length) {
21
- if (prevLines[startLine] === currLines[startLine]) {
22
- startLine++;
23
- }
24
- else {
25
- break;
26
- }
27
- }
28
- // If entire document is the same
29
- if (startLine === prevLines.length &&
30
- startLine === currLines.length) {
31
- return changes; // No changes
32
- }
33
- // Find common suffix starting from the end
34
- let endLinePrev = prevLines.length - 1;
35
- let endLineCurr = currLines.length - 1;
36
- while (endLinePrev >= startLine &&
37
- endLineCurr >= startLine &&
38
- prevLines[endLinePrev] === currLines[endLineCurr]) {
39
- endLinePrev--;
40
- endLineCurr--;
41
- }
42
- // Region to replace: from startLine to endLinePrev (inclusive)
43
- const replaceStart = { line: startLine, character: 0 };
44
- let replaceEnd;
45
- if (endLinePrev >= startLine) {
46
- const lastDeletedLine = prevLines[endLinePrev];
47
- replaceEnd = {
48
- line: endLinePrev,
49
- character: lastDeletedLine.length,
50
- };
51
- }
52
- else {
53
- // Deletion ends at the start of the next line
54
- replaceEnd = { line: startLine, character: 0 };
55
- }
56
- // Build inserted text: lines from startLine to endLineCurr
57
- const insertedLines = currLines.slice(startLine, endLineCurr + 1);
58
- insertedText = insertedLines.join('\n');
59
- // If we're inserting at the end of the file, adjust range
60
- if (startLine === prevLines.length) {
61
- // Inserting after last line
62
- replaceEnd = {
63
- line: prevLines.length - 1,
64
- character: prevLines[prevLines.length - 1].length,
65
- };
66
- if (insertedLines.length === 0) {
67
- // Inserting empty at EOF
68
- insertedText = '\n';
69
- }
70
- }
71
- // Create the range for deletion
72
- const range = {
73
- start: replaceStart,
74
- end: replaceEnd,
75
- };
76
- // Push the incremental change
77
- changes.push({
78
- range,
79
- text: insertedText,
80
- });
81
- return changes;
82
- }
@@ -1,23 +0,0 @@
1
- import { DefaultRenderer } from '../../extension-autocomplete/src/DefaultRenderer.js';
2
- import { TextRange } from '../../editor/src/mod.js';
3
- import { type AutocompleteProps } from '../../extension-autocomplete/src/mod.js';
4
- import { ExtensionLsp } from './ExtensionLsp.js';
5
- interface CompletionItem {
6
- label: string;
7
- detail: string;
8
- insertText: string;
9
- }
10
- export declare class CustomRenderer extends DefaultRenderer<CompletionItem> {
11
- createListItem(item: CompletionItem, cnt: number): any;
12
- }
13
- export declare function cleanPlaceholders(input: string): string;
14
- export declare function createLspAutocomplete(extensionLsp: ExtensionLsp): {
15
- autocompleteConfig: {
16
- renderer: CustomRenderer;
17
- matchers: import("../../extension-autocomplete/src/types.js").AutocompleteMatcher[];
18
- getItems: (query: string, props: AutocompleteProps) => Promise<CompletionItem[]>;
19
- onSelect: (selected: CompletionItem, range: TextRange) => Promise<void>;
20
- };
21
- };
22
- export {};
23
- //# sourceMappingURL=createLspAutocomplete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createLspAutocomplete.d.ts","sourceRoot":"","sources":["../../../src/extension-lsp/src/createLspAutocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAmB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,SAAQ,eAAe,CAAC,cAAc,CAAC;IACxD,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM;CAa1D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,YAAY;;;;0BAOpC,MAAM,SAAS,iBAAiB;6BAiC7B,cAAc,SAAS,SAAS;;EAiB9D"}
@@ -1,68 +0,0 @@
1
- import { DefaultRenderer } from '../../extension-autocomplete/src/DefaultRenderer.js';
2
- import { createRegexMatcher, } from '../../extension-autocomplete/src/mod.js';
3
- export class CustomRenderer extends DefaultRenderer {
4
- createListItem(item, cnt) {
5
- const li = document.createElement('li');
6
- if (cnt === this.pos) {
7
- li.classList.add('active');
8
- }
9
- li.innerText = item.label;
10
- li.title = item.detail;
11
- li.style.cursor = 'pointer';
12
- li.addEventListener('click', () => {
13
- this.command(item);
14
- });
15
- return li;
16
- }
17
- }
18
- export function cleanPlaceholders(input) {
19
- const regex = /\$\{\d+:([^}]+)}/g;
20
- return input.replace(regex, '$1');
21
- }
22
- export function createLspAutocomplete(extensionLsp) {
23
- const editor = extensionLsp.getEditor();
24
- const renderer = new CustomRenderer(editor);
25
- const config = {
26
- renderer,
27
- matchers: [createRegexMatcher([/\w+/, /(^|\s)@\w*/, /^#\w*/])],
28
- getItems: async (query, props) => {
29
- const { mapper } = extensionLsp.source.getMappedContent();
30
- const lspPos = mapper.toRawTextLspPos(props.range.from);
31
- const client = extensionLsp.getClient(extensionLsp.mainLang);
32
- if (client) {
33
- client.sync();
34
- try {
35
- const completions = await client.request('textDocument/completion', {
36
- textDocument: { uri: extensionLsp.uri },
37
- position: lspPos,
38
- context: { triggerKind: 2, triggerCharacter: query },
39
- });
40
- if (Array.isArray(completions)) {
41
- return completions;
42
- }
43
- return completions.items;
44
- }
45
- catch (err) {
46
- console.error(err.message);
47
- return [];
48
- }
49
- }
50
- else {
51
- return [];
52
- }
53
- },
54
- onSelect: async (selected, range) => {
55
- const rawText = cleanPlaceholders(selected.insertText);
56
- const slice = await extensionLsp.extensionMarkdown.fromMarkdown(rawText);
57
- if (slice.content.content.length === 1) {
58
- const first = slice.content.content[0];
59
- if (first.isBlock) {
60
- editor.chain().insertBlockSmart(range.from, first).run();
61
- return;
62
- }
63
- }
64
- editor.chain().replaceRangeSlice(range, slice).run();
65
- },
66
- };
67
- return { autocompleteConfig: config };
68
- }
@@ -1,4 +0,0 @@
1
- export * from './ExtensionLsp.js';
2
- export * from './LSPClient.js';
3
- export * from './workspace.js';
4
- //# sourceMappingURL=mod.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/extension-lsp/src/mod.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './ExtensionLsp.js';
2
- export * from './LSPClient.js';
3
- export * from './workspace.js';