@jupyterlab/codemirror 4.0.0-alpha.2 → 4.0.0-alpha.21
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.
- package/lib/codemirror-ipythongfm.d.ts +9 -3
- package/lib/codemirror-ipythongfm.js +52 -30
- package/lib/codemirror-ipythongfm.js.map +1 -1
- package/lib/commands.d.ts +13 -0
- package/lib/commands.js +32 -0
- package/lib/commands.js.map +1 -0
- package/lib/editor.d.ts +48 -279
- package/lib/editor.js +220 -818
- package/lib/editor.js.map +1 -1
- package/lib/extension.d.ts +236 -0
- package/lib/extension.js +696 -0
- package/lib/extension.js.map +1 -0
- package/lib/extensions/customStyle.d.ts +25 -0
- package/lib/extensions/customStyle.js +51 -0
- package/lib/extensions/customStyle.js.map +1 -0
- package/lib/extensions/index.d.ts +3 -0
- package/lib/extensions/index.js +8 -0
- package/lib/extensions/index.js.map +1 -0
- package/lib/extensions/rulers.d.ts +8 -0
- package/lib/extensions/rulers.js +85 -0
- package/lib/extensions/rulers.js.map +1 -0
- package/lib/extensions/ybinding.d.ts +129 -0
- package/lib/extensions/ybinding.js +229 -0
- package/lib/extensions/ybinding.js.map +1 -0
- package/lib/factory.d.ts +15 -5
- package/lib/factory.js +53 -24
- package/lib/factory.js.map +1 -1
- package/lib/index.d.ts +7 -19
- package/lib/index.js +7 -23
- package/lib/index.js.map +1 -1
- package/lib/language.d.ts +96 -0
- package/lib/language.js +1690 -0
- package/lib/language.js.map +1 -0
- package/lib/mimetype.d.ts +3 -0
- package/lib/mimetype.js +16 -5
- package/lib/mimetype.js.map +1 -1
- package/lib/searchprovider.d.ts +219 -0
- package/lib/searchprovider.js +640 -0
- package/lib/searchprovider.js.map +1 -0
- package/lib/theme.d.ts +57 -0
- package/lib/theme.js +194 -0
- package/lib/theme.js.map +1 -0
- package/lib/token.d.ts +375 -0
- package/lib/token.js +18 -0
- package/lib/token.js.map +1 -0
- package/package.json +45 -41
- package/src/codemirror-ipythongfm.ts +109 -0
- package/src/commands.ts +34 -0
- package/src/editor.ts +783 -0
- package/src/extension.ts +890 -0
- package/src/extensions/customStyle.ts +79 -0
- package/src/extensions/index.ts +8 -0
- package/src/extensions/rulers.ts +112 -0
- package/src/extensions/ybinding.ts +295 -0
- package/src/factory.ts +100 -0
- package/src/index.ts +17 -0
- package/src/language.ts +1729 -0
- package/src/mimetype.ts +54 -0
- package/src/searchprovider.ts +813 -0
- package/src/theme.ts +219 -0
- package/src/token.ts +436 -0
- package/src/typings.d.ts +13 -0
- package/style/base.css +34 -162
- package/style/index.css +1 -7
- package/style/index.js +1 -7
- package/lib/codemirror-ipython.d.ts +0 -2
- package/lib/codemirror-ipython.js +0 -30
- package/lib/codemirror-ipython.js.map +0 -1
- package/lib/mode.d.ts +0 -81
- package/lib/mode.js +0 -149
- package/lib/mode.js.map +0 -1
- package/lib/syntaxstatus.d.ts +0 -67
- package/lib/syntaxstatus.js +0 -140
- package/lib/syntaxstatus.js.map +0 -1
- package/lib/tokens.d.ts +0 -18
- package/lib/tokens.js +0 -9
- package/lib/tokens.js.map +0 -1
- 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(
|
|
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
|
|
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
|
|
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.
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
package/lib/factory.js.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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 './
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
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
|
-
|
|
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 './
|
|
13
|
-
export * from './
|
|
14
|
-
export * from './
|
|
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;
|
|
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 { IEditorLanguage, IEditorLanguageRegistry } from './token';
|
|
3
|
+
import { ITranslator } from '@jupyterlab/translation';
|
|
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
|
+
}
|