parseman 0.50.0 → 0.50.3
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/README.md +14 -10
- package/dist/analysis/diagnostics.js +455 -226
- package/dist/analysis/diagnostics.js.map +3 -3
- package/dist/cli/index.js +445 -191
- package/dist/cli/index.js.map +3 -3
- package/dist/combinators/choice.d.ts.map +1 -1
- package/dist/combinators/grammar.d.ts.map +1 -1
- package/dist/combinators/keywords.d.ts.map +1 -1
- package/dist/combinators/literal.d.ts.map +1 -1
- package/dist/combinators/map.d.ts.map +1 -1
- package/dist/combinators/ref.d.ts.map +1 -1
- package/dist/combinators/regex.d.ts.map +1 -1
- package/dist/combinators/repeat.d.ts.map +1 -1
- package/dist/combinators/scalar.d.ts +6 -0
- package/dist/combinators/scalar.d.ts.map +1 -0
- package/dist/combinators/sequence.d.ts.map +1 -1
- package/dist/combinators/trivia-skip.d.ts +2 -0
- package/dist/combinators/trivia-skip.d.ts.map +1 -1
- package/dist/compiler/token-capability.js +0 -3
- package/dist/compiler/token-capability.js.map +2 -2
- package/dist/index.js +446 -192
- package/dist/index.js.map +3 -3
- package/dist/language-service/index.js +68 -172
- package/dist/language-service/index.js.map +3 -3
- package/dist/parse-context.d.ts.map +1 -1
- package/dist/plugin/index.js +491 -306
- package/dist/plugin/index.js.map +3 -3
- package/dist/run/index.js +1 -0
- package/dist/run/index.js.map +1 -1
- package/dist/spec/index.js +399 -277
- package/dist/spec/index.js.map +3 -3
- package/dist/table/emit-assembly.d.ts.map +1 -1
- package/dist/table/encode.d.ts.map +1 -1
- package/dist/table/index.js +331 -188
- package/dist/table/index.js.map +3 -3
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +4 -2
- package/src/combinators/choice.ts +34 -1
- package/src/combinators/grammar.ts +39 -0
- package/src/combinators/keywords.ts +14 -3
- package/src/combinators/literal.ts +26 -0
- package/src/combinators/map.ts +60 -0
- package/src/combinators/ref.ts +26 -7
- package/src/combinators/regex.ts +23 -0
- package/src/combinators/repeat.ts +109 -16
- package/src/combinators/scalar.ts +30 -0
- package/src/combinators/sequence.ts +76 -161
- package/src/combinators/trivia-skip.ts +14 -1
- package/src/parse-context.ts +1 -0
- package/src/table/emit-assembly.ts +39 -16
- package/src/table/encode.ts +30 -10
- package/src/types.ts +8 -0
- package/src/version.ts +1 -1
|
@@ -46,7 +46,7 @@ function annotateSpanFromLineContext(span, ctx) {
|
|
|
46
46
|
function cstCaptureActive(ctx) {
|
|
47
47
|
return ctx._cstBuf !== void 0 || ctx._cstLeaves !== void 0;
|
|
48
48
|
}
|
|
49
|
-
function pushCstChild(ctx, built,
|
|
49
|
+
function pushCstChild(ctx, built, rawEntry) {
|
|
50
50
|
const b = ctx._cstBuf;
|
|
51
51
|
if (b) {
|
|
52
52
|
if (b.rawOnly !== true) {
|
|
@@ -57,16 +57,16 @@ function pushCstChild(ctx, built, rawEntry2) {
|
|
|
57
57
|
} else b.single = built;
|
|
58
58
|
}
|
|
59
59
|
if (b.noRaw === true) b.rawLen = (b.rawLen ?? 0) + 1;
|
|
60
|
-
else if (b.raw) b.raw.push(
|
|
60
|
+
else if (b.raw) b.raw.push(rawEntry);
|
|
61
61
|
else if (b.rawSingle !== void 0) {
|
|
62
|
-
b.raw = [b.rawSingle,
|
|
62
|
+
b.raw = [b.rawSingle, rawEntry];
|
|
63
63
|
b.rawSingle = void 0;
|
|
64
|
-
} else b.rawSingle =
|
|
64
|
+
} else b.rawSingle = rawEntry;
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
67
|
if (ctx._cstChildren) ctx._cstChildren.push(built);
|
|
68
68
|
else if (ctx._cstLeaves) ctx._cstLeaves.push(built);
|
|
69
|
-
if (ctx._cstRawChildren) ctx._cstRawChildren.push(
|
|
69
|
+
if (ctx._cstRawChildren) ctx._cstRawChildren.push(rawEntry);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
// src/recovery/scan.ts
|
|
@@ -180,6 +180,7 @@ function createParseContext() {
|
|
|
180
180
|
_fe: void 0,
|
|
181
181
|
_fx: void 0,
|
|
182
182
|
_fc: void 0,
|
|
183
|
+
_sv: void 0,
|
|
183
184
|
_probe: void 0,
|
|
184
185
|
_cstChildren: void 0,
|
|
185
186
|
_cstLeaves: void 0,
|
|
@@ -327,24 +328,24 @@ function buildRootTriviaIndex(log, labels) {
|
|
|
327
328
|
},
|
|
328
329
|
gapsWithKind(kind) {
|
|
329
330
|
const kinds = typeof kind === "string" ? [kind] : kind;
|
|
330
|
-
const
|
|
331
|
+
const matches = [];
|
|
331
332
|
for (let first = 0; first < length; ) {
|
|
332
333
|
let last = first + 1;
|
|
333
334
|
while (last < length && ownedRangeStart(last) === ownedRangeStart(first) && ownedRangeEnd(last) === ownedRangeEnd(first)) last++;
|
|
334
335
|
let matched = false;
|
|
335
336
|
for (let i = first; i < last && !matched; i++) {
|
|
336
|
-
const
|
|
337
|
+
const label = labels[markerKind(i)];
|
|
337
338
|
for (const kind2 of kinds) {
|
|
338
|
-
if (
|
|
339
|
+
if (label === kind2) {
|
|
339
340
|
matched = true;
|
|
340
341
|
break;
|
|
341
342
|
}
|
|
342
343
|
}
|
|
343
344
|
}
|
|
344
|
-
if (matched)
|
|
345
|
+
if (matched) matches.push(makeGap(first, last));
|
|
345
346
|
first = last;
|
|
346
347
|
}
|
|
347
|
-
return
|
|
348
|
+
return matches.length === 0 ? EMPTY_GAPS : matches;
|
|
348
349
|
}
|
|
349
350
|
};
|
|
350
351
|
}
|
|
@@ -476,9 +477,9 @@ function runOnce(entry, input, options) {
|
|
|
476
477
|
throw new TypeError("run(): rootTrivia.select requires labeled grammar trivia.");
|
|
477
478
|
}
|
|
478
479
|
if (captureRootTrivia) {
|
|
479
|
-
for (const
|
|
480
|
-
if (!triviaKindLabels.includes(
|
|
481
|
-
throw new TypeError(`run(): rootTrivia.select contains unknown trivia label ${JSON.stringify(
|
|
480
|
+
for (const label of rootTriviaSelection) {
|
|
481
|
+
if (!triviaKindLabels.includes(label)) {
|
|
482
|
+
throw new TypeError(`run(): rootTrivia.select contains unknown trivia label ${JSON.stringify(label)}.`);
|
|
482
483
|
}
|
|
483
484
|
}
|
|
484
485
|
}
|
|
@@ -570,111 +571,6 @@ function deeperFail(a, b) {
|
|
|
570
571
|
return a.span.start >= b.span.start ? a : b;
|
|
571
572
|
}
|
|
572
573
|
|
|
573
|
-
// src/regex/classes.ts
|
|
574
|
-
var META = new Set("()[]{}*+?|^$.".split(""));
|
|
575
|
-
|
|
576
|
-
// src/table/ops.ts
|
|
577
|
-
var OP_LIT = 1;
|
|
578
|
-
var OP_RX = 2;
|
|
579
|
-
var OP_SEQ = 3;
|
|
580
|
-
var OP_SEQV = 4;
|
|
581
|
-
var OP_CHOICE = 5;
|
|
582
|
-
var OP_REP = 6;
|
|
583
|
-
var OP_REPV = 7;
|
|
584
|
-
var OP_OPT = 8;
|
|
585
|
-
var OP_XFORM = 9;
|
|
586
|
-
var OP_NODE = 10;
|
|
587
|
-
var OP_RULE = 11;
|
|
588
|
-
var OP_GATE = 12;
|
|
589
|
-
var OP_NOT = 13;
|
|
590
|
-
var OP_PEEK = 14;
|
|
591
|
-
var OP_LEAF = 15;
|
|
592
|
-
var OP_EMPTY = 16;
|
|
593
|
-
var OP_LIT_TRACK = 17;
|
|
594
|
-
var OP_RX_TRACK = 18;
|
|
595
|
-
var OP_NODE_TRACK = 19;
|
|
596
|
-
var OP_SCOPE = 20;
|
|
597
|
-
var OP_EXPECT = 21;
|
|
598
|
-
var OP_SEQX = 22;
|
|
599
|
-
var OP_SCAN = 23;
|
|
600
|
-
var OP_FIELD = 24;
|
|
601
|
-
var OP_LIT_CI = 27;
|
|
602
|
-
var OP_LIT_CI_TRACK = 28;
|
|
603
|
-
var OP_TOKEN = 29;
|
|
604
|
-
var OP_SCOPE_CAP = 30;
|
|
605
|
-
var OP_WITHCTX = 31;
|
|
606
|
-
var OP_GUARD = 32;
|
|
607
|
-
var OP_ADJ = 33;
|
|
608
|
-
var OP_GREEDY = 34;
|
|
609
|
-
var OP_REJECT = 35;
|
|
610
|
-
var OP_ARMGATE = 36;
|
|
611
|
-
var OP_LIVE = 37;
|
|
612
|
-
var OP_ATTEMPT = 38;
|
|
613
|
-
var OP_LABEL = 39;
|
|
614
|
-
var OP_COV = 40;
|
|
615
|
-
var OP_SCOPE_PLAIN = 41;
|
|
616
|
-
var OP_LEX_BODY = 42;
|
|
617
|
-
var OP_LEX_PROGRAM = 43;
|
|
618
|
-
var OP_DISPATCH = 25;
|
|
619
|
-
var OP_ROUTED = 26;
|
|
620
|
-
var OP_NAMES = {
|
|
621
|
-
[OP_LIT]: "LIT",
|
|
622
|
-
[OP_RX]: "RX",
|
|
623
|
-
[OP_SEQ]: "SEQ",
|
|
624
|
-
[OP_SEQV]: "SEQV",
|
|
625
|
-
[OP_CHOICE]: "CHOICE",
|
|
626
|
-
[OP_REP]: "REP",
|
|
627
|
-
[OP_REPV]: "REPV",
|
|
628
|
-
[OP_OPT]: "OPT",
|
|
629
|
-
[OP_XFORM]: "XFORM",
|
|
630
|
-
[OP_NODE]: "NODE",
|
|
631
|
-
[OP_RULE]: "RULE",
|
|
632
|
-
[OP_GATE]: "GATE",
|
|
633
|
-
[OP_NOT]: "NOT",
|
|
634
|
-
[OP_PEEK]: "PEEK",
|
|
635
|
-
[OP_LEAF]: "LEAF",
|
|
636
|
-
[OP_EMPTY]: "EMPTY",
|
|
637
|
-
[OP_LIT_TRACK]: "LIT_TRACK",
|
|
638
|
-
[OP_RX_TRACK]: "RX_TRACK",
|
|
639
|
-
[OP_NODE_TRACK]: "NODE_TRACK",
|
|
640
|
-
[OP_SCOPE]: "SCOPE",
|
|
641
|
-
[OP_EXPECT]: "EXPECT",
|
|
642
|
-
[OP_SEQX]: "SEQX",
|
|
643
|
-
[OP_SCAN]: "SCAN",
|
|
644
|
-
[OP_FIELD]: "FIELD",
|
|
645
|
-
[OP_LIT_CI]: "LIT_CI",
|
|
646
|
-
[OP_LIT_CI_TRACK]: "LIT_CI_TRACK",
|
|
647
|
-
[OP_DISPATCH]: "DISPATCH",
|
|
648
|
-
[OP_ROUTED]: "ROUTED",
|
|
649
|
-
[OP_TOKEN]: "TOKEN",
|
|
650
|
-
[OP_SCOPE_CAP]: "SCOPE_CAP",
|
|
651
|
-
[OP_WITHCTX]: "WITHCTX",
|
|
652
|
-
[OP_GUARD]: "GUARD",
|
|
653
|
-
[OP_ADJ]: "ADJ",
|
|
654
|
-
[OP_GREEDY]: "GREEDY",
|
|
655
|
-
[OP_REJECT]: "REJECT",
|
|
656
|
-
[OP_ARMGATE]: "ARMGATE",
|
|
657
|
-
[OP_LIVE]: "LIVE",
|
|
658
|
-
[OP_ATTEMPT]: "ATTEMPT",
|
|
659
|
-
[OP_LABEL]: "LABEL",
|
|
660
|
-
[OP_COV]: "COV",
|
|
661
|
-
[OP_SCOPE_PLAIN]: "SCOPE_PLAIN",
|
|
662
|
-
[OP_LEX_BODY]: "LEX_BODY",
|
|
663
|
-
[OP_LEX_PROGRAM]: "LEX_PROGRAM"
|
|
664
|
-
};
|
|
665
|
-
|
|
666
|
-
// src/table/scan-shapes.ts
|
|
667
|
-
var META2 = new Set("()[]{}*+?|^$.".split(""));
|
|
668
|
-
|
|
669
|
-
// src/table/assemble.ts
|
|
670
|
-
var EMIT_ENABLED = globalThis.process?.env?.PM_TABLE_EMIT !== "0";
|
|
671
|
-
var EMPTY_TL = Object.freeze([]);
|
|
672
|
-
var EMPTY_SENTS = Object.freeze([]);
|
|
673
|
-
|
|
674
|
-
// src/analysis/duplication.ts
|
|
675
|
-
var WORD_RE_SRC = "-?[A-Za-z][A-Za-z0-9_-]*";
|
|
676
|
-
var WORDS_RE = new RegExp(`^${WORD_RE_SRC}(?:\\|${WORD_RE_SRC})*$`);
|
|
677
|
-
|
|
678
574
|
// src/compiler/linker.ts
|
|
679
575
|
function normalizeCstCollapse(collapse) {
|
|
680
576
|
if (collapse === true) return () => true;
|
|
@@ -708,32 +604,32 @@ function fusedHostElidedOf(registry) {
|
|
|
708
604
|
}
|
|
709
605
|
|
|
710
606
|
// src/cst/relative-spans.ts
|
|
711
|
-
function relativizeCST(
|
|
712
|
-
const span = { start:
|
|
713
|
-
if (
|
|
714
|
-
const base =
|
|
715
|
-
return { ...
|
|
607
|
+
function relativizeCST(node, parentBase = 0) {
|
|
608
|
+
const span = { start: node.span.start - parentBase, end: node.span.end - parentBase };
|
|
609
|
+
if (node.children) {
|
|
610
|
+
const base = node.span.start;
|
|
611
|
+
return { ...node, span, children: node.children.map((c) => relativizeCST(c, base)) };
|
|
716
612
|
}
|
|
717
|
-
return { ...
|
|
613
|
+
return { ...node, span };
|
|
718
614
|
}
|
|
719
|
-
function absolutizeCST(
|
|
720
|
-
const start = parentBase +
|
|
721
|
-
const span = { start, end: parentBase +
|
|
722
|
-
if (
|
|
723
|
-
return { ...
|
|
615
|
+
function absolutizeCST(node, parentBase = 0) {
|
|
616
|
+
const start = parentBase + node.span.start;
|
|
617
|
+
const span = { start, end: parentBase + node.span.end };
|
|
618
|
+
if (node.children) {
|
|
619
|
+
return { ...node, span, children: node.children.map((c) => absolutizeCST(c, start)) };
|
|
724
620
|
}
|
|
725
|
-
return { ...
|
|
621
|
+
return { ...node, span };
|
|
726
622
|
}
|
|
727
623
|
function absoluteSpanCST(root, path) {
|
|
728
624
|
let base = 0;
|
|
729
|
-
let
|
|
625
|
+
let node = root;
|
|
730
626
|
for (const idx of path) {
|
|
731
|
-
base +=
|
|
732
|
-
const child =
|
|
627
|
+
base += node.span.start;
|
|
628
|
+
const child = node.children?.[idx];
|
|
733
629
|
if (!child) throw new RangeError(`absoluteSpanCST: no child ${idx} on path ${path.join(".")}`);
|
|
734
|
-
|
|
630
|
+
node = child;
|
|
735
631
|
}
|
|
736
|
-
return { start: base +
|
|
632
|
+
return { start: base + node.span.start, end: base + node.span.end };
|
|
737
633
|
}
|
|
738
634
|
|
|
739
635
|
// src/functional/doc.ts
|
|
@@ -747,8 +643,8 @@ function asRuleFn(entry) {
|
|
|
747
643
|
function defOf(entry) {
|
|
748
644
|
return typeof entry === "object" && entry !== null && "_def" in entry ? entry._def : void 0;
|
|
749
645
|
}
|
|
750
|
-
function literalTextOf(
|
|
751
|
-
const def = defOf(
|
|
646
|
+
function literalTextOf(parser, depth = 0) {
|
|
647
|
+
const def = defOf(parser);
|
|
752
648
|
if (!def || depth > 24) return null;
|
|
753
649
|
const d = def;
|
|
754
650
|
switch (d.tag) {
|
|
@@ -831,9 +727,9 @@ var REENTRY_MAX_SPAN_FRACTION = 0.5;
|
|
|
831
727
|
function isNode(x) {
|
|
832
728
|
return typeof x === "object" && x !== null && x._tag === "node";
|
|
833
729
|
}
|
|
834
|
-
function findContaining(
|
|
835
|
-
for (let i = 0; i <
|
|
836
|
-
const child =
|
|
730
|
+
function findContaining(node, nodeAbsStart, pos, path = []) {
|
|
731
|
+
for (let i = 0; i < node.children.length; i++) {
|
|
732
|
+
const child = node.children[i];
|
|
837
733
|
if (!isNode(child)) continue;
|
|
838
734
|
const childAbsStart = nodeAbsStart + child.span.start;
|
|
839
735
|
const childAbsEnd = nodeAbsStart + child.span.end;
|
|
@@ -862,8 +758,8 @@ function replaceAtPath(rebuild, root, path, newNode) {
|
|
|
862
758
|
newChildren[idx] = rest.length === 0 ? newNode : replaceAtPath(rebuild, root.children[idx], rest, newNode);
|
|
863
759
|
return rebuild(root, newChildren);
|
|
864
760
|
}
|
|
865
|
-
function defaultRebuild(
|
|
866
|
-
return { ...
|
|
761
|
+
function defaultRebuild(node, children) {
|
|
762
|
+
return { ...node, children };
|
|
867
763
|
}
|
|
868
764
|
function shiftRelStart(child, delta) {
|
|
869
765
|
const c = child;
|
|
@@ -1081,10 +977,10 @@ var ParseDocImpl = class _ParseDocImpl {
|
|
|
1081
977
|
* unconsumedFrom re-derives trailing junk over the new input).
|
|
1082
978
|
*/
|
|
1083
979
|
wrapReuse(newTree, newInput) {
|
|
1084
|
-
const
|
|
980
|
+
const trivia = triviaOf(this._registry[this._rootRule], this._opts);
|
|
1085
981
|
const end = newTree.span.end;
|
|
1086
982
|
const errors = collectEmbeddedErrors(newTree, 0, []);
|
|
1087
|
-
const unconsumedFrom = unconsumedAfter(end, newInput,
|
|
983
|
+
const unconsumedFrom = unconsumedAfter(end, newInput, trivia);
|
|
1088
984
|
return new _ParseDocImpl(this._registry, this._rootRule, this._opts, { rel: newTree }, errors, unconsumedFrom, newInput);
|
|
1089
985
|
}
|
|
1090
986
|
edit(from, to, replacement) {
|
|
@@ -1102,20 +998,20 @@ var ParseDocImpl = class _ParseDocImpl {
|
|
|
1102
998
|
candidates.push({ node: ancestors[i + 1], path: [...pathCopy] });
|
|
1103
999
|
}
|
|
1104
1000
|
const rebuild = this._opts.rebuild ?? defaultRebuild;
|
|
1105
|
-
for (const { node
|
|
1001
|
+
for (const { node, path } of candidates) {
|
|
1106
1002
|
const { start: absStart, end: absEnd } = absoluteSpanCST(root, path);
|
|
1107
1003
|
if (absEnd - absStart > this.input.length * REENTRY_MAX_SPAN_FRACTION) break;
|
|
1108
|
-
const ruleFn = this._fns[
|
|
1004
|
+
const ruleFn = this._fns[node.type];
|
|
1109
1005
|
if (!ruleFn) continue;
|
|
1110
1006
|
if (!(absStart <= from && to <= absEnd)) continue;
|
|
1111
|
-
const ctx = mkCtx(
|
|
1007
|
+
const ctx = mkCtx(node.state, this._opts.build, !!this._opts.tolerant);
|
|
1112
1008
|
const r = ruleFn(newInput, absStart, ctx);
|
|
1113
1009
|
if (!r.ok) continue;
|
|
1114
1010
|
if (r.span.end !== absEnd + delta) continue;
|
|
1115
|
-
if (!boundaryIsSafe(ruleFn, newInput, absStart, absEnd + delta,
|
|
1011
|
+
if (!boundaryIsSafe(ruleFn, newInput, absStart, absEnd + delta, node.state, this._opts.build, r, !!this._opts.tolerant)) {
|
|
1116
1012
|
continue;
|
|
1117
1013
|
}
|
|
1118
|
-
const parentBase = absStart -
|
|
1014
|
+
const parentBase = absStart - node.span.start;
|
|
1119
1015
|
const newRel = relativizeCST(r.value, parentBase);
|
|
1120
1016
|
if (delta === 0) {
|
|
1121
1017
|
const newTree2 = replaceAtPath(rebuild, root, path, newRel);
|
|
@@ -1127,12 +1023,12 @@ var ParseDocImpl = class _ParseDocImpl {
|
|
|
1127
1023
|
}
|
|
1128
1024
|
if (this._opts.structuralReuse && delta !== 0 && !this._opts.rebuild) {
|
|
1129
1025
|
const spliceCandidates = [...candidates, { node: root, path: [] }];
|
|
1130
|
-
for (const { node
|
|
1131
|
-
const rep = this._reps.get(
|
|
1026
|
+
for (const { node, path } of spliceCandidates) {
|
|
1027
|
+
const rep = this._reps.get(node.type);
|
|
1132
1028
|
if (!rep) continue;
|
|
1133
1029
|
const { start: cStart, end: cEnd } = absoluteSpanCST(root, path);
|
|
1134
1030
|
if (!(cStart <= from && to <= cEnd)) continue;
|
|
1135
|
-
const spliced = tryListSplice(root, path,
|
|
1031
|
+
const spliced = tryListSplice(root, path, node, cStart, newInput, from, to, delta, rep, this._fns, this._opts.build, !!this._opts.tolerant);
|
|
1136
1032
|
if (spliced) return this.wrapReuse(spliced, newInput);
|
|
1137
1033
|
}
|
|
1138
1034
|
}
|
|
@@ -1145,16 +1041,16 @@ function triviaOf(entry, opts) {
|
|
|
1145
1041
|
const meta = entry._meta;
|
|
1146
1042
|
return meta ? meta.grammarTrivia : void 0;
|
|
1147
1043
|
}
|
|
1148
|
-
function unconsumedAfter(end, input,
|
|
1044
|
+
function unconsumedAfter(end, input, trivia) {
|
|
1149
1045
|
let pos = end;
|
|
1150
|
-
if (
|
|
1151
|
-
const t =
|
|
1046
|
+
if (trivia && pos < input.length) {
|
|
1047
|
+
const t = trivia.parse(input, pos, createParseContext());
|
|
1152
1048
|
if (t.ok && t.span.end > pos) pos = t.span.end;
|
|
1153
1049
|
}
|
|
1154
1050
|
return pos < input.length ? pos : null;
|
|
1155
1051
|
}
|
|
1156
|
-
function collectEmbeddedErrors(
|
|
1157
|
-
const c =
|
|
1052
|
+
function collectEmbeddedErrors(node, base, out) {
|
|
1053
|
+
const c = node;
|
|
1158
1054
|
if (!c || typeof c !== "object" || !c.span) return out;
|
|
1159
1055
|
const start = base + c.span.start;
|
|
1160
1056
|
if (c._tag === "parseError") {
|
|
@@ -1182,9 +1078,9 @@ function parseDoc(registry, rootRule, input, opts = {}) {
|
|
|
1182
1078
|
// src/language-service/index.ts
|
|
1183
1079
|
var errorMessage = (expected) => expected.length ? `Unexpected input; expected ${expected.join(" or ")}` : "Unexpected input";
|
|
1184
1080
|
function visitTree(root, enter) {
|
|
1185
|
-
const go = (
|
|
1186
|
-
enter(
|
|
1187
|
-
const children =
|
|
1081
|
+
const go = (node) => {
|
|
1082
|
+
enter(node);
|
|
1083
|
+
const children = node.children;
|
|
1188
1084
|
if (Array.isArray(children)) for (const child of children) go(child);
|
|
1189
1085
|
};
|
|
1190
1086
|
go(root);
|
|
@@ -1207,15 +1103,15 @@ function mergeDiagnostics(tree, flat, unconsumedFrom, inputLength, config) {
|
|
|
1207
1103
|
}
|
|
1208
1104
|
function diagnoseTree(root, config) {
|
|
1209
1105
|
const out = [];
|
|
1210
|
-
const
|
|
1211
|
-
visitTree(root, (
|
|
1212
|
-
if (
|
|
1213
|
-
out.push({ severity: "error", message: errorMessage(
|
|
1106
|
+
const rules = config.diagnostics;
|
|
1107
|
+
visitTree(root, (node) => {
|
|
1108
|
+
if (node._tag === "parseError") {
|
|
1109
|
+
out.push({ severity: "error", message: errorMessage(node.expected ?? []), span: node.span });
|
|
1214
1110
|
return;
|
|
1215
1111
|
}
|
|
1216
|
-
const h =
|
|
1112
|
+
const h = rules && node.type !== void 0 ? rules[node.type] : void 0;
|
|
1217
1113
|
if (h) {
|
|
1218
|
-
const d = h(
|
|
1114
|
+
const d = h(node);
|
|
1219
1115
|
if (d) out.push(...Array.isArray(d) ? d : [d]);
|
|
1220
1116
|
}
|
|
1221
1117
|
});
|
|
@@ -1227,14 +1123,14 @@ function languageService(grammar, config = {}) {
|
|
|
1227
1123
|
const registry = asReg ? grammar.rules : void 0;
|
|
1228
1124
|
const root = asReg ? grammar.root : void 0;
|
|
1229
1125
|
const entry = asReg ? registry[root] : grammar;
|
|
1230
|
-
const
|
|
1231
|
-
const parseTolerant = (src) => run(entry, src, { tolerant: true, build, ...
|
|
1126
|
+
const trivia = typeof entry !== "function" ? entry._meta.grammarTrivia : void 0;
|
|
1127
|
+
const parseTolerant = (src) => run(entry, src, { tolerant: true, build, ...trivia !== void 0 ? { trivia } : {} });
|
|
1232
1128
|
const complete = (input, offset, treeForCursor) => {
|
|
1233
1129
|
const expected = completionsAt(entry, input, offset, { tolerant: true });
|
|
1234
1130
|
const rule = ruleAtCursor(treeForCursor, offset);
|
|
1235
1131
|
const handler = rule !== null ? config.complete?.[rule] : void 0;
|
|
1236
1132
|
if (handler) return handler({ rule, expected, offset });
|
|
1237
|
-
return expected.map((
|
|
1133
|
+
return expected.map((label) => ({ label }));
|
|
1238
1134
|
};
|
|
1239
1135
|
return {
|
|
1240
1136
|
parse(src, opts) {
|
|
@@ -1274,9 +1170,9 @@ function languageService(grammar, config = {}) {
|
|
|
1274
1170
|
function ruleAtCursor(root, offset) {
|
|
1275
1171
|
if (!root || typeof root !== "object") return null;
|
|
1276
1172
|
let best = null;
|
|
1277
|
-
visitTree(root, (
|
|
1278
|
-
const s =
|
|
1279
|
-
if (s && s.start <= offset && offset <= s.end &&
|
|
1173
|
+
visitTree(root, (node) => {
|
|
1174
|
+
const s = node.span;
|
|
1175
|
+
if (s && s.start <= offset && offset <= s.end && node.type !== void 0) best = node.type;
|
|
1280
1176
|
});
|
|
1281
1177
|
return best;
|
|
1282
1178
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/line-index.ts", "../../src/cst/capture-buffer.ts", "../../src/recovery/scan.ts", "../../src/parse-context.ts", "../../src/cst/trivia-entries.ts", "../../src/cst/host-mode.ts", "../../src/functional/run.ts", "../../src/combinators/completions.ts", "../../src/
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["
|
|
3
|
+
"sources": ["../../src/line-index.ts", "../../src/cst/capture-buffer.ts", "../../src/recovery/scan.ts", "../../src/parse-context.ts", "../../src/cst/trivia-entries.ts", "../../src/cst/host-mode.ts", "../../src/functional/run.ts", "../../src/combinators/completions.ts", "../../src/compiler/linker.ts", "../../src/cst/relative-spans.ts", "../../src/functional/doc.ts", "../../src/language-service/index.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["kind", "children", "span", "rawChildren", "triviaLog", "state", "newTree"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-context.d.ts","sourceRoot":"","sources":["../src/parse-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"parse-context.d.ts","sourceRoot":"","sources":["../src/parse-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAqCjD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,YAAY,CAK5F"}
|