@difizen/libro-codemirror 0.1.1 → 0.1.2
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/es/auto-complete/filter.d.ts.map +1 -1
- package/es/auto-complete/filter.js +1 -7
- package/es/auto-complete/index.d.ts.map +1 -1
- package/es/auto-complete/index.js +5 -9
- package/es/auto-complete/snippet.d.ts.map +1 -1
- package/es/auto-complete/snippet.js +2 -2
- package/es/auto-complete/state.d.ts.map +1 -1
- package/es/auto-complete/state.js +5 -16
- package/es/auto-complete/view.d.ts +5 -0
- package/es/auto-complete/view.d.ts.map +1 -1
- package/es/auto-complete/view.js +2 -13
- package/es/completion.js +1 -1
- package/es/config.d.ts +15 -10
- package/es/config.d.ts.map +1 -1
- package/es/config.js +15 -6
- package/es/editor-contribution.d.ts +8 -0
- package/es/editor-contribution.d.ts.map +1 -0
- package/es/editor-contribution.js +30 -0
- package/es/editor.d.ts +40 -10
- package/es/editor.d.ts.map +1 -1
- package/es/editor.js +241 -45
- package/es/indentation-markers/map.d.ts +9 -9
- package/es/indentation-markers/map.d.ts.map +1 -1
- package/es/index.d.ts +3 -1
- package/es/index.d.ts.map +1 -1
- package/es/index.js +3 -1
- package/es/libro-icon.d.ts +2 -2
- package/es/libro-icon.d.ts.map +1 -1
- package/es/libro-icon.js +2 -2
- package/es/lsp/completion.d.ts +5 -0
- package/es/lsp/completion.d.ts.map +1 -0
- package/es/lsp/completion.js +245 -0
- package/es/lsp/format.d.ts +7 -0
- package/es/lsp/format.d.ts.map +1 -0
- package/es/lsp/format.js +193 -0
- package/es/lsp/index.d.ts +7 -0
- package/es/lsp/index.d.ts.map +1 -0
- package/es/lsp/index.js +6 -0
- package/es/lsp/lint.d.ts +3 -0
- package/es/lsp/lint.d.ts.map +1 -0
- package/es/lsp/lint.js +114 -0
- package/es/lsp/protocol.d.ts +7 -0
- package/es/lsp/protocol.d.ts.map +1 -0
- package/es/lsp/protocol.js +1 -0
- package/es/lsp/tooltip.d.ts +3 -0
- package/es/lsp/tooltip.d.ts.map +1 -0
- package/es/lsp/tooltip.js +113 -0
- package/es/lsp/util.d.ts +15 -0
- package/es/lsp/util.d.ts.map +1 -0
- package/es/lsp/util.js +58 -0
- package/es/mode.d.ts.map +1 -1
- package/es/module.d.ts +3 -0
- package/es/module.d.ts.map +1 -0
- package/es/module.js +4 -0
- package/es/theme.js +4 -5
- package/es/tooltip.d.ts.map +1 -1
- package/es/tooltip.js +2 -4
- package/package.json +7 -5
- package/src/auto-complete/filter.ts +5 -7
- package/src/auto-complete/index.ts +6 -7
- package/src/auto-complete/snippet.ts +8 -2
- package/src/auto-complete/state.ts +13 -18
- package/src/auto-complete/view.ts +7 -13
- package/src/completion.ts +2 -2
- package/src/config.ts +40 -28
- package/src/editor-contribution.ts +17 -0
- package/src/editor.ts +226 -50
- package/src/hyperlink.ts +1 -1
- package/src/indentation-markers/index.ts +3 -3
- package/src/indentation-markers/map.ts +9 -9
- package/src/index.ts +4 -1
- package/src/libro-icon.tsx +4 -0
- package/src/lsp/completion.ts +175 -0
- package/src/lsp/format.ts +144 -0
- package/src/lsp/index.ts +6 -0
- package/src/lsp/lint.ts +125 -0
- package/src/lsp/protocol.ts +8 -0
- package/src/lsp/tooltip.ts +76 -0
- package/src/lsp/util.ts +69 -0
- package/src/mode.ts +1 -1
- package/src/module.ts +8 -0
- package/src/theme.ts +4 -4
- package/src/tooltip.ts +2 -4
- package/src/libro-icon.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/auto-complete/filter.ts"],"names":[],"mappings":"AAsBA,qBAAa,YAAY;IAWX,QAAQ,CAAC,OAAO,EAAE,MAAM;IAVpC,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB,MAAM,EAAE,OAAO,CAAC;IAIhB,GAAG,EAAE,MAAM,EAAE,CAAM;IACnB,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,MAAM,EAAE,MAAM,EAAE,CAAM;gBAED,OAAO,EAAE,MAAM;IAoBpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/auto-complete/filter.ts"],"names":[],"mappings":"AAsBA,qBAAa,YAAY;IAWX,QAAQ,CAAC,OAAO,EAAE,MAAM;IAVpC,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB,MAAM,EAAE,OAAO,CAAC;IAIhB,GAAG,EAAE,MAAM,EAAE,CAAM;IACnB,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,MAAM,EAAE,MAAM,EAAE,CAAM;gBAED,OAAO,EAAE,MAAM;IAoBpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAkJpC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM;CAcxD"}
|
|
@@ -76,13 +76,7 @@ export var FuzzyMatcher = /*#__PURE__*/function () {
|
|
|
76
76
|
// at the start
|
|
77
77
|
if (chars.length === 1) {
|
|
78
78
|
var first = codePointAt(word, 0);
|
|
79
|
-
|
|
80
|
-
return [0, 0, codePointSize(first)];
|
|
81
|
-
}
|
|
82
|
-
if (first === folded[0]) {
|
|
83
|
-
return [Penalty.CaseFold, 0, codePointSize(first)];
|
|
84
|
-
}
|
|
85
|
-
return null;
|
|
79
|
+
return first === chars[0] ? [0, 0, codePointSize(first)] : first === folded[0] ? [Penalty.CaseFold, 0, codePointSize(first)] : null;
|
|
86
80
|
}
|
|
87
81
|
var direct = word.indexOf(this.pattern);
|
|
88
82
|
if (direct === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto-complete/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto-complete/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAWpD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AAGnC,wBAAgB,cAAc,CAAC,MAAM,GAAE,gBAAqB,GAAG,SAAS,CAQvE;AAWD,eAAO,MAAM,gBAAgB,EAAE,SAAS,UAAU,EAQjD,CAAC;AAYF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,CAOhF;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,UAAU,EAAE,CAa5E;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,IAAI,CAGxE;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAGzE;AAID,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAEzE"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
2
|
+
|
|
1
3
|
import { Prec } from '@codemirror/state';
|
|
2
4
|
import { keymap } from '@codemirror/view';
|
|
3
5
|
import { indentOrCompletion, indentOrTooltip } from "../indent.js";
|
|
@@ -59,17 +61,11 @@ var completionKeymapExt = Prec.highest(keymap.computeN([completionConfig], funct
|
|
|
59
61
|
/// returns `null`.
|
|
60
62
|
export function completionStatus(state) {
|
|
61
63
|
var cState = state.field(completionState, false);
|
|
62
|
-
|
|
64
|
+
return cState && cState.active.some(function (a) {
|
|
63
65
|
return a.state === State.Pending;
|
|
64
|
-
})) {
|
|
65
|
-
return 'pending';
|
|
66
|
-
}
|
|
67
|
-
if (cState && cState.active.some(function (a) {
|
|
66
|
+
}) ? 'pending' : cState && cState.active.some(function (a) {
|
|
68
67
|
return a.state !== State.Inactive;
|
|
69
|
-
})
|
|
70
|
-
return 'active';
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
68
|
+
}) ? 'active' : null;
|
|
73
69
|
}
|
|
74
70
|
var completionArrayCache = new WeakMap();
|
|
75
71
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet.d.ts","sourceRoot":"","sources":["../../src/auto-complete/snippet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snippet.d.ts","sourceRoot":"","sources":["../../src/auto-complete/snippet.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,WAAW,EACX,WAAW,EAEX,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAML,KAAK,EAEN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAmPlD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM;WAGnB,WAAW;mBAAiB,WAAW,KAAK,IAAI;gBACpD,UAAU,QACjB,MAAM,MACR,MAAM,UA0Bb;AAqBD,eAAO,MAAM,YAAY,EAAE,YAO1B,CAAC;AAGF,eAAO,MAAM,gBAAgB,cAAe,CAAC;AAG7C,eAAO,MAAM,gBAAgB,cAAgB,CAAC;AAY9C,eAAO,MAAM,aAAa,qDAMzB,CAAC;AASF,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,GACrB,UAAU,CAEZ"}
|
|
@@ -20,6 +20,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
20
20
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
21
21
|
/* eslint-disable @typescript-eslint/no-shadow */
|
|
22
22
|
/* eslint-disable prefer-const */
|
|
23
|
+
|
|
23
24
|
import { indentUnit } from '@codemirror/language';
|
|
24
25
|
import { StateField, StateEffect, EditorSelection, Text, Prec, Facet, MapMode } from '@codemirror/state';
|
|
25
26
|
import { Decoration, WidgetType, EditorView, keymap } from '@codemirror/view';
|
|
@@ -108,8 +109,7 @@ var Snippet = /*#__PURE__*/function () {
|
|
|
108
109
|
name = m[2] || m[3] || '',
|
|
109
110
|
found = -1;
|
|
110
111
|
for (var i = 0; i < fields.length; i++) {
|
|
111
|
-
|
|
112
|
-
if (seq !== null ? fields[i].seq === seq : sameName) {
|
|
112
|
+
if (seq !== null ? fields[i].seq === seq : name ? fields[i].name === name : false) {
|
|
113
113
|
found = i;
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/auto-complete/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAc,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACL,MAAM,EAKP,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/auto-complete/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,7 +78,7 @@ function sortOptions(active, state) {
|
|
|
78
78
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
79
79
|
var _option = _step5.value;
|
|
80
80
|
if (_match = matcher.match(_option.label)) {
|
|
81
|
-
if (_option.boost
|
|
81
|
+
if (_option.boost) {
|
|
82
82
|
_match[0] += _option.boost;
|
|
83
83
|
}
|
|
84
84
|
options.push(new Option(_option, a, _match));
|
|
@@ -107,7 +107,7 @@ function sortOptions(active, state) {
|
|
|
107
107
|
try {
|
|
108
108
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
109
109
|
var opt = _step2.value;
|
|
110
|
-
if (!prev || prev.label !== opt.completion.label || prev.detail !== opt.completion.detail || prev.type
|
|
110
|
+
if (!prev || prev.label !== opt.completion.label || prev.detail !== opt.completion.detail || prev.type && opt.completion.type && prev.type !== opt.completion.type || prev.apply !== opt.completion.apply) {
|
|
111
111
|
result.push(opt);
|
|
112
112
|
} else if (score(opt.completion) > score(prev)) {
|
|
113
113
|
result[result.length - 1] = opt;
|
|
@@ -197,14 +197,9 @@ export var CompletionState = /*#__PURE__*/function () {
|
|
|
197
197
|
})) {
|
|
198
198
|
active = this.active;
|
|
199
199
|
}
|
|
200
|
-
var open
|
|
201
|
-
if (tr.selection || active.some(function (a) {
|
|
200
|
+
var open = tr.selection || active.some(function (a) {
|
|
202
201
|
return a.hasResult() && tr.changes.touchesRange(a.from, a.to);
|
|
203
|
-
}) || !sameResults(active, this.active))
|
|
204
|
-
open = CompletionDialog.build(active, state, this.id, this.open, conf);
|
|
205
|
-
} else {
|
|
206
|
-
open = this.open && tr.docChanged ? this.open.map(tr.changes) : this.open;
|
|
207
|
-
}
|
|
202
|
+
}) || !sameResults(active, this.active) ? CompletionDialog.build(active, state, this.id, this.open, conf) : this.open && tr.docChanged ? this.open.map(tr.changes) : this.open;
|
|
208
203
|
if (!open && active.every(function (a) {
|
|
209
204
|
return a.state !== State.Pending;
|
|
210
205
|
}) && active.some(function (a) {
|
|
@@ -291,13 +286,7 @@ export var State = /*#__PURE__*/function (State) {
|
|
|
291
286
|
return State;
|
|
292
287
|
}({});
|
|
293
288
|
export function getUserEvent(tr) {
|
|
294
|
-
|
|
295
|
-
return 'input';
|
|
296
|
-
}
|
|
297
|
-
if (tr.isUserEvent('delete.backward')) {
|
|
298
|
-
return 'delete';
|
|
299
|
-
}
|
|
300
|
-
return null;
|
|
289
|
+
return tr.isUserEvent('input.type') ? 'input' : tr.isUserEvent('delete.backward') ? 'delete' : null;
|
|
301
290
|
}
|
|
302
291
|
export var ActiveSource = /*#__PURE__*/function () {
|
|
303
292
|
function ActiveSource(source, state) {
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
4
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
5
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
6
|
import type { Transaction } from '@codemirror/state';
|
|
2
7
|
import type { EditorView, Command, ViewUpdate } from '@codemirror/view';
|
|
3
8
|
import { ViewPlugin } from '@codemirror/view';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/auto-complete/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EAEP,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAA4B,MAAM,kBAAkB,CAAC;AAExE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAO,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAOL,YAAY,EAGb,MAAM,YAAY,CAAC;AAIpB,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,EAAE,GAAE,QAAQ,GAAG,MAAiB,GAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/auto-complete/view.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EAEP,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAA4B,MAAM,kBAAkB,CAAC;AAExE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAO,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAOL,YAAY,EAGb,MAAM,YAAY,CAAC;AAIpB,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,EAAE,GAAE,QAAQ,GAAG,MAAiB,GAC/B,OAAO,CAqCT;AAGD,eAAO,MAAM,gBAAgB,EAAE,OAc9B,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,OAO7B,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,OAO7B,CAAC;AAEF,cAAM,YAAY;IAQd,QAAQ,CAAC,MAAM,EAAE,YAAY;IAC7B,QAAQ,CAAC,OAAO,EAAE,iBAAiB;IARrC,IAAI,SAAc;IAClB,OAAO,EAAE,WAAW,EAAE,CAAM;IAG5B,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAAa;gBAG3C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,iBAAiB;CAEtC;AAMD,mBAAW,gBAAgB;IACzB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,OAAO,IAAA;IACP,eAAe,IAAA;CAChB;AAED,eAAO,MAAM,gBAAgB;oBAET,OAAO,OAAO,GAAG,CAAC,CAAC;aAC1B,YAAY,EAAE;oBACP,OAAO,OAAO,GAAG,CAAC,CAAC;;mBAGR,UAAU;mBAQtB,UAAU;;uBAsEN,YAAY;;;EA2HlC,CAAC"}
|
package/es/auto-complete/view.js
CHANGED
|
@@ -31,16 +31,7 @@ export function moveCompletionSelection(forward) {
|
|
|
31
31
|
step = Math.max(2, Math.floor(tooltip.dom.offsetHeight / tooltip.dom.querySelector('li').offsetHeight) - 1);
|
|
32
32
|
}
|
|
33
33
|
var length = cState.open.options.length;
|
|
34
|
-
var selected;
|
|
35
|
-
if (cState.open.selected > -1) {
|
|
36
|
-
selected = cState.open.selected + step * (forward ? 1 : -1);
|
|
37
|
-
} else {
|
|
38
|
-
if (forward) {
|
|
39
|
-
selected = 0;
|
|
40
|
-
} else {
|
|
41
|
-
selected = length - 1;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
34
|
+
var selected = cState.open.selected > -1 ? cState.open.selected + step * (forward ? 1 : -1) : forward ? 0 : length - 1;
|
|
44
35
|
if (selected < 0) {
|
|
45
36
|
selected = by === 'page' ? 0 : length - 1;
|
|
46
37
|
} else if (selected >= length) {
|
|
@@ -245,9 +236,7 @@ export var completionPlugin = ViewPlugin.fromClass( /*#__PURE__*/function () {
|
|
|
245
236
|
});
|
|
246
237
|
logException(_this3.view.state, err);
|
|
247
238
|
return undefined;
|
|
248
|
-
}).catch(
|
|
249
|
-
//
|
|
250
|
-
});
|
|
239
|
+
}).catch(console.error);
|
|
251
240
|
}
|
|
252
241
|
}, {
|
|
253
242
|
key: "scheduleAccept",
|
package/es/completion.js
CHANGED
|
@@ -22,7 +22,7 @@ export var kernelCompletions = function kernelCompletions(provider) {
|
|
|
22
22
|
_context.next = 7;
|
|
23
23
|
return Promise.any([provider({
|
|
24
24
|
cursorPosition: context.pos
|
|
25
|
-
}), new Promise(function (
|
|
25
|
+
}), new Promise(function (resolve, reject) {
|
|
26
26
|
setTimeout(function () {
|
|
27
27
|
reject("request time out in ".concat(timeout, "ms"));
|
|
28
28
|
}, timeout);
|
package/es/config.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Extension } from '@codemirror/state';
|
|
2
|
+
import { Compartment, StateEffect } from '@codemirror/state';
|
|
2
3
|
import type { KeyBinding } from '@codemirror/view';
|
|
3
4
|
import { EditorView } from '@codemirror/view';
|
|
4
5
|
import type { IEditorConfig } from '@difizen/libro-code-editor';
|
|
@@ -15,11 +16,6 @@ export interface CodeMirrorConfig extends IEditorConfig {
|
|
|
15
16
|
* content mimetype
|
|
16
17
|
*/
|
|
17
18
|
mimetype?: string;
|
|
18
|
-
/**
|
|
19
|
-
* The theme to style the editor with. see editortheme.ts for an example
|
|
20
|
-
* of how to design a theme for CodeMirror 6.
|
|
21
|
-
*/
|
|
22
|
-
theme?: string;
|
|
23
19
|
/**
|
|
24
20
|
* Whether to use the context-sensitive indentation that the mode provides
|
|
25
21
|
* (or just indent the same as the line before).
|
|
@@ -149,6 +145,14 @@ export interface CodeMirrorConfig extends IEditorConfig {
|
|
|
149
145
|
lspLint?: boolean;
|
|
150
146
|
placeholder?: HTMLElement | string;
|
|
151
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Builds an extension in a compartment that can
|
|
150
|
+
* be reconfigured.
|
|
151
|
+
*/
|
|
152
|
+
interface IConfigurableBuilder {
|
|
153
|
+
of: <T>(value: T) => Extension;
|
|
154
|
+
reconfigure: <T>(value: T) => StateEffect<unknown>;
|
|
155
|
+
}
|
|
152
156
|
/**
|
|
153
157
|
* Editor configuration: provides APIs to get and reconfigure CodeMirror 6
|
|
154
158
|
* extensions from option names. Also allows to register new themes and
|
|
@@ -175,10 +179,11 @@ export declare class EditorConfiguration {
|
|
|
175
179
|
* based on the provided configuration.
|
|
176
180
|
*/
|
|
177
181
|
getInitialExtensions(config: CodeMirrorConfig): Extension[];
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
182
|
+
protected updateThemeOverload(config: Partial<CodeMirrorConfig> | Record<string, any>): Extension;
|
|
183
|
+
protected get(key: string): IConfigurableBuilder | undefined;
|
|
184
|
+
protected _configurableBuilderMap: Map<string, IConfigurableBuilder>;
|
|
185
|
+
protected _themeOverloaderSpec: Record<string, Record<string, string>>;
|
|
186
|
+
protected _themeOverloader: Compartment;
|
|
183
187
|
}
|
|
188
|
+
export {};
|
|
184
189
|
//# sourceMappingURL=config.d.ts.map
|
package/es/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/es/config.js
CHANGED
|
@@ -25,18 +25,21 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
|
25
25
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
26
26
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
27
27
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
28
|
-
import { defaultKeymap,
|
|
28
|
+
import { defaultKeymap, history, historyKeymap } from '@codemirror/commands';
|
|
29
29
|
import { pythonLanguage } from '@codemirror/lang-python';
|
|
30
30
|
import { bracketMatching, defaultHighlightStyle, foldGutter, foldKeymap, indentOnInput, indentUnit, syntaxHighlighting } from '@codemirror/language';
|
|
31
31
|
import { lintKeymap } from '@codemirror/lint';
|
|
32
32
|
import { highlightSelectionMatches } from '@codemirror/search';
|
|
33
33
|
import { Compartment, EditorState, StateEffect } from '@codemirror/state';
|
|
34
|
-
import { crosshairCursor,
|
|
35
|
-
import { closeBrackets, closeBracketsKeymap,
|
|
34
|
+
import { crosshairCursor, drawSelection, dropCursor, EditorView, highlightActiveLine, highlightActiveLineGutter, highlightSpecialChars, keymap, lineNumbers, placeholder, rectangularSelection } from '@codemirror/view';
|
|
35
|
+
import { autocompletion, closeBrackets, closeBracketsKeymap, completionKeymap } from "./auto-complete/index.js";
|
|
36
36
|
import { kernelCompletions } from "./completion.js";
|
|
37
37
|
import { hyperLink } from "./hyperlink.js";
|
|
38
38
|
import { indentationMarkers } from "./indentation-markers/index.js";
|
|
39
39
|
import { FoldIcon, UnFoldIcon } from "./libro-icon.js";
|
|
40
|
+
import { lspPythonCompletion } from "./lsp/completion.js";
|
|
41
|
+
import { formatKeymap } from "./lsp/format.js";
|
|
42
|
+
import { lspLint, lspTooltip } from "./lsp/index.js";
|
|
40
43
|
import { ensure } from "./mode.js";
|
|
41
44
|
import { getTheme, defaultTheme } from "./theme.js";
|
|
42
45
|
import { tabTooltip, tooltipKeymap } from "./tooltip.js";
|
|
@@ -304,8 +307,14 @@ export var EditorConfiguration = /*#__PURE__*/function () {
|
|
|
304
307
|
}))], ['syntaxHighlighting', createConditionalBuilder(syntaxHighlighting(defaultHighlightStyle, {
|
|
305
308
|
fallback: true
|
|
306
309
|
}))], ['jupyterKernelCompletion', createConditionalBuilder(pythonLanguage.data.of({
|
|
307
|
-
autocomplete: kernelCompletions(options
|
|
308
|
-
}))], ['jupyterKernelTooltip', createConditionalBuilder(tabTooltip(options
|
|
310
|
+
autocomplete: kernelCompletions(options.completionProvider)
|
|
311
|
+
}))], ['jupyterKernelTooltip', createConditionalBuilder(tabTooltip(options.tooltipProvider))], ['indentationMarkers', createConditionalBuilder(indentationMarkers())], ['hyperLink', createConditionalBuilder(hyperLink)], ['placeholder', createPlaceHolderBuilder()], ['lspTooltip', createConditionalBuilder(lspTooltip({
|
|
312
|
+
lspProvider: options.lspProvider
|
|
313
|
+
}))], ['lspLint', createConditionalBuilder(lspLint({
|
|
314
|
+
lspProvider: options.lspProvider
|
|
315
|
+
}))], ['lspCompletion', createConditionalBuilder(lspPythonCompletion({
|
|
316
|
+
lspProvider: options.lspProvider
|
|
317
|
+
}))]]);
|
|
309
318
|
this._themeOverloaderSpec = {
|
|
310
319
|
'&': {},
|
|
311
320
|
'.cm-line': {}
|
|
@@ -406,7 +415,7 @@ export var EditorConfiguration = /*#__PURE__*/function () {
|
|
|
406
415
|
extensions.push(defaultTheme());
|
|
407
416
|
}
|
|
408
417
|
var builder = this.get('keymap');
|
|
409
|
-
var initialKeymap = [].concat(_toConsumableArray(libroDefaultKeymap), _toConsumableArray(closeBracketsKeymap), _toConsumableArray(historyKeymap), _toConsumableArray(foldKeymap), _toConsumableArray(completionKeymap), _toConsumableArray(lintKeymap), _toConsumableArray(tooltipKeymap));
|
|
418
|
+
var initialKeymap = [].concat(_toConsumableArray(libroDefaultKeymap), _toConsumableArray(closeBracketsKeymap), _toConsumableArray(historyKeymap), _toConsumableArray(foldKeymap), _toConsumableArray(completionKeymap), _toConsumableArray(lintKeymap), _toConsumableArray(tooltipKeymap), _toConsumableArray(formatKeymap));
|
|
410
419
|
var keymapExt = builder.of(config.extraKeys ? [initialKeymap].concat(_toConsumableArray(config.extraKeys)) : _toConsumableArray(initialKeymap));
|
|
411
420
|
var indentBuilder = this.get('indentUnit');
|
|
412
421
|
var insertExt = indentBuilder.of(config.insertSpaces ? ' '.repeat(config.tabSize) : '\t');
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CodeEditorFactory } from '@difizen/libro-code-editor';
|
|
2
|
+
import { CodeEditorContribution } from '@difizen/libro-code-editor';
|
|
3
|
+
export declare class CodeMirrorEditorContribution implements CodeEditorContribution {
|
|
4
|
+
canHandle(mime: string): number;
|
|
5
|
+
factory: CodeEditorFactory;
|
|
6
|
+
defaultConfig: Required<import("./config.js").CodeMirrorConfig>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=editor-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-contribution.d.ts","sourceRoot":"","sources":["../src/editor-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAMpE,qBACa,4BAA6B,YAAW,sBAAsB;IAEzE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B,OAAO,EAAE,iBAAiB,CAA2B;IACrD,aAAa,mDAA2B;CACzC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _dec, _class;
|
|
3
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
5
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
import { CodeEditorContribution } from '@difizen/libro-code-editor';
|
|
9
|
+
import { singleton } from '@difizen/mana-app';
|
|
10
|
+
import { codeMirrorDefaultConfig } from "./editor.js";
|
|
11
|
+
import { codeMirrorEditorFactory } from "./factory.js";
|
|
12
|
+
export var CodeMirrorEditorContribution = (_dec = singleton({
|
|
13
|
+
contrib: [CodeEditorContribution]
|
|
14
|
+
}), _dec(_class = /*#__PURE__*/function () {
|
|
15
|
+
function CodeMirrorEditorContribution() {
|
|
16
|
+
_classCallCheck(this, CodeMirrorEditorContribution);
|
|
17
|
+
this.factory = codeMirrorEditorFactory;
|
|
18
|
+
this.defaultConfig = codeMirrorDefaultConfig;
|
|
19
|
+
}
|
|
20
|
+
_createClass(CodeMirrorEditorContribution, [{
|
|
21
|
+
key: "canHandle",
|
|
22
|
+
value:
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
+
function canHandle(mime) {
|
|
25
|
+
// default editor
|
|
26
|
+
return 50;
|
|
27
|
+
}
|
|
28
|
+
}]);
|
|
29
|
+
return CodeMirrorEditorContribution;
|
|
30
|
+
}()) || _class);
|
package/es/editor.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ChangeSet, Extension, Range,
|
|
1
|
+
import type { ChangeSet, Extension, Range, StateCommand, StateEffectType, Text } from '@codemirror/state';
|
|
2
2
|
import { EditorState, StateField } from '@codemirror/state';
|
|
3
|
-
import { Decoration, EditorView } from '@codemirror/view';
|
|
4
3
|
import type { Command, DecorationSet, ViewUpdate } from '@codemirror/view';
|
|
5
|
-
import
|
|
4
|
+
import { Decoration, EditorView } from '@codemirror/view';
|
|
5
|
+
import type { ICoordinate, IEditor, IEditorConfig, IEditorOptions, IEditorSelectionStyle, IModel, IPosition, IRange, ITextSelection, IToken, KeydownHandler, SearchMatch } from '@difizen/libro-code-editor';
|
|
6
|
+
import type { LSPProvider } from '@difizen/libro-lsp';
|
|
6
7
|
import { Disposable, Emitter } from '@difizen/mana-app';
|
|
7
8
|
import type { CodeMirrorConfig } from './config.js';
|
|
8
9
|
import { EditorConfiguration } from './config.js';
|
|
@@ -14,11 +15,17 @@ import { EditorConfiguration } from './config.js';
|
|
|
14
15
|
*/
|
|
15
16
|
export declare const codeMirrorDefaultConfig: Required<CodeMirrorConfig>;
|
|
16
17
|
export declare class CodeMirrorEditor implements IEditor {
|
|
18
|
+
protected highlightEffect: StateEffectType<{
|
|
19
|
+
matches: SearchMatch[];
|
|
20
|
+
currentIndex: number | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
protected highlightMark: Decoration;
|
|
23
|
+
protected selectedMatchMark: Decoration;
|
|
24
|
+
protected highlightField: StateField<DecorationSet>;
|
|
17
25
|
/**
|
|
18
26
|
* Construct a CodeMirror editor.
|
|
19
27
|
*/
|
|
20
28
|
constructor(options: IOptions);
|
|
21
|
-
handleTooltipChange: (val: boolean) => void;
|
|
22
29
|
/**
|
|
23
30
|
* Initialize the editor binding.
|
|
24
31
|
*/
|
|
@@ -71,7 +78,7 @@ export declare class CodeMirrorEditor implements IEditor {
|
|
|
71
78
|
/**
|
|
72
79
|
* Tests whether the editor is disposed.
|
|
73
80
|
*/
|
|
74
|
-
get
|
|
81
|
+
get disposed(): boolean;
|
|
75
82
|
/**
|
|
76
83
|
* Dispose of the resources held by the widget.
|
|
77
84
|
*/
|
|
@@ -150,6 +157,7 @@ export declare class CodeMirrorEditor implements IEditor {
|
|
|
150
157
|
line: number;
|
|
151
158
|
ch: number;
|
|
152
159
|
}): string;
|
|
160
|
+
getSelectionValue(range?: IRange): string;
|
|
153
161
|
/**
|
|
154
162
|
* Add a keydown handler to the editor.
|
|
155
163
|
*
|
|
@@ -213,7 +221,13 @@ export declare class CodeMirrorEditor implements IEditor {
|
|
|
213
221
|
*
|
|
214
222
|
* @param text The text to be inserted.
|
|
215
223
|
*/
|
|
216
|
-
replaceSelection(text: string): void;
|
|
224
|
+
replaceSelection(text: string, range: IRange): void;
|
|
225
|
+
replaceSelections(edits: {
|
|
226
|
+
text: string;
|
|
227
|
+
range: IRange;
|
|
228
|
+
}[]): void;
|
|
229
|
+
highlightMatches(matches: SearchMatch[], currentIndex: number | undefined): void;
|
|
230
|
+
handleTooltipChange: (val: boolean) => void;
|
|
217
231
|
/**
|
|
218
232
|
* Get a list of tokens for the current editor text content.
|
|
219
233
|
*/
|
|
@@ -244,7 +258,15 @@ export declare class CodeMirrorEditor implements IEditor {
|
|
|
244
258
|
* Handles a mime type change.
|
|
245
259
|
*/
|
|
246
260
|
protected _onMimeTypeChanged(): void;
|
|
247
|
-
|
|
261
|
+
/**
|
|
262
|
+
* Handles a selections change.
|
|
263
|
+
*/
|
|
264
|
+
protected _onSelectionsChanged(args: ITextSelection[]): void;
|
|
265
|
+
/**
|
|
266
|
+
* Clean selections for the given uuid.
|
|
267
|
+
*/
|
|
268
|
+
protected _cleanSelections(uuid: string): void;
|
|
269
|
+
protected _buildMarkDecoration(uuid: string, selections: ISelectionText[]): Range<Decoration>[];
|
|
248
270
|
/**
|
|
249
271
|
* Converts the selection style to a text marker options.
|
|
250
272
|
*/
|
|
@@ -252,6 +274,10 @@ export declare class CodeMirrorEditor implements IEditor {
|
|
|
252
274
|
* Construct a caret element representing the position
|
|
253
275
|
* of a collaborator's cursor.
|
|
254
276
|
*/
|
|
277
|
+
/**
|
|
278
|
+
* Marks selections.
|
|
279
|
+
*/
|
|
280
|
+
protected _markSelections(uuid: string, selections: ITextSelection[]): void;
|
|
255
281
|
/**
|
|
256
282
|
* Handles a cursor activity event.
|
|
257
283
|
*/
|
|
@@ -319,13 +345,17 @@ export declare class CodeMirrorEditor implements IEditor {
|
|
|
319
345
|
* the position is no longer valid.
|
|
320
346
|
*/
|
|
321
347
|
protected _clearHover(): void;
|
|
348
|
+
/**
|
|
349
|
+
* Check for an out of sync editor.
|
|
350
|
+
*/
|
|
351
|
+
protected _checkSync(): void;
|
|
322
352
|
protected _model: IModel;
|
|
323
353
|
protected _editor: EditorView;
|
|
324
354
|
protected _selectionMarkers: Record<string, Range<Decoration>[]>;
|
|
325
355
|
protected _caretHover: HTMLElement | null;
|
|
326
356
|
protected _config: IConfig;
|
|
327
|
-
protected _hoverTimeout: number
|
|
328
|
-
protected _hoverId: string
|
|
357
|
+
protected _hoverTimeout: number;
|
|
358
|
+
protected _hoverId: string;
|
|
329
359
|
protected _keydownHandlers: KeydownHandler[];
|
|
330
360
|
protected _selectionStyle: IEditorSelectionStyle;
|
|
331
361
|
protected _uuid: string;
|
|
@@ -338,7 +368,7 @@ export declare class CodeMirrorEditor implements IEditor {
|
|
|
338
368
|
}
|
|
339
369
|
export type IConfig = CodeMirrorConfig;
|
|
340
370
|
export interface IOptions extends IEditorOptions {
|
|
341
|
-
|
|
371
|
+
lspProvider?: LSPProvider;
|
|
342
372
|
/**
|
|
343
373
|
* The configuration options for the editor.
|
|
344
374
|
*/
|
package/es/editor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"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"}
|