@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,22 +0,0 @@
1
- import type { Node, Schema } from 'prosemirror-model';
2
- import { Slice } from 'prosemirror-model';
3
- import { type Converter, type CoreEditor, Extension } from '../../editor/src/mod.js';
4
- import { MarkdownResult } from './pmToMdConverter.js';
5
- import type { Token } from './types.js';
6
- export interface MdConfig {
7
- sourceMap?: boolean;
8
- dispatchSourceMap?: boolean;
9
- debugTokens?: boolean;
10
- serializerDebug?: (...args: any[]) => void;
11
- cdnUrl?: string;
12
- }
13
- export type { Token };
14
- export declare class ExtensionMarkdown extends Extension {
15
- protected config: Partial<MdConfig>;
16
- name: string;
17
- constructor(config?: Partial<MdConfig>);
18
- getConverters(editor: CoreEditor, schema: Schema): Record<string, Converter>;
19
- toMarkdown(source: Node): MarkdownResult;
20
- fromMarkdown(source: string): Promise<Slice>;
21
- }
22
- //# sourceMappingURL=ExtensionMarkdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtensionMarkdown.d.ts","sourceRoot":"","sources":["../../../src/extension-markdown/src/ExtensionMarkdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAErF,OAAO,EACL,cAAc,EAGf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,qBAAa,iBAAkB,SAAQ,SAAS;cAGR,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;IAF/D,IAAI,SAAc;gBAEoB,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAM;IAI3D,aAAa,CACpB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;IAmB5B,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,cAAc;IAWlC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;CAiBnD"}
@@ -1,48 +0,0 @@
1
- import { Slice } from 'prosemirror-model';
2
- import { Extension } from '../../editor/src/mod.js';
3
- import { pmToMdConverter, syncPmToMdConverter, } from './pmToMdConverter.js';
4
- import { mdToPmConverter, mdToPmConverterText } from './mdToPmConverter.js';
5
- export class ExtensionMarkdown extends Extension {
6
- constructor(config = {}) {
7
- super(config);
8
- Object.defineProperty(this, "config", {
9
- enumerable: true,
10
- configurable: true,
11
- writable: true,
12
- value: config
13
- });
14
- Object.defineProperty(this, "name", {
15
- enumerable: true,
16
- configurable: true,
17
- writable: true,
18
- value: 'markdown'
19
- });
20
- }
21
- getConverters(editor, schema) {
22
- return {
23
- 'text/x-markdown': {
24
- fromDoc: (source) => pmToMdConverter(source, { cdnUrl: this.editor.config.cdnUrl, ...this.config }, schema, editor),
25
- toDoc: (source) => mdToPmConverter(source, {
26
- cdnUrl: this.editor.config.cdnUrl,
27
- ...this.config,
28
- }, schema),
29
- },
30
- };
31
- }
32
- toMarkdown(source) {
33
- return syncPmToMdConverter(source, {
34
- sourceMap: true,
35
- }, this.editor.schema, this.editor);
36
- }
37
- async fromMarkdown(source) {
38
- const doc = await mdToPmConverterText(source, { cdnUrl: this.editor.config.cdnUrl, ...this.config }, this.editor.schema);
39
- const fragment = doc.content;
40
- if (fragment.content.length === 1) {
41
- const first = fragment.content[0];
42
- if (first.type.name === 'paragraph') {
43
- return new Slice(first.content, 0, 0);
44
- }
45
- }
46
- return new Slice(fragment, 0, 0);
47
- }
48
- }
@@ -1,61 +0,0 @@
1
- import type { Token } from './types.js';
2
- import { Attrs, Mark, MarkType, Node, NodeType, Schema } from 'prosemirror-model';
3
- export declare class MarkdownParseState {
4
- readonly schema: Schema;
5
- readonly tokenHandlers: {
6
- [token: string]: (stat: MarkdownParseState, token: Token, tokens: Token[], i: number) => void;
7
- };
8
- stack: {
9
- type: NodeType;
10
- attrs: Attrs | null;
11
- content: Node[];
12
- marks: readonly Mark[];
13
- }[];
14
- constructor(schema: Schema, tokenHandlers: {
15
- [token: string]: (stat: MarkdownParseState, token: Token, tokens: Token[], i: number) => void;
16
- });
17
- top(): {
18
- type: NodeType;
19
- attrs: Attrs | null;
20
- content: Node[];
21
- marks: readonly Mark[];
22
- };
23
- push(elt: Node): void;
24
- addText(text: string): void;
25
- openMark(mark: Mark): void;
26
- closeMark(mark: MarkType): void;
27
- parseTokens(toks: Token[]): void;
28
- addNode(type: NodeType, attrs: Attrs | null, content?: readonly Node[]): Node | null;
29
- openNode(type: NodeType, attrs: Attrs | null): void;
30
- closeNode(): Node | null;
31
- importNodes(nodes: readonly Node[]): void;
32
- }
33
- export interface ParseSpec {
34
- node?: string;
35
- block?: string;
36
- mark?: string;
37
- custom?: (stat: MarkdownParseState, token: Token, tokens: Token[], i: number) => void;
38
- attrs?: Attrs | null;
39
- getAttrs?: (token: Token, tokenStream: Token[], index: number) => Attrs | null;
40
- noCloseToken?: boolean;
41
- ignore?: boolean;
42
- }
43
- interface MarkdownTokenizer {
44
- parse(markdown: string, markdownEnv?: Record<string, any>): Array<Token>;
45
- }
46
- export declare class MarkdownParser {
47
- readonly schema: Schema;
48
- readonly tokenizer: MarkdownTokenizer;
49
- readonly tokens: {
50
- [name: string]: ParseSpec;
51
- };
52
- tokenHandlers: {
53
- [token: string]: (stat: MarkdownParseState, token: Token, tokens: Token[], i: number) => void;
54
- };
55
- constructor(schema: Schema, tokenizer: MarkdownTokenizer, tokens: {
56
- [name: string]: ParseSpec;
57
- });
58
- parse(text: string, markdownEnv?: Record<string, any>): Node;
59
- }
60
- export {};
61
- //# sourceMappingURL=MarkdownParser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownParser.d.ts","sourceRoot":"","sources":["../../../src/extension-markdown/src/MarkdownParser.ts"],"names":[],"mappings":"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"}
@@ -1,249 +0,0 @@
1
- import { Mark, } from 'prosemirror-model';
2
- const __dirname = globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).dirname;
3
- function maybeMerge(a, b) {
4
- if (a.isText && b.isText && Mark.sameSet(a.marks, b.marks)) {
5
- return a.withText(a.text + b.text);
6
- }
7
- }
8
- // Object used to track the context of a running parse.
9
- export class MarkdownParseState {
10
- constructor(schema, tokenHandlers) {
11
- Object.defineProperty(this, "schema", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: schema
16
- });
17
- Object.defineProperty(this, "tokenHandlers", {
18
- enumerable: true,
19
- configurable: true,
20
- writable: true,
21
- value: tokenHandlers
22
- });
23
- Object.defineProperty(this, "stack", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: void 0
28
- });
29
- this.stack = [{
30
- type: schema.topNodeType,
31
- attrs: null,
32
- content: [],
33
- marks: Mark.none,
34
- }];
35
- }
36
- top() {
37
- return this.stack[this.stack.length - 1];
38
- }
39
- push(elt) {
40
- if (this.stack.length)
41
- this.top().content.push(elt);
42
- }
43
- // Adds the given text to the current position in the document,
44
- // using the current marks as styling.
45
- addText(text) {
46
- if (!text)
47
- return;
48
- let top = this.top(), nodes = top.content, last = nodes[nodes.length - 1];
49
- let node = this.schema.text(text, top.marks), merged;
50
- if (last && (merged = maybeMerge(last, node))) {
51
- nodes[nodes.length - 1] = merged;
52
- }
53
- else
54
- nodes.push(node);
55
- }
56
- // Adds the given mark to the set of active marks.
57
- openMark(mark) {
58
- let top = this.top();
59
- top.marks = mark.addToSet(top.marks);
60
- }
61
- // Removes the given mark from the set of active marks.
62
- closeMark(mark) {
63
- let top = this.top();
64
- top.marks = mark.removeFromSet(top.marks);
65
- }
66
- parseTokens(toks) {
67
- for (let i = 0; i < toks.length; i++) {
68
- let tok = toks[i];
69
- let handler = this.tokenHandlers[tok.type];
70
- if (!handler) {
71
- console.log(Object.keys(this.tokenHandlers));
72
- throw new Error('Token type `' + tok.type + '` not supported by Markdown parser');
73
- }
74
- handler(this, tok, toks, i);
75
- }
76
- }
77
- // Add a node at the current position.
78
- addNode(type, attrs, content) {
79
- let top = this.top();
80
- let node = type.createAndFill(attrs, content, top ? top.marks : []);
81
- if (!node)
82
- return null;
83
- this.push(node);
84
- return node;
85
- }
86
- // Wrap subsequent content in a node of the given type.
87
- openNode(type, attrs) {
88
- this.stack.push({
89
- type: type,
90
- attrs: attrs,
91
- content: [],
92
- marks: Mark.none,
93
- });
94
- }
95
- // Close and return the node that is currently on top of the stack.
96
- closeNode() {
97
- let info = this.stack.pop();
98
- return this.addNode(info.type, info.attrs, info.content);
99
- }
100
- importNodes(nodes) {
101
- for (const node of nodes) {
102
- this.push(node);
103
- }
104
- }
105
- }
106
- function attrs(spec, token, tokens, i) {
107
- if (spec.getAttrs)
108
- return spec.getAttrs(token, tokens, i);
109
- // For backwards compatibility when `attrs` is a Function
110
- else if (spec.attrs instanceof Function)
111
- return spec.attrs(token);
112
- else
113
- return spec.attrs;
114
- }
115
- // Code content is represented as a single token with a `content`
116
- // property in Markdown-it.
117
- function noCloseToken(spec, type) {
118
- return spec.noCloseToken || type == 'code_block' ||
119
- type == 'fence';
120
- }
121
- function withoutTrailingNewline(str) {
122
- return str[str.length - 1] == '\n' ? str.slice(0, str.length - 1) : str;
123
- }
124
- function noOp() { }
125
- function tokenHandlers(schema, tokens) {
126
- let handlers = Object.create(null);
127
- for (let type in tokens) {
128
- let spec = tokens[type];
129
- if (spec.block) {
130
- let nodeType = schema.nodes[spec.block];
131
- if (noCloseToken(spec, type)) {
132
- handlers[type] = (state, tok, tokens, i) => {
133
- state.openNode(nodeType, attrs(spec, tok, tokens, i));
134
- state.addText(withoutTrailingNewline(tok.content));
135
- state.closeNode();
136
- };
137
- }
138
- else {
139
- handlers[type + '_open'] = (state, tok, tokens, i) => state.openNode(nodeType, attrs(spec, tok, tokens, i));
140
- handlers[type + '_close'] = (state) => state.closeNode();
141
- }
142
- }
143
- else if (spec.node) {
144
- let nodeType = schema.nodes[spec.node];
145
- handlers[type] = (state, tok, tokens, i) => state.addNode(nodeType, attrs(spec, tok, tokens, i));
146
- }
147
- else if (spec.mark) {
148
- let markType = schema.marks[spec.mark];
149
- if (noCloseToken(spec, type)) {
150
- handlers[type] = (state, tok, tokens, i) => {
151
- state.openMark(markType.create(attrs(spec, tok, tokens, i)));
152
- state.addText(withoutTrailingNewline(tok.content));
153
- state.closeMark(markType);
154
- };
155
- }
156
- else {
157
- handlers[type + '_open'] = (state, tok, tokens, i) => state.openMark(markType.create(attrs(spec, tok, tokens, i)));
158
- handlers[type + '_close'] = (state) => state.closeMark(markType);
159
- }
160
- }
161
- else if (spec.custom) {
162
- const custom = spec.custom;
163
- handlers[type] = (state, tok, tokens, i) => {
164
- custom(state, tok, tokens, i);
165
- };
166
- }
167
- else if (spec.ignore) {
168
- if (noCloseToken(spec, type)) {
169
- handlers[type] = noOp;
170
- }
171
- else {
172
- handlers[type + '_open'] = noOp;
173
- handlers[type + '_close'] = noOp;
174
- }
175
- }
176
- else {
177
- throw new RangeError('Unrecognized parsing spec ' + JSON.stringify(spec));
178
- }
179
- }
180
- handlers.text = (state, tok) => state.addText(tok.content);
181
- handlers.inline = (state, tok) => state.parseTokens(tok.children);
182
- handlers.softbreak = handlers.softbreak || ((state) => state.addText(' '));
183
- return handlers;
184
- }
185
- /// A configuration of a Markdown parser. Such a parser uses
186
- /// [markdown-it](https://github.com/markdown-it/markdown-it) to
187
- /// tokenize a file, and then runs the custom rules it is given over
188
- /// the tokens to create a ProseMirror document tree.
189
- export class MarkdownParser {
190
- /// Create a parser with the given configuration. You can configure
191
- /// the markdown-it parser to parse the dialect you want, and provide
192
- /// a description of the ProseMirror entities those tokens map to in
193
- /// the `tokens` object, which maps token names to descriptions of
194
- /// what to do with them. Such a description is an object, and may
195
- /// have the following properties:
196
- constructor(
197
- /// The parser's document schema.
198
- schema,
199
- /// This parser's markdown-it tokenizer.
200
- tokenizer,
201
- /// The value of the `tokens` object used to construct this
202
- /// parser. Can be useful to copy and modify to base other parsers
203
- /// on.
204
- tokens) {
205
- Object.defineProperty(this, "schema", {
206
- enumerable: true,
207
- configurable: true,
208
- writable: true,
209
- value: schema
210
- });
211
- Object.defineProperty(this, "tokenizer", {
212
- enumerable: true,
213
- configurable: true,
214
- writable: true,
215
- value: tokenizer
216
- });
217
- Object.defineProperty(this, "tokens", {
218
- enumerable: true,
219
- configurable: true,
220
- writable: true,
221
- value: tokens
222
- });
223
- /// @internal
224
- Object.defineProperty(this, "tokenHandlers", {
225
- enumerable: true,
226
- configurable: true,
227
- writable: true,
228
- value: void 0
229
- });
230
- this.tokenHandlers = tokenHandlers(schema, tokens);
231
- }
232
- /// Parse a string as [CommonMark](http://commonmark.org/) markup,
233
- /// and create a ProseMirror document as prescribed by this parser's
234
- /// rules.
235
- ///
236
- /// The second argument, when given, is passed through to the
237
- /// [Markdown
238
- /// parser](https://markdown-it.github.io/markdown-it/#MarkdownIt.parse).
239
- parse(text, markdownEnv = {}) {
240
- const state = new MarkdownParseState(this.schema, this.tokenHandlers);
241
- const tokens = this.tokenizer.parse(text, markdownEnv);
242
- state.parseTokens(tokens);
243
- let doc;
244
- do {
245
- doc = state.closeNode();
246
- } while (state.stack.length);
247
- return doc || this.schema.topNodeType.createAndFill();
248
- }
249
- }
@@ -1,42 +0,0 @@
1
- import { type Token } from './types.js';
2
- import { TokenSource } from './TokenSource.js';
3
- import { SmartOutput } from '../../editor/src/utilities/mod.js';
4
- export declare function writeIndented(output: SmartOutput<Token>, text: string, currentCtx: SerializerContext, token?: Token): void;
5
- type ListType = 'ul' | 'ol' | 'dl' | 'tl';
6
- export interface SerializerContext {
7
- meta: Record<string, any>;
8
- metaObj: Record<string, any>;
9
- blockquoteCnt: number;
10
- footnoteCnt: number;
11
- listPath: Array<ListType>;
12
- listType?: ListType;
13
- itemRow: number;
14
- itemNumber: number;
15
- itemSymbol: string;
16
- handlers: Record<string, Array<TokenHandler>>;
17
- log: (txt: string, token?: Token) => void;
18
- debug: (...args: any[]) => void;
19
- }
20
- export declare class ContextStash {
21
- private ctxStash;
22
- private currentCtx;
23
- readonly output: SmartOutput<Token>;
24
- constructor(handlers: Record<string, Array<TokenHandler>>);
25
- stash(reason: string): number;
26
- unstash(reason: string): void;
27
- rollback(rollbackPos: number, reason: string): void;
28
- get current(): SerializerContext;
29
- }
30
- export declare function serializeInlineTokens(ctx: ContextStash, tokenSource: TokenSource<Token>, tokens: Token[]): void;
31
- export type TokenHandler = (token: Token, ctx: ContextStash, tokenSource: TokenSource<Token>) => boolean | void;
32
- export interface MarkdownSerializerConfig {
33
- debug?: (...args: any[]) => void;
34
- }
35
- export declare class MarkdownSerializer {
36
- private ctx;
37
- constructor(config?: MarkdownSerializerConfig);
38
- private get endsWithEmptyLine();
39
- serialize(tokens: Token[]): SmartOutput<Token>;
40
- }
41
- export {};
42
- //# sourceMappingURL=MarkdownSerializer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownSerializer.d.ts","sourceRoot":"","sources":["../../../src/extension-markdown/src/MarkdownSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAOzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,iBAAiB,EAC7B,KAAK,CAAC,EAAE,KAAK,QAmGd;AAED,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,UAAU,CAAoB;IACtC,SAAgB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAmBlD,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA2B7B,OAAO,CAAC,MAAM,EAAE,MAAM;IAWtB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAWnD,IAAI,OAAO,sBAEV;CACF;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,EAC/B,MAAM,EAAE,KAAK,EAAE,QAgChB;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,KAC5B,OAAO,GAAG,IAAI,CAAC;AAEpB,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAClC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAAe;gBAEd,MAAM,GAAE,wBAA6B;IAcjD,OAAO,KAAK,iBAAiB,GAE5B;IAED,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;CAiH/C"}