@kerebron/extension-yjs 0.4.5 → 0.4.6

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 (270) hide show
  1. package/README.md +50 -128
  2. package/esm/{extension-yjs/src/ExtensionYjs.d.ts → ExtensionYjs.d.ts} +2 -3
  3. package/esm/ExtensionYjs.d.ts.map +1 -0
  4. package/esm/{extension-yjs/src/ExtensionYjs.js → ExtensionYjs.js} +1 -2
  5. package/esm/convertUtils.d.ts.map +1 -0
  6. package/esm/keys.d.ts.map +1 -0
  7. package/esm/lib.d.ts.map +1 -0
  8. package/esm/{extension-yjs/src/userColors.d.ts → userColors.d.ts} +0 -1
  9. package/esm/userColors.d.ts.map +1 -0
  10. package/esm/{extension-yjs/src/userColors.js → userColors.js} +0 -1
  11. package/esm/utils.d.ts.map +1 -0
  12. package/esm/{extension-yjs/src/yPositionPlugin.d.ts → yPositionPlugin.d.ts} +1 -1
  13. package/esm/yPositionPlugin.d.ts.map +1 -0
  14. package/esm/{extension-yjs/src/yPositionPlugin.js → yPositionPlugin.js} +1 -1
  15. package/esm/ySyncPlugin.d.ts.map +1 -0
  16. package/esm/{extension-yjs/src/ySyncPlugin.js → ySyncPlugin.js} +1 -1
  17. package/esm/yUndoPlugin.d.ts.map +1 -0
  18. package/package.json +8 -10
  19. package/assets/collaboration-status.css +0 -172
  20. package/esm/_dnt.polyfills.d.ts +0 -101
  21. package/esm/_dnt.polyfills.d.ts.map +0 -1
  22. package/esm/_dnt.polyfills.js +0 -127
  23. package/esm/_dnt.shims.d.ts +0 -2
  24. package/esm/_dnt.shims.d.ts.map +0 -1
  25. package/esm/_dnt.shims.js +0 -57
  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/keymap/keymap.d.ts +0 -11
  78. package/esm/editor/src/plugins/keymap/keymap.d.ts.map +0 -1
  79. package/esm/editor/src/plugins/keymap/keymap.js +0 -125
  80. package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts +0 -4
  81. package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts.map +0 -1
  82. package/esm/editor/src/plugins/keymap/w3c-keyname.js +0 -124
  83. package/esm/editor/src/types.d.ts +0 -52
  84. package/esm/editor/src/types.d.ts.map +0 -1
  85. package/esm/editor/src/types.js +0 -1
  86. package/esm/editor/src/ui.d.ts +0 -15
  87. package/esm/editor/src/ui.d.ts.map +0 -1
  88. package/esm/editor/src/ui.js +0 -16
  89. package/esm/editor/src/utilities/SmartOutput.d.ts +0 -41
  90. package/esm/editor/src/utilities/SmartOutput.d.ts.map +0 -1
  91. package/esm/editor/src/utilities/SmartOutput.js +0 -228
  92. package/esm/editor/src/utilities/createNodeFromContent.d.ts +0 -9
  93. package/esm/editor/src/utilities/createNodeFromContent.d.ts.map +0 -1
  94. package/esm/editor/src/utilities/createNodeFromContent.js +0 -32
  95. package/esm/editor/src/utilities/getHtmlAttributes.d.ts +0 -9
  96. package/esm/editor/src/utilities/getHtmlAttributes.d.ts.map +0 -1
  97. package/esm/editor/src/utilities/getHtmlAttributes.js +0 -47
  98. package/esm/editor/src/utilities/getShadowRoot.d.ts +0 -2
  99. package/esm/editor/src/utilities/getShadowRoot.d.ts.map +0 -1
  100. package/esm/editor/src/utilities/getShadowRoot.js +0 -16
  101. package/esm/editor/src/utilities/mod.d.ts +0 -6
  102. package/esm/editor/src/utilities/mod.d.ts.map +0 -1
  103. package/esm/editor/src/utilities/mod.js +0 -5
  104. package/esm/editor/src/utilities/toRawTextResult.d.ts +0 -3
  105. package/esm/editor/src/utilities/toRawTextResult.d.ts.map +0 -1
  106. package/esm/editor/src/utilities/toRawTextResult.js +0 -21
  107. package/esm/extension-autocomplete/src/AutocompletePlugin.d.ts +0 -8
  108. package/esm/extension-autocomplete/src/AutocompletePlugin.d.ts.map +0 -1
  109. package/esm/extension-autocomplete/src/AutocompletePlugin.js +0 -232
  110. package/esm/extension-autocomplete/src/DefaultRenderer.d.ts +0 -17
  111. package/esm/extension-autocomplete/src/DefaultRenderer.d.ts.map +0 -1
  112. package/esm/extension-autocomplete/src/DefaultRenderer.js +0 -137
  113. package/esm/extension-autocomplete/src/ExtensionAutocomplete.d.ts +0 -26
  114. package/esm/extension-autocomplete/src/ExtensionAutocomplete.d.ts.map +0 -1
  115. package/esm/extension-autocomplete/src/ExtensionAutocomplete.js +0 -30
  116. package/esm/extension-autocomplete/src/createDefaultMatcher.d.ts +0 -11
  117. package/esm/extension-autocomplete/src/createDefaultMatcher.d.ts.map +0 -1
  118. package/esm/extension-autocomplete/src/createDefaultMatcher.js +0 -58
  119. package/esm/extension-autocomplete/src/createRegexMatcher.d.ts +0 -4
  120. package/esm/extension-autocomplete/src/createRegexMatcher.d.ts.map +0 -1
  121. package/esm/extension-autocomplete/src/createRegexMatcher.js +0 -50
  122. package/esm/extension-autocomplete/src/mod.d.ts +0 -3
  123. package/esm/extension-autocomplete/src/mod.d.ts.map +0 -1
  124. package/esm/extension-autocomplete/src/mod.js +0 -2
  125. package/esm/extension-autocomplete/src/types.d.ts +0 -60
  126. package/esm/extension-autocomplete/src/types.d.ts.map +0 -1
  127. package/esm/extension-autocomplete/src/types.js +0 -1
  128. package/esm/extension-basic-editor/src/ExtensionHtml.d.ts +0 -15
  129. package/esm/extension-basic-editor/src/ExtensionHtml.d.ts.map +0 -1
  130. package/esm/extension-basic-editor/src/ExtensionHtml.js +0 -108
  131. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.d.ts +0 -24
  132. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.d.ts.map +0 -1
  133. package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.js +0 -35
  134. package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.d.ts +0 -25
  135. package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.d.ts.map +0 -1
  136. package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.js +0 -96
  137. package/esm/extension-lsp/src/DiagnosticPlugin.d.ts +0 -32
  138. package/esm/extension-lsp/src/DiagnosticPlugin.d.ts.map +0 -1
  139. package/esm/extension-lsp/src/DiagnosticPlugin.js +0 -131
  140. package/esm/extension-lsp/src/ExtensionLsp.d.ts +0 -25
  141. package/esm/extension-lsp/src/ExtensionLsp.d.ts.map +0 -1
  142. package/esm/extension-lsp/src/ExtensionLsp.js +0 -126
  143. package/esm/extension-lsp/src/LSPClient.d.ts +0 -56
  144. package/esm/extension-lsp/src/LSPClient.d.ts.map +0 -1
  145. package/esm/extension-lsp/src/LSPClient.js +0 -449
  146. package/esm/extension-lsp/src/LspStatus.d.ts +0 -34
  147. package/esm/extension-lsp/src/LspStatus.d.ts.map +0 -1
  148. package/esm/extension-lsp/src/LspStatus.js +0 -127
  149. package/esm/extension-lsp/src/computeIncrementalChanges.d.ts +0 -8
  150. package/esm/extension-lsp/src/computeIncrementalChanges.d.ts.map +0 -1
  151. package/esm/extension-lsp/src/computeIncrementalChanges.js +0 -82
  152. package/esm/extension-lsp/src/createLspAutocomplete.d.ts +0 -23
  153. package/esm/extension-lsp/src/createLspAutocomplete.d.ts.map +0 -1
  154. package/esm/extension-lsp/src/createLspAutocomplete.js +0 -68
  155. package/esm/extension-lsp/src/workspace.d.ts +0 -62
  156. package/esm/extension-lsp/src/workspace.d.ts.map +0 -1
  157. package/esm/extension-lsp/src/workspace.js +0 -168
  158. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.d.ts +0 -36
  159. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.d.ts.map +0 -1
  160. package/esm/extension-markdown/src/DocumentMarkdownInlineTokenizer.js +0 -240
  161. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.d.ts +0 -26
  162. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.d.ts.map +0 -1
  163. package/esm/extension-markdown/src/DocumentMarkdownTokenizer.js +0 -115
  164. package/esm/extension-markdown/src/ExtensionMarkdown.d.ts +0 -22
  165. package/esm/extension-markdown/src/ExtensionMarkdown.d.ts.map +0 -1
  166. package/esm/extension-markdown/src/ExtensionMarkdown.js +0 -48
  167. package/esm/extension-markdown/src/MarkdownParser.d.ts +0 -61
  168. package/esm/extension-markdown/src/MarkdownParser.d.ts.map +0 -1
  169. package/esm/extension-markdown/src/MarkdownParser.js +0 -249
  170. package/esm/extension-markdown/src/MarkdownSerializer.d.ts +0 -42
  171. package/esm/extension-markdown/src/MarkdownSerializer.d.ts.map +0 -1
  172. package/esm/extension-markdown/src/MarkdownSerializer.js +0 -325
  173. package/esm/extension-markdown/src/PositionMapper.d.ts +0 -15
  174. package/esm/extension-markdown/src/PositionMapper.d.ts.map +0 -1
  175. package/esm/extension-markdown/src/PositionMapper.js +0 -100
  176. package/esm/extension-markdown/src/TokenSource.d.ts +0 -11
  177. package/esm/extension-markdown/src/TokenSource.d.ts.map +0 -1
  178. package/esm/extension-markdown/src/TokenSource.js +0 -39
  179. package/esm/extension-markdown/src/mdToPmConverter.d.ts +0 -5
  180. package/esm/extension-markdown/src/mdToPmConverter.d.ts.map +0 -1
  181. package/esm/extension-markdown/src/mdToPmConverter.js +0 -111
  182. package/esm/extension-markdown/src/pmToMdConverter.d.ts +0 -16
  183. package/esm/extension-markdown/src/pmToMdConverter.d.ts.map +0 -1
  184. package/esm/extension-markdown/src/pmToMdConverter.js +0 -433
  185. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.d.ts +0 -4
  186. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.d.ts.map +0 -1
  187. package/esm/extension-markdown/src/token_handlers/basic_token_handlers.js +0 -151
  188. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.d.ts +0 -3
  189. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.d.ts.map +0 -1
  190. package/esm/extension-markdown/src/token_handlers/footnote_token_handlers.js +0 -34
  191. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.d.ts +0 -6
  192. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.d.ts.map +0 -1
  193. package/esm/extension-markdown/src/token_handlers/inline_token_handlers.js +0 -380
  194. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.d.ts +0 -3
  195. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.d.ts.map +0 -1
  196. package/esm/extension-markdown/src/token_handlers/lists_token_handlers.js +0 -323
  197. package/esm/extension-markdown/src/token_handlers/table_token_handlers.d.ts +0 -9
  198. package/esm/extension-markdown/src/token_handlers/table_token_handlers.d.ts.map +0 -1
  199. package/esm/extension-markdown/src/token_handlers/table_token_handlers.js +0 -308
  200. package/esm/extension-markdown/src/treeSitterTokenizer.d.ts +0 -5
  201. package/esm/extension-markdown/src/treeSitterTokenizer.d.ts.map +0 -1
  202. package/esm/extension-markdown/src/treeSitterTokenizer.js +0 -769
  203. package/esm/extension-markdown/src/types.d.ts +0 -28
  204. package/esm/extension-markdown/src/types.d.ts.map +0 -1
  205. package/esm/extension-markdown/src/types.js +0 -131
  206. package/esm/extension-markdown/src/utils.d.ts +0 -8
  207. package/esm/extension-markdown/src/utils.d.ts.map +0 -1
  208. package/esm/extension-markdown/src/utils.js +0 -86
  209. package/esm/extension-menu/src/CustomMenuPlugin.d.ts +0 -65
  210. package/esm/extension-menu/src/CustomMenuPlugin.d.ts.map +0 -1
  211. package/esm/extension-menu/src/CustomMenuPlugin.js +0 -1186
  212. package/esm/extension-menu/src/ExtensionCustomMenu.d.ts +0 -14
  213. package/esm/extension-menu/src/ExtensionCustomMenu.d.ts.map +0 -1
  214. package/esm/extension-menu/src/ExtensionCustomMenu.js +0 -57
  215. package/esm/extension-menu/src/buildMenu.d.ts +0 -5
  216. package/esm/extension-menu/src/buildMenu.d.ts.map +0 -1
  217. package/esm/extension-menu/src/buildMenu.js +0 -331
  218. package/esm/extension-menu/src/icons.d.ts +0 -15
  219. package/esm/extension-menu/src/icons.d.ts.map +0 -1
  220. package/esm/extension-menu/src/icons.js +0 -123
  221. package/esm/extension-menu/src/menu.d.ts +0 -81
  222. package/esm/extension-menu/src/menu.d.ts.map +0 -1
  223. package/esm/extension-menu/src/menu.js +0 -350
  224. package/esm/extension-menu/src/mod.d.ts +0 -3
  225. package/esm/extension-menu/src/mod.d.ts.map +0 -1
  226. package/esm/extension-menu/src/mod.js +0 -2
  227. package/esm/extension-menu/src/prompt.d.ts +0 -36
  228. package/esm/extension-menu/src/prompt.d.ts.map +0 -1
  229. package/esm/extension-menu/src/prompt.js +0 -158
  230. package/esm/extension-yjs/src/CollaborationStatus.d.ts +0 -60
  231. package/esm/extension-yjs/src/CollaborationStatus.d.ts.map +0 -1
  232. package/esm/extension-yjs/src/CollaborationStatus.js +0 -287
  233. package/esm/extension-yjs/src/ExtensionYjs.d.ts.map +0 -1
  234. package/esm/extension-yjs/src/convertUtils.d.ts.map +0 -1
  235. package/esm/extension-yjs/src/keys.d.ts.map +0 -1
  236. package/esm/extension-yjs/src/lib.d.ts.map +0 -1
  237. package/esm/extension-yjs/src/userColors.d.ts.map +0 -1
  238. package/esm/extension-yjs/src/utils.d.ts.map +0 -1
  239. package/esm/extension-yjs/src/yPositionPlugin.d.ts.map +0 -1
  240. package/esm/extension-yjs/src/ySyncPlugin.d.ts.map +0 -1
  241. package/esm/extension-yjs/src/yUndoPlugin.d.ts.map +0 -1
  242. package/esm/tree-sitter-shim/src/main.d.ts +0 -15
  243. package/esm/tree-sitter-shim/src/main.d.ts.map +0 -1
  244. package/esm/tree-sitter-shim/src/main.js +0 -25
  245. package/esm/tree-sitter-shim/src/tree_sitter/node.d.ts +0 -6
  246. package/esm/tree-sitter-shim/src/tree_sitter/node.d.ts.map +0 -1
  247. package/esm/tree-sitter-shim/src/tree_sitter/node.js +0 -1
  248. package/esm/tree-sitter-shim/src/tree_sitter/parser.d.ts +0 -7
  249. package/esm/tree-sitter-shim/src/tree_sitter/parser.d.ts.map +0 -1
  250. package/esm/tree-sitter-shim/src/tree_sitter/parser.js +0 -5
  251. package/esm/tree-sitter-shim/src/tree_sitter/tree.d.ts +0 -6
  252. package/esm/tree-sitter-shim/src/tree_sitter/tree.d.ts.map +0 -1
  253. package/esm/tree-sitter-shim/src/tree_sitter/tree.js +0 -1
  254. package/esm/wasm/src/mod.d.ts +0 -12
  255. package/esm/wasm/src/mod.d.ts.map +0 -1
  256. package/esm/wasm/src/mod.js +0 -48
  257. package/esm/wasm/wasm.d.ts +0 -138
  258. package/esm/wasm/wasm.d.ts.map +0 -1
  259. package/esm/wasm/wasm.js +0 -120
  260. /package/esm/{extension-yjs/src/convertUtils.d.ts → convertUtils.d.ts} +0 -0
  261. /package/esm/{extension-yjs/src/convertUtils.js → convertUtils.js} +0 -0
  262. /package/esm/{extension-yjs/src/keys.d.ts → keys.d.ts} +0 -0
  263. /package/esm/{extension-yjs/src/keys.js → keys.js} +0 -0
  264. /package/esm/{extension-yjs/src/lib.d.ts → lib.d.ts} +0 -0
  265. /package/esm/{extension-yjs/src/lib.js → lib.js} +0 -0
  266. /package/esm/{extension-yjs/src/utils.d.ts → utils.d.ts} +0 -0
  267. /package/esm/{extension-yjs/src/utils.js → utils.js} +0 -0
  268. /package/esm/{extension-yjs/src/ySyncPlugin.d.ts → ySyncPlugin.d.ts} +0 -0
  269. /package/esm/{extension-yjs/src/yUndoPlugin.d.ts → yUndoPlugin.d.ts} +0 -0
  270. /package/esm/{extension-yjs/src/yUndoPlugin.js → yUndoPlugin.js} +0 -0
@@ -1,131 +0,0 @@
1
- import { Plugin, PluginKey } from 'prosemirror-state';
2
- import { Decoration, DecorationSet } from 'prosemirror-view';
3
- const DiagnosticPluginKey = new PluginKey('lsp-diagnostic');
4
- export class DiagnosticPlugin extends Plugin {
5
- constructor(config, extension) {
6
- super({
7
- key: DiagnosticPluginKey,
8
- view(view) {
9
- return {
10
- destroy: () => {
11
- const client = extension.getClient(extension.mainLang);
12
- if (this.listener && client) {
13
- client.removeEventListener('textDocument/publishDiagnostics', this.listener);
14
- }
15
- if (this.listenerDisconnect && client) {
16
- client.removeEventListener('close', this.listenerDisconnect);
17
- }
18
- if (this.changeListener) {
19
- extension.getEditor().removeEventListener('change', this.changeListener);
20
- }
21
- },
22
- };
23
- },
24
- state: {
25
- init() {
26
- return {
27
- diagnostics: [],
28
- };
29
- },
30
- apply(tr, prev, oldState, newState) {
31
- const next = { ...prev };
32
- const meta = tr.getMeta(DiagnosticPluginKey);
33
- if (meta?.diagnostics) {
34
- next.diagnostics = meta.diagnostics;
35
- }
36
- if (meta?.mapper) {
37
- next.mapper = meta.mapper;
38
- }
39
- return next;
40
- },
41
- },
42
- props: {
43
- decorations(state) {
44
- const decorations = [];
45
- const pluginState = this.getState(state);
46
- if (pluginState) {
47
- const { diagnostics, mapper } = pluginState;
48
- if (mapper) {
49
- for (const diag of diagnostics) {
50
- const from = mapper.fromLineChar(diag.range.start.line, diag.range.start.character);
51
- const end = mapper.fromLineChar(diag.range.end.line, diag.range.end.character);
52
- if (from > -1 && end > -1) {
53
- const decoration = Decoration.inline(from, end, { class: 'kb-lsp__error', title: diag.message });
54
- decorations.push(decoration);
55
- }
56
- }
57
- }
58
- }
59
- return DecorationSet.create(state.doc, decorations);
60
- },
61
- },
62
- });
63
- Object.defineProperty(this, "diagListener", {
64
- enumerable: true,
65
- configurable: true,
66
- writable: true,
67
- value: void 0
68
- });
69
- Object.defineProperty(this, "listenerDisconnect", {
70
- enumerable: true,
71
- configurable: true,
72
- writable: true,
73
- value: void 0
74
- });
75
- Object.defineProperty(this, "listenerChange", {
76
- enumerable: true,
77
- configurable: true,
78
- writable: true,
79
- value: void 0
80
- });
81
- let lastDiag = 0;
82
- const editor = extension.getEditor();
83
- const uri = editor.config.uri;
84
- if (uri) {
85
- const client = extension.getClient(extension.mainLang);
86
- this.diagListener = (event) => {
87
- const detail = event.detail;
88
- if (detail.params.uri !== uri) {
89
- return;
90
- }
91
- event.preventDefault();
92
- lastDiag = +Date();
93
- if (client) {
94
- const file = client.workspace.getFile(uri);
95
- if (file) {
96
- const { mapper } = file;
97
- const tr = editor.view.state.tr.setMeta(DiagnosticPluginKey, {
98
- diagnostics: detail.params.diagnostics,
99
- mapper,
100
- });
101
- editor.view.dispatch(tr);
102
- }
103
- }
104
- };
105
- if (client) {
106
- client.addEventListener('textDocument/publishDiagnostics', this.diagListener);
107
- }
108
- this.listenerDisconnect = (event) => {
109
- const tr = editor.view.state.tr.setMeta(DiagnosticPluginKey, {
110
- diagnostics: [],
111
- mapper: undefined,
112
- });
113
- editor.view.dispatch(tr);
114
- };
115
- if (client) {
116
- client.addEventListener('close', this.listenerDisconnect);
117
- }
118
- this.listenerChange = (event) => {
119
- if (lastDiag === 0 && +Date() - lastDiag > 10_1000) {
120
- return;
121
- }
122
- const tr = editor.view.state.tr.setMeta(DiagnosticPluginKey, {
123
- diagnostics: [],
124
- mapper: undefined,
125
- });
126
- editor.view.dispatch(tr);
127
- };
128
- // extension.getEditor().addEventListener('changed', this.listenerChange);
129
- }
130
- }
131
- }
@@ -1,25 +0,0 @@
1
- import { Plugin } from 'prosemirror-state';
2
- import { Extension } from '../../editor/src/mod.js';
3
- import { type ExtensionMarkdown } from '../../extension-markdown/src/ExtensionMarkdown.js';
4
- import { type ExtensionAutocomplete } from '../../extension-autocomplete/src/mod.js';
5
- import { LSPClient, Transport } from './LSPClient.js';
6
- import { LspSource } from './workspace.js';
7
- export type LspTransportGetter = (lang: string) => Transport | undefined;
8
- export interface LspConfig {
9
- getLspTransport: LspTransportGetter;
10
- }
11
- export declare class ExtensionLsp extends Extension {
12
- protected config: LspConfig;
13
- name: string;
14
- clients: Record<string, LSPClient>;
15
- uri: string | undefined;
16
- extensionMarkdown: ExtensionMarkdown;
17
- extensionAutocomplete: ExtensionAutocomplete;
18
- mainLang: string;
19
- source: LspSource;
20
- constructor(config: LspConfig);
21
- getProseMirrorPlugins(): Plugin[];
22
- created(): void;
23
- getClient(lang: string): LSPClient | undefined;
24
- }
25
- //# sourceMappingURL=ExtensionLsp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtensionLsp.d.ts","sourceRoot":"","sources":["../../../src/extension-lsp/src/ExtensionLsp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAGrF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAItD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,kBAAkB,CAAC;CACrC;AAED,qBAAa,YAAa,SAAQ,SAAS;cASV,MAAM,EAAE,SAAS;IARhD,IAAI,SAAS;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM;IACxC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,iBAAiB,EAAG,iBAAiB,CAAC;IACtC,qBAAqB,EAAG,qBAAqB,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAc;IAC9B,MAAM,EAAG,SAAS,CAAC;gBAEY,MAAM,EAAE,SAAS;IAIvC,qBAAqB,IAAI,MAAM,EAAE;IAWjC,OAAO;IA6DhB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;CAW/C"}
@@ -1,126 +0,0 @@
1
- import { Extension } from '../../editor/src/mod.js';
2
- import { PositionMapper } from '../../extension-markdown/src/PositionMapper.js';
3
- import { LSPClient } from './LSPClient.js';
4
- import { AutocompletePlugin } from '../../extension-autocomplete/src/AutocompletePlugin.js';
5
- import { DiagnosticPlugin } from './DiagnosticPlugin.js';
6
- import { createLspAutocomplete } from './createLspAutocomplete.js';
7
- export class ExtensionLsp extends Extension {
8
- constructor(config) {
9
- super(config);
10
- Object.defineProperty(this, "config", {
11
- enumerable: true,
12
- configurable: true,
13
- writable: true,
14
- value: config
15
- });
16
- Object.defineProperty(this, "name", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: 'lsp'
21
- });
22
- Object.defineProperty(this, "clients", {
23
- enumerable: true,
24
- configurable: true,
25
- writable: true,
26
- value: {}
27
- });
28
- Object.defineProperty(this, "uri", {
29
- enumerable: true,
30
- configurable: true,
31
- writable: true,
32
- value: void 0
33
- });
34
- Object.defineProperty(this, "extensionMarkdown", {
35
- enumerable: true,
36
- configurable: true,
37
- writable: true,
38
- value: void 0
39
- });
40
- Object.defineProperty(this, "extensionAutocomplete", {
41
- enumerable: true,
42
- configurable: true,
43
- writable: true,
44
- value: void 0
45
- });
46
- Object.defineProperty(this, "mainLang", {
47
- enumerable: true,
48
- configurable: true,
49
- writable: true,
50
- value: 'markdown'
51
- });
52
- Object.defineProperty(this, "source", {
53
- enumerable: true,
54
- configurable: true,
55
- writable: true,
56
- value: void 0
57
- });
58
- }
59
- getProseMirrorPlugins() {
60
- const plugins = [];
61
- const { autocompleteConfig } = createLspAutocomplete(this);
62
- plugins.push(new AutocompletePlugin(autocompleteConfig, this.editor));
63
- plugins.push(new DiagnosticPlugin({}, this));
64
- return plugins;
65
- }
66
- created() {
67
- this.mainLang = this.editor.config.languageID || 'markdown';
68
- this.source = {
69
- ui: this.editor.ui,
70
- getMappedContent: () => {
71
- const editor = this.editor;
72
- const result = this.extensionMarkdown.toMarkdown(editor.state.doc);
73
- const mapper = new PositionMapper(editor, result.rawTextMap);
74
- return {
75
- ...result,
76
- mapper,
77
- };
78
- },
79
- };
80
- const extensionMarkdown = this.editor
81
- .getExtension('markdown');
82
- if (!extensionMarkdown) {
83
- throw new Error('No markdown extension');
84
- }
85
- this.extensionMarkdown = extensionMarkdown;
86
- this.editor.addEventListener('doc:loaded', async () => {
87
- const languageID = this.mainLang;
88
- this.uri = this.editor.config.uri;
89
- if (this.uri) {
90
- const client = this.getClient(this.mainLang);
91
- if (client) {
92
- client.connect(this.uri, this.source);
93
- await client.restart();
94
- client.workspace.openFile(this.uri, languageID, this.source);
95
- }
96
- }
97
- });
98
- this.editor.addEventListener('changed', () => {
99
- if (this.editor.config.uri) {
100
- const client = this.getClient(this.mainLang);
101
- if (client) {
102
- client.workspace.changedFile(this.editor.config.uri);
103
- }
104
- }
105
- });
106
- this.editor.addEventListener('beforeDestroy', () => {
107
- if (this.uri) {
108
- const client = this.getClient(this.mainLang);
109
- if (client) {
110
- client.disconnect(this.uri);
111
- }
112
- }
113
- });
114
- }
115
- getClient(lang) {
116
- if (!this.clients[lang]) {
117
- const transport = this.config.getLspTransport(lang);
118
- if (!transport) {
119
- console.warn(`No lsp transport for ${lang}`);
120
- return undefined;
121
- }
122
- this.clients[lang] = new LSPClient(transport, { rootUri: 'file:///' });
123
- }
124
- return this.clients[lang];
125
- }
126
- }
@@ -1,56 +0,0 @@
1
- import type * as lsp from 'vscode-languageserver-protocol';
2
- import { TextDocumentSyncKind } from 'vscode-languageserver-protocol';
3
- import { LspSource, Workspace, WorkspaceFile } from './workspace.js';
4
- export type Transport = {
5
- connect(): void;
6
- disconnect(): void;
7
- send(message: string): void;
8
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
9
- removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void;
10
- isConnected(): boolean;
11
- isInitialized(): boolean;
12
- };
13
- export type LSPClientConfig = {
14
- rootUri?: string;
15
- workspace?: (client: LSPClient) => Workspace;
16
- timeout?: number;
17
- sanitizeHTML?: (html: string) => string;
18
- unhandledNotification?: (client: LSPClient, method: string, params: any) => void;
19
- };
20
- export declare class LSPError extends Error {
21
- isTimeout: boolean;
22
- readonly isLSP = true;
23
- static createTimeout(): LSPError;
24
- }
25
- export declare class LSPClient extends EventTarget {
26
- private readonly transport;
27
- readonly config: LSPClientConfig;
28
- sources: Record<string, LspSource>;
29
- workspace: Workspace;
30
- private nextReqID;
31
- private requests;
32
- serverCapabilities: lsp.ServerCapabilities | null;
33
- supportSync: TextDocumentSyncKind;
34
- private readonly timeout;
35
- private initializing;
36
- private readonly receiveListener;
37
- active: boolean;
38
- constructor(transport: Transport, config?: LSPClientConfig);
39
- startInitializing(): void;
40
- stopInitializing(): void;
41
- restart(): Promise<void>;
42
- onInitialized(): void;
43
- connect(uri: string, source: LspSource): void;
44
- disconnect(uri: string): void;
45
- didOpen(file: WorkspaceFile): Promise<boolean>;
46
- didClose(uri: string): void;
47
- private receiveMessage;
48
- request<Params, Result>(method: string, params: Params): Promise<Result>;
49
- private requestInner;
50
- notification<Params>(method: string, params: Params): Promise<boolean>;
51
- cancelRequest(params: any): void;
52
- hasCapability(name: keyof lsp.ServerCapabilities): boolean | null;
53
- sync(): void;
54
- private timeoutRequest;
55
- }
56
- //# sourceMappingURL=LSPClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LSPClient.d.ts","sourceRoot":"","sources":["../../../src/extension-lsp/src/LSPClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAEL,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAEL,SAAS,EACT,SAAS,EACT,aAAa,EACd,MAAM,gBAAgB,CAAC;AA0BxB,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;IACnB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IACR,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,GAAG,IAAI,EACnD,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,GACvC,IAAI,CAAC;IACR,WAAW,IAAI,OAAO,CAAC;IACvB,aAAa,IAAI,OAAO,CAAC;CAC1B,CAAC;AAiEF,MAAM,MAAM,eAAe,GAAG;IAE5B,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,SAAS,CAAC;IAG7C,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAGxC,qBAAqB,CAAC,EAAE,CACtB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,KACR,IAAI,CAAC;CACX,CAAC;AAEF,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAS,UAAS;IAClB,QAAQ,CAAC,KAAK,QAAQ;IAEtB,MAAM,CAAC,aAAa;CAKrB;AAED,qBAAa,SAAU,SAAQ,WAAW;IAiBtC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe;IAjBlC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM;IAExC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAsB;IAEtC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAQ;IAClD,WAAW,EAAE,oBAAoB,CAA6B;IAErE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,YAAY,CAA6C;IAEjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,MAAM,EAAE,OAAO,CAAS;gBAGL,SAAS,EAAE,SAAS,EAC5B,MAAM,GAAE,eAAoB;IAuCvC,iBAAiB;IAoCjB,gBAAgB;IAOV,OAAO;IASb,aAAa;IAQb,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IAWtC,UAAU,CAAC,GAAG,EAAE,MAAM;IAahB,OAAO,CAAC,IAAI,EAAE,aAAa;IAmBjC,QAAQ,CAAC,GAAG,EAAE,MAAM;IASpB,OAAO,CAAC,cAAc;IA+ChB,OAAO,CAAC,MAAM,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IAalB,OAAO,CAAC,YAAY;IA8Cd,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB5E,aAAa,CAAC,MAAM,EAAE,GAAG;IAOzB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,kBAAkB;IAIhD,IAAI;IAIJ,OAAO,CAAC,cAAc;CAcvB"}