@nasa-jpl/aerie-sequence-languages 1.0.1 → 1.0.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/dist/cjs/languages/seq-n/language.d.ts +2 -3
- package/dist/cjs/languages/seq-n/language.d.ts.map +1 -1
- package/dist/cjs/languages/seq-n/language.js +37 -31
- package/dist/cjs/languages/seq-n/language.js.map +1 -1
- package/dist/cjs/languages/vml/language.js +1 -1
- package/dist/cjs/languages/vml/language.js.map +1 -1
- package/dist/cjs/languages/vml/vml.d.ts +1 -1
- package/dist/cjs/languages/vml/vml.d.ts.map +1 -1
- package/dist/cjs/languages/vml/vml.js +20 -17
- package/dist/cjs/languages/vml/vml.js.map +1 -1
- package/dist/esm/languages/seq-n/language.d.ts +2 -3
- package/dist/esm/languages/seq-n/language.d.ts.map +1 -1
- package/dist/esm/languages/seq-n/language.js +36 -31
- package/dist/esm/languages/seq-n/language.js.map +1 -1
- package/dist/esm/languages/vml/language.js +1 -1
- package/dist/esm/languages/vml/language.js.map +1 -1
- package/dist/esm/languages/vml/vml.d.ts +1 -1
- package/dist/esm/languages/vml/vml.d.ts.map +1 -1
- package/dist/esm/languages/vml/vml.js +20 -18
- package/dist/esm/languages/vml/vml.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { ViewPlugin } from "@codemirror/view";
|
|
2
1
|
import type { InputLanguage } from '../../interfaces/language.js';
|
|
3
2
|
import type { PhoenixContext, PhoenixResources } from '../../interfaces/phoenix.js';
|
|
4
3
|
import { GlobalVariable } from '../../types/global-types.js';
|
|
5
4
|
import { SeqNCommandInfoMapper } from './seq-n-tree-utils.js';
|
|
6
|
-
import type { Extension } from
|
|
5
|
+
import type { Extension } from '@codemirror/state';
|
|
7
6
|
export declare const sanitizeSmartQuotes: (s: string) => string;
|
|
8
|
-
export declare
|
|
7
|
+
export declare function sanitizeTextExtension(resources: PhoenixResources): import("@codemirror/view").ViewPlugin<{
|
|
9
8
|
update(update: any): void;
|
|
10
9
|
sanitizeDocument(view: any): void;
|
|
11
10
|
}, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../../src/languages/seq-n/language.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../../src/languages/seq-n/language.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO7D,OAAO,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;AAErF,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAKnE,eAAO,MAAM,mBAAmB,GAAI,GAAG,MAAM,WAAsE,CAAC;AAEpH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB;mBAS5C,GAAG;2BAiBK,GAAG;cAsB/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,EAAE,EAC1B,MAAM,CAAC,EAAE,qBAAqB,GAC7B;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAgB9B;AAED,eAAO,MAAM,YAAY,EAAE,aAO1B,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.seqnLanguage = exports.
|
|
3
|
+
exports.seqnLanguage = exports.sanitizeSmartQuotes = void 0;
|
|
4
|
+
exports.sanitizeTextExtension = sanitizeTextExtension;
|
|
4
5
|
exports.getSeqnExtensions = getSeqnExtensions;
|
|
5
6
|
const language_1 = require("@codemirror/language");
|
|
6
|
-
const view_1 = require("@codemirror/view");
|
|
7
7
|
const lodash_es_1 = require("lodash-es");
|
|
8
8
|
const seq_n_autoindent_js_1 = require("./seq-n-autoindent.js");
|
|
9
9
|
const seq_n_completion_js_1 = require("./seq-n-completion.js");
|
|
@@ -17,36 +17,42 @@ const state_1 = require("@codemirror/state");
|
|
|
17
17
|
const debouncedSeqNHighlightBlock = (0, lodash_es_1.debounce)(seq_n_highlighter_js_1.seqNHighlightBlock, 250);
|
|
18
18
|
const sanitizeSmartQuotes = (s) => s.replace(/[\u201C\u201D]/g, '"').replace(/[\u2018\u2019]/g, "'");
|
|
19
19
|
exports.sanitizeSmartQuotes = sanitizeSmartQuotes;
|
|
20
|
-
|
|
20
|
+
function sanitizeTextExtension(resources) {
|
|
21
21
|
// CodeMirror extension that sanitizes text when doc is opened or when text is pasted
|
|
22
22
|
// replaces curly quotes with ASCII quotes
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
23
|
+
return resources.ViewPlugin.fromClass(class {
|
|
24
|
+
constructor(view) {
|
|
25
|
+
this.sanitizeDocument(view);
|
|
26
|
+
}
|
|
27
|
+
update(update) {
|
|
28
|
+
if (!update.docChanged) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const openedOrPasted = update.transactions.some((t) => t.annotation(state_1.Transaction.userEvent) === 'file.open' ||
|
|
32
|
+
t.annotation(state_1.Transaction.userEvent) === 'input.paste');
|
|
33
|
+
if (!openedOrPasted) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this.sanitizeDocument(update.view);
|
|
37
|
+
}
|
|
38
|
+
sanitizeDocument(view) {
|
|
39
|
+
const text = view.state.doc.toString();
|
|
40
|
+
const clean = (0, exports.sanitizeSmartQuotes)(text);
|
|
41
|
+
if (clean === text) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
setTimeout(() => {
|
|
45
|
+
const oldSel = view.state.selection;
|
|
46
|
+
view.dispatch({
|
|
47
|
+
changes: { from: 0, to: view.state.doc.length, insert: clean },
|
|
48
|
+
annotations: [state_1.Transaction.userEvent.of('sanitize.smartQuotes')],
|
|
49
|
+
selection: state_1.EditorSelection.create(oldSel.ranges.map((r) => state_1.EditorSelection.range(r.from, r.to))),
|
|
50
|
+
});
|
|
51
|
+
}, 0);
|
|
52
|
+
console.warn(`sanitized doc, replaced curly quotes`);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
50
56
|
/**
|
|
51
57
|
* Get keyed object for SeqN editor extensions to more easily replace/extend components.
|
|
52
58
|
*/
|
|
@@ -64,7 +70,7 @@ function getSeqnExtensions(resources, context, globals, mapper) {
|
|
|
64
70
|
tooltip: (0, seq_n_tooltip_js_1.seqnTooltip)(context.commandDictionary, resources, context, mapper),
|
|
65
71
|
indent: resources.indentService.of((0, seq_n_autoindent_js_1.seqnAutoIndent)()),
|
|
66
72
|
highlight: [resources.EditorView.updateListener.of(debouncedSeqNHighlightBlock), (0, seq_n_highlighter_js_1.seqNBlockHighlighter)(resources)],
|
|
67
|
-
sanitize:
|
|
73
|
+
sanitize: sanitizeTextExtension(resources),
|
|
68
74
|
};
|
|
69
75
|
}
|
|
70
76
|
exports.seqnLanguage = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../../src/languages/seq-n/language.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../../src/languages/seq-n/language.ts"],"names":[],"mappings":";;;AAoBA,sDAgDC;AAKD,8CAqBC;AA9FD,mDAAuD;AACvD,yCAAqC;AAIrC,+DAAuD;AACvD,+DAAuD;AACvD,uDAA+C;AAC/C,iEAAkF;AAClF,uDAA+C;AAC/C,yDAAiD;AACjD,+DAAqF;AACrF,yCAA+C;AAE/C,6CAAiE;AAEjE,MAAM,2BAA2B,GAAG,IAAA,oBAAQ,EAAC,yCAAkB,EAAE,GAAG,CAAC,CAAC;AAE/D,MAAM,mBAAmB,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAAvG,QAAA,mBAAmB,uBAAoF;AAEpH,SAAgB,qBAAqB,CAAC,SAA2B;IAC/D,qFAAqF;IACrF,0CAA0C;IAC1C,OAAO,SAAS,CAAC,UAAU,CAAC,SAAS,CACnC;QACE,YAAY,IAAS;YACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,CAAC,MAAW;YAChB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAC7C,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,UAAU,CAAC,mBAAW,CAAC,SAAS,CAAC,KAAK,WAAW;gBACnD,CAAC,CAAC,UAAU,CAAC,mBAAW,CAAC,SAAS,CAAC,KAAK,aAAa,CACxD,CAAC;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,gBAAgB,CAAC,IAAS;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,IAAI,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC;oBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC9D,WAAW,EAAE,CAAC,mBAAW,CAAC,SAAS,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;oBAC/D,SAAS,EAAE,uBAAe,CAAC,MAAM,CAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,uBAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9E;iBACF,CAAC,CAAC;YACL,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACvD,CAAC;KACF,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,SAA2B,EAC3B,OAAuB,EACvB,OAA0B,EAC1B,MAA8B;IAE9B,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,2CAAqB,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,4BAAiB,EAAC,SAAS,CAAC,CAAC;IACpD,OAAO;QACL,eAAe,EAAE,IAAI,0BAAe,CAAC,cAAc,EAAE;YACnD,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,YAAY,EAAE,IAAA,oCAAc,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;aACvD,CAAC;SACH,CAAC;QACF,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,4BAAU,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5E,OAAO,EAAE,IAAA,8BAAW,EAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;QAC3E,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,IAAA,oCAAc,GAAE,CAAC;QACpD,SAAS,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC;QACjH,QAAQ,EAAE,qBAAqB,CAAC,SAAS,CAAC;KAC3C,CAAC;AACJ,CAAC;AAEY,QAAA,YAAY,GAAkB;IACzC,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,WAAW;IAC1B,kBAAkB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChG,iBAAiB,EAAE,IAAI,2CAAqB,EAAE;IAC9C,MAAM,EAAE,4BAAU;IAClB,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAA,2CAAqB,EAAC,QAAQ,CAAC,CAAC;CACnE,CAAC"}
|
|
@@ -17,7 +17,7 @@ const getEditorExtension = (context, resources) => {
|
|
|
17
17
|
resources.linter(view => (0, vml_linter_js_1.vmlLinter)(view, context.commandDictionary, librarySequenceMap, [])),
|
|
18
18
|
(0, vml_tooltip_js_1.vmlTooltip)(context.commandDictionary, librarySequenceMap, resources),
|
|
19
19
|
// indentService.of(adaptation.autoIndent()) // VML doesn't seem to have an indenter???
|
|
20
|
-
[resources.EditorView.updateListener.of(debouncedVmlHighlightBlock), vml_js_1.vmlBlockHighlighter],
|
|
20
|
+
[resources.EditorView.updateListener.of(debouncedVmlHighlightBlock), (0, vml_js_1.vmlBlockHighlighter)(resources)],
|
|
21
21
|
];
|
|
22
22
|
};
|
|
23
23
|
exports.vmlLanguage = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../../src/languages/vml/language.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAGrC,2DAA+E;AAC/E,yDAA+C;AAC/C,mDAA4C;AAC5C,qDAA8C;AAC9C,2DAA2D;AAC3D,qCAA2F;AAE3F,MAAM,0BAA0B,GAAG,IAAA,oBAAQ,EAAC,0BAAiB,EAAE,GAAG,CAAC,CAAC;AAEpE,MAAM,kBAAkB,GAAG,CAAC,OAAuB,EAAE,SAA2B,EAAE,EAAE;IAClF,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO;QACL,IAAA,gCAAuB,EACrB,SAAS,EACT,IAAA,mCAAe,EACb,OAAO,CAAC,iBAAiB,EACzB,EAAE,EAAE,iBAAiB;QACrB,kBAAkB,CACnB,CACF;QACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACtB,IAAA,yBAAS,EACP,IAAI,EACJ,OAAO,CAAC,iBAAiB,EACzB,kBAAkB,EAClB,EAAE,CACH,CACF;QACD,IAAA,2BAAU,EAAC,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,CAAC;QACpE,uFAAuF;QACvF,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAAE,4BAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../../src/languages/vml/language.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAGrC,2DAA+E;AAC/E,yDAA+C;AAC/C,mDAA4C;AAC5C,qDAA8C;AAC9C,2DAA2D;AAC3D,qCAA2F;AAE3F,MAAM,0BAA0B,GAAG,IAAA,oBAAQ,EAAC,0BAAiB,EAAE,GAAG,CAAC,CAAC;AAEpE,MAAM,kBAAkB,GAAG,CAAC,OAAuB,EAAE,SAA2B,EAAE,EAAE;IAClF,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO;QACL,IAAA,gCAAuB,EACrB,SAAS,EACT,IAAA,mCAAe,EACb,OAAO,CAAC,iBAAiB,EACzB,EAAE,EAAE,iBAAiB;QACrB,kBAAkB,CACnB,CACF;QACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACtB,IAAA,yBAAS,EACP,IAAI,EACJ,OAAO,CAAC,iBAAiB,EACzB,kBAAkB,EAClB,EAAE,CACH,CACF;QACD,IAAA,2BAAU,EAAC,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,CAAC;QACpE,uFAAuF;QACvF,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAAE,IAAA,4BAAmB,EAAC,SAAS,CAAC,CAAC;KACrG,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,WAAW,GAAkB;IACxC,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,MAAM;IACrB,kBAAkB;IAClB,iBAAiB,EAAE,IAAI,wCAAoB,EAAE;IAC7C,MAAM,EAAE,4BAAS;IACjB,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAA,2CAAuB,EAAC,QAAQ,CAAC,UAAU,CAAC;CAC9E,CAAC"}
|
|
@@ -7,7 +7,7 @@ export declare const vmlParser: import("@lezer/lr").LRParser;
|
|
|
7
7
|
export declare function getVmlLRLanguage(resources: PhoenixResources): import("@codemirror/language").LRLanguage;
|
|
8
8
|
export declare function setupVmlLanguageSupport(resources: PhoenixResources, autocomplete?: (context: CompletionContext) => CompletionResult | null): LanguageSupport;
|
|
9
9
|
export declare function vmlHighlightBlock(viewUpdate: ViewUpdate): SyntaxNode[];
|
|
10
|
-
export declare
|
|
10
|
+
export declare function vmlBlockHighlighter(resources: PhoenixResources): ViewPlugin<{
|
|
11
11
|
decorations: DecorationSet;
|
|
12
12
|
update(viewUpdate: ViewUpdate): DecorationSet | null;
|
|
13
13
|
}, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vml.d.ts","sourceRoot":"","sources":["../../../../src/languages/vml/vml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAwC,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAc,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAyBhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAYzD,eAAO,MAAM,SAAS,8BAAS,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,6CA4E3D;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,gBAAgB,EAC3B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,gBAAgB,GAAG,IAAI,GACrE,eAAe,CAQjB;AAMD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,CAsCtE;AAED,
|
|
1
|
+
{"version":3,"file":"vml.d.ts","sourceRoot":"","sources":["../../../../src/languages/vml/vml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAwC,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAc,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAyBhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAYzD,eAAO,MAAM,SAAS,8BAAS,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,6CA4E3D;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,gBAAgB,EAC3B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,gBAAgB,GAAG,IAAI,GACrE,eAAe,CAQjB;AAMD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,CAsCtE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,gBAAgB;iBAG5C,aAAa;uBAIP,UAAU,GAAG,aAAa,GAAG,IAAI;cAgBzD"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.vmlParser = void 0;
|
|
4
4
|
exports.getVmlLRLanguage = getVmlLRLanguage;
|
|
5
5
|
exports.setupVmlLanguageSupport = setupVmlLanguageSupport;
|
|
6
6
|
exports.vmlHighlightBlock = vmlHighlightBlock;
|
|
7
|
+
exports.vmlBlockHighlighter = vmlBlockHighlighter;
|
|
7
8
|
const language_1 = require("@codemirror/language");
|
|
8
9
|
const view_1 = require("@codemirror/view");
|
|
9
10
|
const highlight_1 = require("@lezer/highlight");
|
|
@@ -143,21 +144,23 @@ function vmlHighlightBlock(viewUpdate) {
|
|
|
143
144
|
}
|
|
144
145
|
return matchedNodes;
|
|
145
146
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
update(viewUpdate) {
|
|
151
|
-
if (viewUpdate.selectionSet || viewUpdate.docChanged || viewUpdate.viewportChanged) {
|
|
152
|
-
const blocks = vmlHighlightBlock(viewUpdate);
|
|
153
|
-
this.decorations = view_1.Decoration.set(
|
|
154
|
-
// codemirror requires marks to be in sorted order
|
|
155
|
-
blocks.sort((a, b) => a.from - b.from).map(block => block_js_1.blockMark.range(block.from, block.to)));
|
|
156
|
-
return this.decorations;
|
|
147
|
+
function vmlBlockHighlighter(resources) {
|
|
148
|
+
return resources.ViewPlugin.fromClass(class {
|
|
149
|
+
constructor() {
|
|
150
|
+
this.decorations = view_1.Decoration.none;
|
|
157
151
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
152
|
+
update(viewUpdate) {
|
|
153
|
+
if (viewUpdate.selectionSet || viewUpdate.docChanged || viewUpdate.viewportChanged) {
|
|
154
|
+
const blocks = vmlHighlightBlock(viewUpdate);
|
|
155
|
+
this.decorations = view_1.Decoration.set(
|
|
156
|
+
// codemirror requires marks to be in sorted order
|
|
157
|
+
blocks.sort((a, b) => a.from - b.from).map(block => block_js_1.blockMark.range(block.from, block.to)));
|
|
158
|
+
return this.decorations;
|
|
159
|
+
}
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
}, {
|
|
163
|
+
decorations: viewPluginSpecification => viewPluginSpecification.decorations,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
163
166
|
//# sourceMappingURL=vml.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vml.js","sourceRoot":"","sources":["../../../../src/languages/vml/vml.ts"],"names":[],"mappings":";;;AA0CA,4CA4EC;AAED,0DAWC;AAMD,8CAsCC;
|
|
1
|
+
{"version":3,"file":"vml.js","sourceRoot":"","sources":["../../../../src/languages/vml/vml.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { ViewPlugin } from "@codemirror/view";
|
|
2
1
|
import type { InputLanguage } from '../../interfaces/language.js';
|
|
3
2
|
import type { PhoenixContext, PhoenixResources } from '../../interfaces/phoenix.js';
|
|
4
3
|
import { GlobalVariable } from '../../types/global-types.js';
|
|
5
4
|
import { SeqNCommandInfoMapper } from './seq-n-tree-utils.js';
|
|
6
|
-
import type { Extension } from
|
|
5
|
+
import type { Extension } from '@codemirror/state';
|
|
7
6
|
export declare const sanitizeSmartQuotes: (s: string) => string;
|
|
8
|
-
export declare
|
|
7
|
+
export declare function sanitizeTextExtension(resources: PhoenixResources): import("@codemirror/view").ViewPlugin<{
|
|
9
8
|
update(update: any): void;
|
|
10
9
|
sanitizeDocument(view: any): void;
|
|
11
10
|
}, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../../src/languages/seq-n/language.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../../src/languages/seq-n/language.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO7D,OAAO,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;AAErF,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAKnE,eAAO,MAAM,mBAAmB,GAAI,GAAG,MAAM,WAAsE,CAAC;AAEpH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB;mBAS5C,GAAG;2BAiBK,GAAG;cAsB/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,EAAE,EAC1B,MAAM,CAAC,EAAE,qBAAqB,GAC7B;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAgB9B;AAED,eAAO,MAAM,YAAY,EAAE,aAO1B,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { LanguageSupport } from '@codemirror/language';
|
|
2
|
-
import { ViewPlugin } from "@codemirror/view";
|
|
3
2
|
import { debounce } from 'lodash-es';
|
|
4
3
|
import { seqnAutoIndent } from './seq-n-autoindent.js';
|
|
5
4
|
import { seqnCompletion } from './seq-n-completion.js';
|
|
@@ -9,39 +8,45 @@ import { seqnLinter } from './seq-n-linter.js';
|
|
|
9
8
|
import { seqnTooltip } from './seq-n-tooltip.js';
|
|
10
9
|
import { SeqNCommandInfoMapper, seqnToLibrarySequence } from './seq-n-tree-utils.js';
|
|
11
10
|
import { getSeqnLRLanguage } from './seq-n.js';
|
|
12
|
-
import { Transaction, EditorSelection } from
|
|
11
|
+
import { Transaction, EditorSelection } from '@codemirror/state';
|
|
13
12
|
const debouncedSeqNHighlightBlock = debounce(seqNHighlightBlock, 250);
|
|
14
13
|
export const sanitizeSmartQuotes = (s) => s.replace(/[\u201C\u201D]/g, '"').replace(/[\u2018\u2019]/g, "'");
|
|
15
|
-
export
|
|
14
|
+
export function sanitizeTextExtension(resources) {
|
|
16
15
|
// CodeMirror extension that sanitizes text when doc is opened or when text is pasted
|
|
17
16
|
// replaces curly quotes with ASCII quotes
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
17
|
+
return resources.ViewPlugin.fromClass(class {
|
|
18
|
+
constructor(view) {
|
|
19
|
+
this.sanitizeDocument(view);
|
|
20
|
+
}
|
|
21
|
+
update(update) {
|
|
22
|
+
if (!update.docChanged) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const openedOrPasted = update.transactions.some((t) => t.annotation(Transaction.userEvent) === 'file.open' ||
|
|
26
|
+
t.annotation(Transaction.userEvent) === 'input.paste');
|
|
27
|
+
if (!openedOrPasted) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.sanitizeDocument(update.view);
|
|
31
|
+
}
|
|
32
|
+
sanitizeDocument(view) {
|
|
33
|
+
const text = view.state.doc.toString();
|
|
34
|
+
const clean = sanitizeSmartQuotes(text);
|
|
35
|
+
if (clean === text) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
setTimeout(() => {
|
|
39
|
+
const oldSel = view.state.selection;
|
|
40
|
+
view.dispatch({
|
|
41
|
+
changes: { from: 0, to: view.state.doc.length, insert: clean },
|
|
42
|
+
annotations: [Transaction.userEvent.of('sanitize.smartQuotes')],
|
|
43
|
+
selection: EditorSelection.create(oldSel.ranges.map((r) => EditorSelection.range(r.from, r.to))),
|
|
44
|
+
});
|
|
45
|
+
}, 0);
|
|
46
|
+
console.warn(`sanitized doc, replaced curly quotes`);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
45
50
|
/**
|
|
46
51
|
* Get keyed object for SeqN editor extensions to more easily replace/extend components.
|
|
47
52
|
*/
|
|
@@ -59,7 +64,7 @@ export function getSeqnExtensions(resources, context, globals, mapper) {
|
|
|
59
64
|
tooltip: seqnTooltip(context.commandDictionary, resources, context, mapper),
|
|
60
65
|
indent: resources.indentService.of(seqnAutoIndent()),
|
|
61
66
|
highlight: [resources.EditorView.updateListener.of(debouncedSeqNHighlightBlock), seqNBlockHighlighter(resources)],
|
|
62
|
-
sanitize: sanitizeTextExtension
|
|
67
|
+
sanitize: sanitizeTextExtension(resources),
|
|
63
68
|
};
|
|
64
69
|
}
|
|
65
70
|
export const seqnLanguage = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../../src/languages/seq-n/language.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../../src/languages/seq-n/language.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const getEditorExtension = (context, resources) => {
|
|
|
14
14
|
resources.linter(view => vmlLinter(view, context.commandDictionary, librarySequenceMap, [])),
|
|
15
15
|
vmlTooltip(context.commandDictionary, librarySequenceMap, resources),
|
|
16
16
|
// indentService.of(adaptation.autoIndent()) // VML doesn't seem to have an indenter???
|
|
17
|
-
[resources.EditorView.updateListener.of(debouncedVmlHighlightBlock), vmlBlockHighlighter],
|
|
17
|
+
[resources.EditorView.updateListener.of(debouncedVmlHighlightBlock), vmlBlockHighlighter(resources)],
|
|
18
18
|
];
|
|
19
19
|
};
|
|
20
20
|
export const vmlLanguage = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../../src/languages/vml/language.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE3F,MAAM,0BAA0B,GAAG,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAEpE,MAAM,kBAAkB,GAAG,CAAC,OAAuB,EAAE,SAA2B,EAAE,EAAE;IAClF,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO;QACL,uBAAuB,CACrB,SAAS,EACT,eAAe,CACb,OAAO,CAAC,iBAAiB,EACzB,EAAE,EAAE,iBAAiB;QACrB,kBAAkB,CACnB,CACF;QACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACtB,SAAS,CACP,IAAI,EACJ,OAAO,CAAC,iBAAiB,EACzB,kBAAkB,EAClB,EAAE,CACH,CACF;QACD,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,CAAC;QACpE,uFAAuF;QACvF,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../../src/languages/vml/language.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE3F,MAAM,0BAA0B,GAAG,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAEpE,MAAM,kBAAkB,GAAG,CAAC,OAAuB,EAAE,SAA2B,EAAE,EAAE;IAClF,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO;QACL,uBAAuB,CACrB,SAAS,EACT,eAAe,CACb,OAAO,CAAC,iBAAiB,EACzB,EAAE,EAAE,iBAAiB;QACrB,kBAAkB,CACnB,CACF;QACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACtB,SAAS,CACP,IAAI,EACJ,OAAO,CAAC,iBAAiB,EACzB,kBAAkB,EAClB,EAAE,CACH,CACF;QACD,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,CAAC;QACpE,uFAAuF;QACvF,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;KACrG,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,MAAM;IACrB,kBAAkB;IAClB,iBAAiB,EAAE,IAAI,oBAAoB,EAAE;IAC7C,MAAM,EAAE,SAAS;IACjB,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,UAAU,CAAC;CAC9E,CAAC"}
|
|
@@ -7,7 +7,7 @@ export declare const vmlParser: import("@lezer/lr").LRParser;
|
|
|
7
7
|
export declare function getVmlLRLanguage(resources: PhoenixResources): import("@codemirror/language").LRLanguage;
|
|
8
8
|
export declare function setupVmlLanguageSupport(resources: PhoenixResources, autocomplete?: (context: CompletionContext) => CompletionResult | null): LanguageSupport;
|
|
9
9
|
export declare function vmlHighlightBlock(viewUpdate: ViewUpdate): SyntaxNode[];
|
|
10
|
-
export declare
|
|
10
|
+
export declare function vmlBlockHighlighter(resources: PhoenixResources): ViewPlugin<{
|
|
11
11
|
decorations: DecorationSet;
|
|
12
12
|
update(viewUpdate: ViewUpdate): DecorationSet | null;
|
|
13
13
|
}, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vml.d.ts","sourceRoot":"","sources":["../../../../src/languages/vml/vml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAwC,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAc,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAyBhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAYzD,eAAO,MAAM,SAAS,8BAAS,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,6CA4E3D;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,gBAAgB,EAC3B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,gBAAgB,GAAG,IAAI,GACrE,eAAe,CAQjB;AAMD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,CAsCtE;AAED,
|
|
1
|
+
{"version":3,"file":"vml.d.ts","sourceRoot":"","sources":["../../../../src/languages/vml/vml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAwC,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAc,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAyBhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAYzD,eAAO,MAAM,SAAS,8BAAS,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,6CA4E3D;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,gBAAgB,EAC3B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,gBAAgB,GAAG,IAAI,GACrE,eAAe,CAQjB;AAMD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,CAsCtE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,gBAAgB;iBAG5C,aAAa;uBAIP,UAAU,GAAG,aAAa,GAAG,IAAI;cAgBzD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LanguageSupport, foldInside, foldNodeProp, syntaxTree } from '@codemirror/language';
|
|
2
|
-
import { Decoration
|
|
2
|
+
import { Decoration } from '@codemirror/view';
|
|
3
3
|
import { styleTags, tags as t } from '@lezer/highlight';
|
|
4
4
|
import { blockMark } from '../../themes/block.js';
|
|
5
5
|
import { getNearestAncestorNodeOfType } from '../../utils/tree-utils.js';
|
|
@@ -135,22 +135,24 @@ export function vmlHighlightBlock(viewUpdate) {
|
|
|
135
135
|
}
|
|
136
136
|
return matchedNodes;
|
|
137
137
|
}
|
|
138
|
-
export
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
update(viewUpdate) {
|
|
144
|
-
if (viewUpdate.selectionSet || viewUpdate.docChanged || viewUpdate.viewportChanged) {
|
|
145
|
-
const blocks = vmlHighlightBlock(viewUpdate);
|
|
146
|
-
this.decorations = Decoration.set(
|
|
147
|
-
// codemirror requires marks to be in sorted order
|
|
148
|
-
blocks.sort((a, b) => a.from - b.from).map(block => blockMark.range(block.from, block.to)));
|
|
149
|
-
return this.decorations;
|
|
138
|
+
export function vmlBlockHighlighter(resources) {
|
|
139
|
+
return resources.ViewPlugin.fromClass(class {
|
|
140
|
+
decorations;
|
|
141
|
+
constructor() {
|
|
142
|
+
this.decorations = Decoration.none;
|
|
150
143
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
144
|
+
update(viewUpdate) {
|
|
145
|
+
if (viewUpdate.selectionSet || viewUpdate.docChanged || viewUpdate.viewportChanged) {
|
|
146
|
+
const blocks = vmlHighlightBlock(viewUpdate);
|
|
147
|
+
this.decorations = Decoration.set(
|
|
148
|
+
// codemirror requires marks to be in sorted order
|
|
149
|
+
blocks.sort((a, b) => a.from - b.from).map(block => blockMark.range(block.from, block.to)));
|
|
150
|
+
return this.decorations;
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
}, {
|
|
155
|
+
decorations: viewPluginSpecification => viewPluginSpecification.decorations,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
156
158
|
//# sourceMappingURL=vml.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vml.js","sourceRoot":"","sources":["../../../../src/languages/vml/vml.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"vml.js","sourceRoot":"","sources":["../../../../src/languages/vml/vml.ts"],"names":[],"mappings":"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"}
|