@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.
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 -279
  8. package/lib/editor.js +220 -818
  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 +1690 -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 +1729 -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 +34 -162
  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 -81
  70. package/lib/mode.js +0 -149
  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 -9
  77. package/lib/tokens.js.map +0 -1
  78. package/typings/codemirror/codemirror.d.ts +0 -227
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Extension } from '@codemirror/state';
2
+ /**
3
+ * Editor customizable styles
4
+ */
5
+ export type CustomTheme = {
6
+ /**
7
+ * Font family
8
+ */
9
+ fontFamily: string | null;
10
+ /**
11
+ * Font size
12
+ */
13
+ fontSize: number | null;
14
+ /**
15
+ * Line height
16
+ */
17
+ lineHeight: number | null;
18
+ };
19
+ /**
20
+ * Get the extension to customize an editor theme.
21
+ *
22
+ * @param config Theme customization
23
+ * @returns Editor extension
24
+ */
25
+ export declare function customTheme(config: CustomTheme): Extension;
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { combineConfig, Facet } from '@codemirror/state';
6
+ import { EditorView } from '@codemirror/view';
7
+ /**
8
+ * Custom theme configuration
9
+ *
10
+ * The first non-null value takes precedence
11
+ */
12
+ const customThemeConfig = Facet.define({
13
+ combine(configs) {
14
+ return combineConfig(configs, {
15
+ fontFamily: null,
16
+ fontSize: null,
17
+ lineHeight: null
18
+ }, {
19
+ fontFamily: (a, b) => a !== null && a !== void 0 ? a : b,
20
+ fontSize: (a, b) => a !== null && a !== void 0 ? a : b,
21
+ lineHeight: (a, b) => a !== null && a !== void 0 ? a : b
22
+ });
23
+ }
24
+ });
25
+ function setEditorStyle(view) {
26
+ const { fontFamily, fontSize, lineHeight } = view.state.facet(customThemeConfig);
27
+ let style = '';
28
+ if (fontSize) {
29
+ style += `font-size: ${fontSize}px !important;`;
30
+ }
31
+ if (fontFamily) {
32
+ style += `font-family: ${fontFamily} !important;`;
33
+ }
34
+ if (lineHeight) {
35
+ style += `line-height: ${lineHeight.toString()} !important`;
36
+ }
37
+ return { style: style };
38
+ }
39
+ /**
40
+ * Get the extension to customize an editor theme.
41
+ *
42
+ * @param config Theme customization
43
+ * @returns Editor extension
44
+ */
45
+ export function customTheme(config) {
46
+ return [
47
+ customThemeConfig.of(config),
48
+ EditorView.editorAttributes.of(setEditorStyle)
49
+ ];
50
+ }
51
+ //# sourceMappingURL=customStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customStyle.js","sourceRoot":"","sources":["../../src/extensions/customStyle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAa,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAoB9C;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAA2B;IAC/D,OAAO,CAAC,OAAsB;QAC5B,OAAO,aAAa,CAClB,OAAO,EACP;YACE,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;SACjB,EACD;YACE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC;YAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC;SAC7B,CACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,IAAgB;IACtC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAEtC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,QAAQ,EAAE;QACZ,KAAK,IAAI,cAAc,QAAQ,gBAAgB,CAAC;KACjD;IACD,IAAI,UAAU,EAAE;QACd,KAAK,IAAI,gBAAgB,UAAU,cAAc,CAAC;KACnD;IACD,IAAI,UAAU,EAAE;QACd,KAAK,IAAI,gBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC7D;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,OAAO;QACL,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC;QAC5B,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,cAAc,CAAC;KAC/C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './customStyle';
2
+ export * from './rulers';
3
+ export * from './ybinding';
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export * from './customStyle';
6
+ export * from './rulers';
7
+ export * from './ybinding';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Extension } from '@codemirror/state';
2
+ /**
3
+ * Extension for CodeMirror 6 displaying rulers.
4
+ *
5
+ * @param value Rulers position
6
+ * @returns CodeMirror 6 extension
7
+ */
8
+ export declare function rulers(value: number[]): Extension;
@@ -0,0 +1,85 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ // Inspired by https://discuss.codemirror.net/t/how-to-implement-ruler/4616/
6
+ import { Facet } from '@codemirror/state';
7
+ import { EditorView, ViewPlugin } from '@codemirror/view';
8
+ import { JSONExt } from '@lumino/coreutils';
9
+ const RULERS_CLASSNAME = 'cm-rulers';
10
+ /**
11
+ * Rulers style
12
+ */
13
+ const baseTheme = EditorView.baseTheme({
14
+ [`.${RULERS_CLASSNAME}`]: { borderRight: '1px dotted gray', opacity: 0.7 }
15
+ });
16
+ /**
17
+ * Rulers facet
18
+ */
19
+ const rulerConfig = Facet.define({
20
+ // Merge all unique values
21
+ combine(value) {
22
+ const final = value.reduce((agg, arr) => agg.concat(
23
+ // Check value is not in aggregate nor multiple time in the array.
24
+ arr.filter((v, idx) => !agg.includes(v) && idx == arr.lastIndexOf(v))), []);
25
+ return final;
26
+ }
27
+ });
28
+ /**
29
+ * View plugin displaying the rulers
30
+ */
31
+ const plugin = ViewPlugin.fromClass(class {
32
+ constructor(view) {
33
+ this.rulersContainer = view.dom.appendChild(document.createElement('div'));
34
+ this.rulersContainer.style.cssText = `
35
+ position: absolute;
36
+ left: 0;
37
+ top: 0;
38
+ width: 100%;
39
+ height: 100%;
40
+ pointer-events: none;
41
+ overflow: hidden;
42
+ `;
43
+ const defaultCharacterWidth = view.defaultCharacterWidth;
44
+ const widths = view.state.facet(rulerConfig);
45
+ this.rulers = widths.map(width => {
46
+ const ruler = this.rulersContainer.appendChild(document.createElement('div'));
47
+ ruler.classList.add(RULERS_CLASSNAME);
48
+ ruler.style.cssText = `
49
+ position: absolute;
50
+ left: ${width * defaultCharacterWidth}px;
51
+ height: 100%;
52
+ `;
53
+ // FIXME: This should be equal to the amount of padding on a line.
54
+ // This value should be extracted from CodeMirror rather than hardcoded.
55
+ ruler.style.width = '6px';
56
+ return ruler;
57
+ });
58
+ }
59
+ update(update) {
60
+ const widths = update.view.state.facet(rulerConfig);
61
+ if (update.viewportChanged ||
62
+ !JSONExt.deepEqual(widths, update.startState.facet(rulerConfig))) {
63
+ const defaultCharacterWidth = update.view.defaultCharacterWidth;
64
+ this.rulers.forEach((ruler, rulerIdx) => {
65
+ ruler.style.left = `${widths[rulerIdx] * defaultCharacterWidth}px`;
66
+ });
67
+ }
68
+ }
69
+ destroy() {
70
+ this.rulers.forEach(ruler => {
71
+ ruler.remove();
72
+ });
73
+ this.rulersContainer.remove();
74
+ }
75
+ });
76
+ /**
77
+ * Extension for CodeMirror 6 displaying rulers.
78
+ *
79
+ * @param value Rulers position
80
+ * @returns CodeMirror 6 extension
81
+ */
82
+ export function rulers(value) {
83
+ return [baseTheme, rulerConfig.of(value), plugin];
84
+ }
85
+ //# sourceMappingURL=rulers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulers.js","sourceRoot":"","sources":["../../src/extensions/rulers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import { Extension, Facet, SelectionRange } from '@codemirror/state';
2
+ import { ViewPlugin, ViewUpdate } from '@codemirror/view';
3
+ import type { RelativePosition, Text, Transaction, UndoManager, YTextEvent } from 'yjs';
4
+ export type ID = {
5
+ client: number;
6
+ clock: number;
7
+ };
8
+ export type Position = {
9
+ type: ID | null;
10
+ tname: string | null;
11
+ item: ID | null;
12
+ assoc: number;
13
+ };
14
+ export type Range = {
15
+ yanchor: Position;
16
+ yhead: Position;
17
+ };
18
+ /**
19
+ * Defines a range on text using relative positions that can be transformed back to
20
+ * absolute positions. (https://docs.yjs.dev/api/relative-positions)
21
+ */
22
+ export declare class YRange {
23
+ yanchor: RelativePosition;
24
+ yhead: RelativePosition;
25
+ /**
26
+ * @param yanchor
27
+ * @param yhead
28
+ */
29
+ constructor(yanchor: RelativePosition, yhead: RelativePosition);
30
+ /**
31
+ * Convert the position to JSON
32
+ */
33
+ toJSON(): Range;
34
+ /**
35
+ * Convert a JSON range to a YRange
36
+ * @param json Range to convert
37
+ * @return The range as YRange
38
+ */
39
+ static fromJSON(json: Range): YRange;
40
+ }
41
+ /**
42
+ * Yjs binding configuration
43
+ */
44
+ export declare class YSyncConfig {
45
+ ytext: Text;
46
+ /**
47
+ * Create a new binding configuration
48
+ *
49
+ * @param ytext Yjs text to synchronize
50
+ */
51
+ constructor(ytext: Text);
52
+ /**
53
+ * Helper function to transform an absolute index position to a Yjs-based relative position
54
+ * (https://docs.yjs.dev/api/relative-positions).
55
+ *
56
+ * A relative position can be transformed back to an absolute position even after the document has changed. The position is
57
+ * automatically adapted. This does not require any position transformations. Relative positions are computed based on
58
+ * the internal Yjs document model. Peers that share content through Yjs are guaranteed that their positions will always
59
+ * synced up when using relative positions.
60
+ *
61
+ * ```js
62
+ * import { ySyncFacet } from 'y-codemirror'
63
+ *
64
+ * ..
65
+ * const ysync = view.state.facet(ySyncFacet)
66
+ * // transform an absolute index position to a ypos
67
+ * const ypos = ysync.getYPos(3)
68
+ * // transform the ypos back to an absolute position
69
+ * ysync.fromYPos(ypos) // => 3
70
+ * ```
71
+ *
72
+ * It cannot be guaranteed that absolute index positions can be synced up between peers.
73
+ * This might lead to undesired behavior when implementing features that require that all peers see the
74
+ * same marked range (e.g. a comment plugin).
75
+ *
76
+ * @param pos
77
+ * @param assoc
78
+ */
79
+ toYPos(pos: number, assoc?: number): RelativePosition;
80
+ /**
81
+ * @param rpos
82
+ */
83
+ fromYPos(rpos: RelativePosition | Record<string, any>): {
84
+ pos: number;
85
+ assoc: number;
86
+ };
87
+ /**
88
+ * @param range
89
+ * @return
90
+ */
91
+ toYRange(range: SelectionRange): YRange;
92
+ /**
93
+ * @param yrange
94
+ */
95
+ fromYRange(yrange: YRange): SelectionRange;
96
+ }
97
+ /**
98
+ * Yjs binding facet
99
+ */
100
+ export declare const ySyncFacet: Facet<YSyncConfig, YSyncConfig>;
101
+ /**
102
+ * Yjs binding annotation
103
+ *
104
+ * It is used to track the origin of the document changes
105
+ */
106
+ export declare const ySyncAnnotation: import("@codemirror/state").AnnotationType<YSyncConfig>;
107
+ /**
108
+ * Yjs binding view plugin to synchronize the
109
+ * editor state with the Yjs document.
110
+ */
111
+ export declare const ySync: ViewPlugin<{
112
+ update(update: ViewUpdate): void;
113
+ destroy(): void;
114
+ conf: YSyncConfig;
115
+ _observer: (event: YTextEvent, tr: Transaction) => void;
116
+ _ytext: Text;
117
+ }>;
118
+ /**
119
+ * Extension for CodeMirror 6 binding the Yjs text (source of truth)
120
+ * and the editor state.
121
+ *
122
+ * @param ytext Yjs text to bind
123
+ * @param undoManager Yjs text undo manager
124
+ * @returns CodeMirror 6 extension
125
+ */
126
+ export declare function ybinding({ ytext, undoManager }: {
127
+ ytext: Text;
128
+ undoManager?: UndoManager;
129
+ }): Extension;
@@ -0,0 +1,229 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ *
5
+ * Binding for yjs and codemirror
6
+ *
7
+ * It is a simplification of https://github.com/yjs/y-codemirror.next
8
+ * licensed under MIT License by Kevin Jahns
9
+ */
10
+ import { Annotation, EditorSelection, Facet } from '@codemirror/state';
11
+ import { ViewPlugin } from '@codemirror/view';
12
+ import { createAbsolutePositionFromRelativePosition, createRelativePositionFromJSON, createRelativePositionFromTypeIndex, relativePositionToJSON } from 'yjs';
13
+ /**
14
+ * Defines a range on text using relative positions that can be transformed back to
15
+ * absolute positions. (https://docs.yjs.dev/api/relative-positions)
16
+ */
17
+ export class YRange {
18
+ /**
19
+ * @param yanchor
20
+ * @param yhead
21
+ */
22
+ constructor(yanchor, yhead) {
23
+ this.yanchor = yanchor;
24
+ this.yhead = yhead;
25
+ }
26
+ /**
27
+ * Convert the position to JSON
28
+ */
29
+ toJSON() {
30
+ return {
31
+ yanchor: relativePositionToJSON(this.yanchor),
32
+ yhead: relativePositionToJSON(this.yhead)
33
+ };
34
+ }
35
+ /**
36
+ * Convert a JSON range to a YRange
37
+ * @param json Range to convert
38
+ * @return The range as YRange
39
+ */
40
+ static fromJSON(json) {
41
+ return new YRange(createRelativePositionFromJSON(json.yanchor), createRelativePositionFromJSON(json.yhead));
42
+ }
43
+ }
44
+ /**
45
+ * Yjs binding configuration
46
+ */
47
+ export class YSyncConfig {
48
+ /**
49
+ * Create a new binding configuration
50
+ *
51
+ * @param ytext Yjs text to synchronize
52
+ */
53
+ constructor(ytext) {
54
+ this.ytext = ytext;
55
+ }
56
+ /**
57
+ * Helper function to transform an absolute index position to a Yjs-based relative position
58
+ * (https://docs.yjs.dev/api/relative-positions).
59
+ *
60
+ * A relative position can be transformed back to an absolute position even after the document has changed. The position is
61
+ * automatically adapted. This does not require any position transformations. Relative positions are computed based on
62
+ * the internal Yjs document model. Peers that share content through Yjs are guaranteed that their positions will always
63
+ * synced up when using relative positions.
64
+ *
65
+ * ```js
66
+ * import { ySyncFacet } from 'y-codemirror'
67
+ *
68
+ * ..
69
+ * const ysync = view.state.facet(ySyncFacet)
70
+ * // transform an absolute index position to a ypos
71
+ * const ypos = ysync.getYPos(3)
72
+ * // transform the ypos back to an absolute position
73
+ * ysync.fromYPos(ypos) // => 3
74
+ * ```
75
+ *
76
+ * It cannot be guaranteed that absolute index positions can be synced up between peers.
77
+ * This might lead to undesired behavior when implementing features that require that all peers see the
78
+ * same marked range (e.g. a comment plugin).
79
+ *
80
+ * @param pos
81
+ * @param assoc
82
+ */
83
+ toYPos(pos, assoc = 0) {
84
+ return createRelativePositionFromTypeIndex(this.ytext, pos, assoc);
85
+ }
86
+ /**
87
+ * @param rpos
88
+ */
89
+ fromYPos(rpos) {
90
+ const pos = createAbsolutePositionFromRelativePosition(createRelativePositionFromJSON(rpos), this.ytext.doc);
91
+ if (pos == null || pos.type !== this.ytext) {
92
+ throw new Error('[y-codemirror] The position you want to retrieve was created by a different document');
93
+ }
94
+ return {
95
+ pos: pos.index,
96
+ assoc: pos.assoc
97
+ };
98
+ }
99
+ /**
100
+ * @param range
101
+ * @return
102
+ */
103
+ toYRange(range) {
104
+ const assoc = range.assoc;
105
+ const yanchor = this.toYPos(range.anchor, assoc);
106
+ const yhead = this.toYPos(range.head, assoc);
107
+ return new YRange(yanchor, yhead);
108
+ }
109
+ /**
110
+ * @param yrange
111
+ */
112
+ fromYRange(yrange) {
113
+ const anchor = this.fromYPos(yrange.yanchor);
114
+ const head = this.fromYPos(yrange.yhead);
115
+ if (anchor.pos === head.pos) {
116
+ return EditorSelection.cursor(head.pos, head.assoc);
117
+ }
118
+ return EditorSelection.range(anchor.pos, head.pos);
119
+ }
120
+ }
121
+ /**
122
+ * Yjs binding facet
123
+ */
124
+ export const ySyncFacet = Facet.define({
125
+ combine(inputs) {
126
+ return inputs[inputs.length - 1];
127
+ }
128
+ });
129
+ /**
130
+ * Yjs binding annotation
131
+ *
132
+ * It is used to track the origin of the document changes
133
+ */
134
+ export const ySyncAnnotation = Annotation.define();
135
+ /**
136
+ * Yjs binding view plugin to synchronize the
137
+ * editor state with the Yjs document.
138
+ */
139
+ export const ySync = ViewPlugin.fromClass(class {
140
+ constructor(view) {
141
+ this.conf = view.state.facet(ySyncFacet);
142
+ this._observer = (event, tr) => {
143
+ var _a;
144
+ if (tr.origin !== this.conf) {
145
+ const delta = event.delta;
146
+ const changes = [];
147
+ let pos = 0;
148
+ for (let i = 0; i < delta.length; i++) {
149
+ const d = delta[i];
150
+ if (d.insert != null) {
151
+ changes.push({ from: pos, to: pos, insert: d.insert });
152
+ }
153
+ else if (d.delete != null) {
154
+ changes.push({ from: pos, to: pos + d.delete, insert: '' });
155
+ pos += d.delete;
156
+ }
157
+ else {
158
+ pos += (_a = d.retain) !== null && _a !== void 0 ? _a : 0;
159
+ }
160
+ }
161
+ view.dispatch({
162
+ changes,
163
+ // Specified the changes origin to not loop when synchronizing
164
+ annotations: [ySyncAnnotation.of(this.conf)]
165
+ });
166
+ }
167
+ };
168
+ this._ytext = this.conf.ytext;
169
+ this._ytext.observe(this._observer);
170
+ }
171
+ update(update) {
172
+ if (!update.docChanged ||
173
+ (update.transactions.length > 0 &&
174
+ update.transactions[0].annotation(ySyncAnnotation) === this.conf)) {
175
+ return;
176
+ }
177
+ const ytext = this.conf.ytext;
178
+ ytext.doc.transact(() => {
179
+ /**
180
+ * This variable adjusts the fromA position to the current position in the Y.Text type.
181
+ */
182
+ let adj = 0;
183
+ update.changes.iterChanges((fromA, toA, fromB, toB, insert) => {
184
+ const insertText = insert.sliceString(0, insert.length, '\n');
185
+ if (fromA !== toA) {
186
+ ytext.delete(fromA + adj, toA - fromA);
187
+ }
188
+ if (insertText.length > 0) {
189
+ ytext.insert(fromA + adj, insertText);
190
+ }
191
+ adj += insertText.length - (toA - fromA);
192
+ });
193
+ // Set the configuration as origin to not loop when synchronizing
194
+ }, this.conf);
195
+ }
196
+ destroy() {
197
+ this._ytext.unobserve(this._observer);
198
+ }
199
+ });
200
+ /**
201
+ * Extension for CodeMirror 6 binding the Yjs text (source of truth)
202
+ * and the editor state.
203
+ *
204
+ * @param ytext Yjs text to bind
205
+ * @param undoManager Yjs text undo manager
206
+ * @returns CodeMirror 6 extension
207
+ */
208
+ export function ybinding({ ytext, undoManager }) {
209
+ const ySyncConfig = new YSyncConfig(ytext);
210
+ // We don't need the undo manager extension as in y-codemirror.next
211
+ // because we deal with undo/redo with our own keyboard shortcut mechanism.
212
+ return [
213
+ ySyncFacet.of(ySyncConfig),
214
+ ySync,
215
+ // We need to add a new origin to the undo manager to ensure text updates
216
+ // are tracked.
217
+ undoManager
218
+ ? ViewPlugin.define(() => {
219
+ undoManager.addTrackedOrigin(ySyncConfig);
220
+ return {
221
+ destroy: () => {
222
+ undoManager.removeTrackedOrigin(ySyncConfig);
223
+ }
224
+ };
225
+ })
226
+ : []
227
+ ];
228
+ }
229
+ //# sourceMappingURL=ybinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ybinding.js","sourceRoot":"","sources":["../../src/extensions/ybinding.ts"],"names":[],"mappings":"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"}
package/lib/factory.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { CodeEditor, IEditorFactoryService } from '@jupyterlab/codeeditor';
2
2
  import { ITranslator } from '@jupyterlab/translation';
3
3
  import { CodeMirrorEditor } from './editor';
4
+ import { IEditorExtensionFactory, IEditorExtensionRegistry, IEditorFactoryOptions, IEditorLanguageRegistry } from './token';
4
5
  /**
5
6
  * CodeMirror editor factory.
6
7
  */
@@ -8,16 +9,25 @@ export declare class CodeMirrorEditorFactory implements IEditorFactoryService {
8
9
  /**
9
10
  * Construct an IEditorFactoryService for CodeMirrorEditors.
10
11
  */
11
- constructor(defaults?: Partial<CodeMirrorEditor.IConfig>, translator?: ITranslator);
12
+ constructor(options?: IEditorFactoryOptions);
12
13
  /**
13
14
  * Create a new editor for inline code.
14
15
  */
15
- newInlineEditor: (options: CodeEditor.IOptions) => CodeMirrorEditor;
16
+ readonly newInlineEditor: (options: CodeEditor.IOptions) => CodeMirrorEditor;
16
17
  /**
17
18
  * Create a new editor for a full document.
18
19
  */
19
- newDocumentEditor: (options: CodeEditor.IOptions) => CodeMirrorEditor;
20
+ readonly newDocumentEditor: (options: CodeEditor.IOptions) => CodeMirrorEditor;
21
+ /**
22
+ * Create a new editor
23
+ *
24
+ * @param options Editor options
25
+ * @returns The editor
26
+ */
27
+ protected newEditor(options: CodeEditor.IOptions & IEditorExtensionFactory.IOptions): CodeMirrorEditor;
28
+ protected extensions: IEditorExtensionRegistry;
29
+ protected languages: IEditorLanguageRegistry;
20
30
  protected translator: ITranslator;
21
- protected inlineCodeMirrorConfig: Partial<CodeMirrorEditor.IConfig>;
22
- protected documentCodeMirrorConfig: Partial<CodeMirrorEditor.IConfig>;
31
+ protected inlineCodeMirrorConfig: Record<string, any>;
32
+ protected documentCodeMirrorConfig: Record<string, any>;
23
33
  }