@jupyterlab/codemirror 4.0.0-alpha.9 → 4.0.0-beta.1

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 (78) hide show
  1. package/lib/codemirror-ipythongfm.d.ts +9 -3
  2. package/lib/codemirror-ipythongfm.js +52 -30
  3. package/lib/codemirror-ipythongfm.js.map +1 -1
  4. package/lib/commands.d.ts +13 -0
  5. package/lib/commands.js +32 -0
  6. package/lib/commands.js.map +1 -0
  7. package/lib/editor.d.ts +48 -273
  8. package/lib/editor.js +220 -819
  9. package/lib/editor.js.map +1 -1
  10. package/lib/extension.d.ts +236 -0
  11. package/lib/extension.js +696 -0
  12. package/lib/extension.js.map +1 -0
  13. package/lib/extensions/customStyle.d.ts +25 -0
  14. package/lib/extensions/customStyle.js +51 -0
  15. package/lib/extensions/customStyle.js.map +1 -0
  16. package/lib/extensions/index.d.ts +3 -0
  17. package/lib/extensions/index.js +8 -0
  18. package/lib/extensions/index.js.map +1 -0
  19. package/lib/extensions/rulers.d.ts +8 -0
  20. package/lib/extensions/rulers.js +85 -0
  21. package/lib/extensions/rulers.js.map +1 -0
  22. package/lib/extensions/ybinding.d.ts +129 -0
  23. package/lib/extensions/ybinding.js +229 -0
  24. package/lib/extensions/ybinding.js.map +1 -0
  25. package/lib/factory.d.ts +15 -5
  26. package/lib/factory.js +53 -24
  27. package/lib/factory.js.map +1 -1
  28. package/lib/index.d.ts +7 -19
  29. package/lib/index.js +7 -23
  30. package/lib/index.js.map +1 -1
  31. package/lib/language.d.ts +96 -0
  32. package/lib/language.js +1687 -0
  33. package/lib/language.js.map +1 -0
  34. package/lib/mimetype.d.ts +3 -0
  35. package/lib/mimetype.js +16 -5
  36. package/lib/mimetype.js.map +1 -1
  37. package/lib/searchprovider.d.ts +219 -0
  38. package/lib/searchprovider.js +640 -0
  39. package/lib/searchprovider.js.map +1 -0
  40. package/lib/theme.d.ts +57 -0
  41. package/lib/theme.js +194 -0
  42. package/lib/theme.js.map +1 -0
  43. package/lib/token.d.ts +375 -0
  44. package/lib/token.js +18 -0
  45. package/lib/token.js.map +1 -0
  46. package/package.json +45 -41
  47. package/src/codemirror-ipythongfm.ts +109 -0
  48. package/src/commands.ts +34 -0
  49. package/src/editor.ts +783 -0
  50. package/src/extension.ts +890 -0
  51. package/src/extensions/customStyle.ts +79 -0
  52. package/src/extensions/index.ts +8 -0
  53. package/src/extensions/rulers.ts +112 -0
  54. package/src/extensions/ybinding.ts +295 -0
  55. package/src/factory.ts +100 -0
  56. package/src/index.ts +17 -0
  57. package/src/language.ts +1726 -0
  58. package/src/mimetype.ts +54 -0
  59. package/src/searchprovider.ts +813 -0
  60. package/src/theme.ts +219 -0
  61. package/src/token.ts +436 -0
  62. package/src/typings.d.ts +13 -0
  63. package/style/base.css +33 -187
  64. package/style/index.css +1 -7
  65. package/style/index.js +1 -7
  66. package/lib/codemirror-ipython.d.ts +0 -2
  67. package/lib/codemirror-ipython.js +0 -30
  68. package/lib/codemirror-ipython.js.map +0 -1
  69. package/lib/mode.d.ts +0 -82
  70. package/lib/mode.js +0 -150
  71. package/lib/mode.js.map +0 -1
  72. package/lib/syntaxstatus.d.ts +0 -67
  73. package/lib/syntaxstatus.js +0 -140
  74. package/lib/syntaxstatus.js.map +0 -1
  75. package/lib/tokens.d.ts +0 -18
  76. package/lib/tokens.js +0 -8
  77. package/lib/tokens.js.map +0 -1
  78. package/typings/codemirror/codemirror.d.ts +0 -227
package/lib/factory.js CHANGED
@@ -1,7 +1,11 @@
1
1
  // Copyright (c) Jupyter Development Team.
2
2
  // Distributed under the terms of the Modified BSD License.
3
3
  import { nullTranslator } from '@jupyterlab/translation';
4
+ import { EditorExtensionRegistry } from './extension';
4
5
  import { CodeMirrorEditor } from './editor';
6
+ import { EditorLanguageRegistry } from './language';
7
+ import { keymap } from '@codemirror/view';
8
+ import { searchKeymap } from '@codemirror/search';
5
9
  /**
6
10
  * CodeMirror editor factory.
7
11
  */
@@ -9,42 +13,67 @@ export class CodeMirrorEditorFactory {
9
13
  /**
10
14
  * Construct an IEditorFactoryService for CodeMirrorEditors.
11
15
  */
12
- constructor(defaults = {}, translator) {
16
+ constructor(options = {}) {
17
+ var _a, _b, _c;
13
18
  /**
14
19
  * Create a new editor for inline code.
15
20
  */
16
21
  this.newInlineEditor = (options) => {
22
+ var _a;
17
23
  options.host.dataset.type = 'inline';
18
- return new CodeMirrorEditor(Object.assign(Object.assign({}, options), { config: Object.assign(Object.assign({}, this.inlineCodeMirrorConfig), (options.config || {})), translator: this.translator }));
24
+ return this.newEditor({
25
+ ...options,
26
+ config: { ...this.inlineCodeMirrorConfig, ...(options.config || {}) },
27
+ inline: true,
28
+ // FIXME the search keymap should be added in the search plugin
29
+ extensions: [keymap.of(searchKeymap)].concat((_a = options.extensions) !== null && _a !== void 0 ? _a : [])
30
+ });
19
31
  };
20
32
  /**
21
33
  * Create a new editor for a full document.
22
34
  */
23
35
  this.newDocumentEditor = (options) => {
36
+ var _a, _b;
24
37
  options.host.dataset.type = 'document';
25
- return new CodeMirrorEditor(Object.assign(Object.assign({}, options), { config: Object.assign(Object.assign({}, this.documentCodeMirrorConfig), (options.config || {})), translator: this.translator }));
38
+ return this.newEditor({
39
+ ...options,
40
+ config: { ...this.documentCodeMirrorConfig, ...((_a = options.config) !== null && _a !== void 0 ? _a : {}) },
41
+ inline: false,
42
+ extensions: [
43
+ keymap.of([
44
+ {
45
+ key: 'Shift-Enter',
46
+ run: (target) => {
47
+ return true;
48
+ }
49
+ }
50
+ ])
51
+ ].concat((_b = options.extensions) !== null && _b !== void 0 ? _b : [])
52
+ });
26
53
  };
27
- this.translator = translator || nullTranslator;
28
- this.inlineCodeMirrorConfig = Object.assign(Object.assign(Object.assign({}, CodeMirrorEditor.defaultConfig), { extraKeys: {
29
- 'Cmd-Right': 'goLineRight',
30
- End: 'goLineRight',
31
- 'Cmd-Left': 'goLineLeft',
32
- Tab: 'indentMoreOrinsertTab',
33
- 'Shift-Tab': 'indentLess',
34
- 'Cmd-/': cm => cm.toggleComment({ indent: true }),
35
- 'Ctrl-/': cm => cm.toggleComment({ indent: true }),
36
- 'Ctrl-G': 'find',
37
- 'Cmd-G': 'find'
38
- } }), defaults);
39
- this.documentCodeMirrorConfig = Object.assign(Object.assign(Object.assign({}, CodeMirrorEditor.defaultConfig), { extraKeys: {
40
- Tab: 'indentMoreOrinsertTab',
41
- 'Shift-Tab': 'indentLess',
42
- 'Cmd-/': cm => cm.toggleComment({ indent: true }),
43
- 'Ctrl-/': cm => cm.toggleComment({ indent: true }),
44
- 'Shift-Enter': () => {
45
- /* no-op */
46
- }
47
- }, lineNumbers: true, scrollPastEnd: true }), defaults);
54
+ this.languages = (_a = options.languages) !== null && _a !== void 0 ? _a : new EditorLanguageRegistry();
55
+ this.extensions = (_b = options.extensions) !== null && _b !== void 0 ? _b : new EditorExtensionRegistry();
56
+ this.translator = (_c = options.translator) !== null && _c !== void 0 ? _c : nullTranslator;
57
+ this.inlineCodeMirrorConfig = {};
58
+ this.documentCodeMirrorConfig = {
59
+ lineNumbers: true,
60
+ scrollPastEnd: true
61
+ };
62
+ }
63
+ /**
64
+ * Create a new editor
65
+ *
66
+ * @param options Editor options
67
+ * @returns The editor
68
+ */
69
+ newEditor(options) {
70
+ const editor = new CodeMirrorEditor({
71
+ extensionsRegistry: this.extensions,
72
+ languages: this.languages,
73
+ translator: this.translator,
74
+ ...options
75
+ });
76
+ return editor;
48
77
  }
49
78
  }
50
79
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAG3D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAClC;;OAEG;IACH,YACE,WAA8C,EAAE,EAChD,UAAwB;QAmC1B;;WAEG;QACH,oBAAe,GAAG,CAAC,OAA4B,EAAoB,EAAE;YACnE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrC,OAAO,IAAI,gBAAgB,iCACtB,OAAO,KACV,MAAM,kCAAO,IAAI,CAAC,sBAAsB,GAAK,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,GACnE,UAAU,EAAE,IAAI,CAAC,UAAU,IAC3B,CAAC;QACL,CAAC,CAAC;QAEF;;WAEG;QACH,sBAAiB,GAAG,CAAC,OAA4B,EAAoB,EAAE;YACrE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;YACvC,OAAO,IAAI,gBAAgB,iCACtB,OAAO,KACV,MAAM,kCAAO,IAAI,CAAC,wBAAwB,GAAK,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,GACrE,UAAU,EAAE,IAAI,CAAC,UAAU,IAC3B,CAAC;QACL,CAAC,CAAC;QAvDA,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;QAC/C,IAAI,CAAC,sBAAsB,iDACtB,gBAAgB,CAAC,aAAa,KACjC,SAAS,EAAE;gBACT,WAAW,EAAE,aAAa;gBAC1B,GAAG,EAAE,aAAa;gBAClB,UAAU,EAAE,YAAY;gBACxB,GAAG,EAAE,uBAAuB;gBAC5B,WAAW,EAAE,YAAY;gBACzB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACjD,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAClD,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,MAAM;aAChB,KACE,QAAQ,CACZ,CAAC;QACF,IAAI,CAAC,wBAAwB,iDACxB,gBAAgB,CAAC,aAAa,KACjC,SAAS,EAAE;gBACT,GAAG,EAAE,uBAAuB;gBAC5B,WAAW,EAAE,YAAY;gBACzB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACjD,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAClD,aAAa,EAAE,GAAG,EAAE;oBAClB,WAAW;gBACb,CAAC;aACF,EACD,WAAW,EAAE,IAAI,EACjB,aAAa,EAAE,IAAI,KAChB,QAAQ,CACZ,CAAC;IACJ,CAAC;CA6BF"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAG3D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAOpD,OAAO,EAAc,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAClC;;OAEG;IACH,YAAY,UAAiC,EAAE;;QAW/C;;WAEG;QACM,oBAAe,GAAG,CACzB,OAA4B,EACV,EAAE;;YACpB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,GAAG,OAAO;gBACV,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE;gBACrE,MAAM,EAAE,IAAI;gBACZ,+DAA+D;gBAC/D,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;aACvE,CAAC,CAAC;QACL,CAAC,CAAC;QAEF;;WAEG;QACM,sBAAiB,GAAG,CAC3B,OAA4B,EACV,EAAE;;YACpB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;YACvC,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,GAAG,OAAO;gBACV,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,MAAA,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAC,EAAE;gBACvE,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE;oBACV,MAAM,CAAC,EAAE,CAAC;wBACR;4BACE,GAAG,EAAE,aAAa;4BAClB,GAAG,EAAE,CAAC,MAAkB,EAAE,EAAE;gCAC1B,OAAO,IAAI,CAAC;4BACd,CAAC;yBACF;qBACF,CAAC;iBACH,CAAC,MAAM,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;aACnC,CAAC,CAAC;QACL,CAAC,CAAC;QAhDA,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,sBAAsB,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,uBAAuB,EAAE,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,cAAc,CAAC;QACvD,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,wBAAwB,GAAG;YAC9B,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IA0CD;;;;;OAKG;IACO,SAAS,CACjB,OAA+D;QAE/D,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;YAClC,kBAAkB,EAAE,IAAI,CAAC,UAAU;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CAOF"}
package/lib/index.d.ts CHANGED
@@ -2,25 +2,13 @@
2
2
  * @packageDocumentation
3
3
  * @module codemirror
4
4
  */
5
- import { IEditorServices } from '@jupyterlab/codeeditor';
5
+ export * from './commands';
6
6
  export * from './editor';
7
+ export * from './extension';
8
+ export * from './extensions';
7
9
  export * from './factory';
10
+ export * from './language';
8
11
  export * from './mimetype';
9
- export * from './mode';
10
- export * from './syntaxstatus';
11
- export * from './tokens';
12
- /**
13
- * The default editor services.
14
- */
15
- export declare const editorServices: IEditorServices;
16
- /**
17
- * FIXME-TRANS: Maybe an option to be able to pass a translator to the factories?
18
- *
19
-
20
- export function getEditorServices(translator: ITranslator): IEditorServices {
21
- return {
22
- factoryService: new CodeMirrorEditorFactory({}, translator),
23
- mimeTypeService: new CodeMirrorMimeTypeService(translator)
24
- };
25
- }
26
- */
12
+ export * from './searchprovider';
13
+ export * from './theme';
14
+ export * from './token';
package/lib/index.js CHANGED
@@ -4,30 +4,14 @@
4
4
  * @packageDocumentation
5
5
  * @module codemirror
6
6
  */
7
- import { CodeMirrorEditorFactory } from './factory';
8
- import { CodeMirrorMimeTypeService } from './mimetype';
7
+ export * from './commands';
9
8
  export * from './editor';
9
+ export * from './extension';
10
+ export * from './extensions';
10
11
  export * from './factory';
12
+ export * from './language';
11
13
  export * from './mimetype';
12
- export * from './mode';
13
- export * from './syntaxstatus';
14
- export * from './tokens';
15
- /**
16
- * The default editor services.
17
- */
18
- export const editorServices = {
19
- factoryService: new CodeMirrorEditorFactory(),
20
- mimeTypeService: new CodeMirrorMimeTypeService()
21
- };
22
- /**
23
- * FIXME-TRANS: Maybe an option to be able to pass a translator to the factories?
24
- *
25
-
26
- export function getEditorServices(translator: ITranslator): IEditorServices {
27
- return {
28
- factoryService: new CodeMirrorEditorFactory({}, translator),
29
- mimeTypeService: new CodeMirrorMimeTypeService(translator)
30
- };
31
- }
32
- */
14
+ export * from './searchprovider';
15
+ export * from './theme';
16
+ export * from './token';
33
17
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AAEzB;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,cAAc,EAAE,IAAI,uBAAuB,EAAE;IAC7C,eAAe,EAAE,IAAI,yBAAyB,EAAE;CACjD,CAAC;AAEF;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { LanguageSupport, StreamParser } from '@codemirror/language';
2
+ import { ITranslator } from '@jupyterlab/translation';
3
+ import { IEditorLanguage, IEditorLanguageRegistry } from './token';
4
+ /**
5
+ * CodeMirror language registry
6
+ */
7
+ export declare class EditorLanguageRegistry implements IEditorLanguageRegistry {
8
+ private _modeList;
9
+ constructor();
10
+ /**
11
+ * Register a new language for CodeMirror
12
+ *
13
+ * @param language Language to register
14
+ */
15
+ addLanguage(language: IEditorLanguage): void;
16
+ /**
17
+ * Ensure a codemirror mode is available by name or Codemirror spec.
18
+ *
19
+ * @param language - The mode to ensure. If it is a string, uses [findBest]
20
+ * to get the appropriate spec.
21
+ *
22
+ * @returns A promise that resolves when the mode is available.
23
+ */
24
+ getLanguage(language: string | IEditorLanguage): Promise<IEditorLanguage | null>;
25
+ /**
26
+ * Get the raw list of available modes specs.
27
+ *
28
+ * @returns The available modes
29
+ */
30
+ getLanguages(): IEditorLanguage[];
31
+ /**
32
+ * Find a codemirror mode by MIME.
33
+ *
34
+ * @param mime Mime type to look for
35
+ * @param strict Whether xml and json should be assimilated to the generic mimetype
36
+ * @returns The mode or null
37
+ */
38
+ findByMIME(mime: string | readonly string[], strict?: boolean): IEditorLanguage | null;
39
+ /**
40
+ * Find a codemirror mode by name.
41
+ *
42
+ * @param name The mode name
43
+ * @returns The mode or null
44
+ */
45
+ findByName(name: string): IEditorLanguage | null;
46
+ /**
47
+ * Find a codemirror mode by extension.
48
+ *
49
+ * @param ext The extension name
50
+ * @returns The mode or null
51
+ */
52
+ findByExtension(ext: string | readonly string[]): IEditorLanguage | null;
53
+ /**
54
+ * Find a codemirror mode by filename.
55
+ *
56
+ * @param name File name
57
+ * @returns The mode or null
58
+ */
59
+ findByFileName(name: string): IEditorLanguage | null;
60
+ /**
61
+ * Find a codemirror mode by name or CodeMirror spec.
62
+ *
63
+ * @param language The CodeMirror mode
64
+ * @param fallback Whether to fallback to default mimetype spec or not
65
+ * @returns The mode or null
66
+ */
67
+ findBest(language: string | IEditorLanguage, fallback?: boolean): IEditorLanguage | null;
68
+ /**
69
+ * Parse and style a string.
70
+ *
71
+ * @param code Code to highlight
72
+ * @param language Code language
73
+ * @param el HTML element into which the highlighted code will be inserted
74
+ */
75
+ highlight(code: string, language: IEditorLanguage | null, el: HTMLElement): Promise<void>;
76
+ protected makeSpec(spec: IEditorLanguage): IEditorLanguage;
77
+ }
78
+ /**
79
+ * EditorLanguageRegistry namespace
80
+ */
81
+ export declare namespace EditorLanguageRegistry {
82
+ /**
83
+ * Convert an CodeMirror 5 language parser to CodeMirror 6
84
+ *
85
+ * @param parser Legacy parser
86
+ * @returns Language object
87
+ */
88
+ function legacy(parser: StreamParser<unknown>): LanguageSupport;
89
+ /**
90
+ * Get the default editor languages
91
+ *
92
+ * @param translator Application translator
93
+ * @returns Default CodeMirror 6 languages
94
+ */
95
+ function getDefaultLanguages(translator?: ITranslator | null): ReadonlyArray<IEditorLanguage>;
96
+ }