@markup-carve/carve-lsp 0.1.8 → 0.1.9
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/include-seam-mapping.test.js +37 -14
- package/dist/include-seam-mapping.test.js.map +1 -1
- package/dist/include-seam-navigation.test.js +1 -2
- package/dist/include-seam-navigation.test.js.map +1 -1
- package/dist/includes.d.ts +4 -6
- package/dist/includes.js +28 -176
- package/dist/includes.js.map +1 -1
- package/package.json +2 -2
|
@@ -28,6 +28,9 @@ const IN_PADDED = { start: 39, end: 56, line: 9, column: 1 };
|
|
|
28
28
|
const files = {
|
|
29
29
|
'/book/child.crv': CHILD,
|
|
30
30
|
'/book/deep.crv': '{{ nested.crv }}\n',
|
|
31
|
+
// A second route to `nested.crv`, so one canonical child is reached under
|
|
32
|
+
// two different top-level directives.
|
|
33
|
+
'/book/deeper.crv': '{{ nested.crv }}\n',
|
|
31
34
|
'/book/nested.crv': 'text\n\n{{ missing.crv }}\n',
|
|
32
35
|
// Carriage-return endings, which a `\n` scan reads as a single line.
|
|
33
36
|
'/book/classic.crv': CHILD.replace(/\n/g, '\r'),
|
|
@@ -74,14 +77,12 @@ test('a grandchild reports its own position, not its parent', () => {
|
|
|
74
77
|
assert.deepEqual(warning?.within, { start: 6, end: 23, line: 3, column: 1 });
|
|
75
78
|
});
|
|
76
79
|
test('a child pulled in by a line range reports its position in the whole file', () => {
|
|
77
|
-
//
|
|
78
|
-
// warning is line 1 of a one-line slice. Line 1 of `padded.crv` is a padding
|
|
79
|
-
// paragraph, and that is where the author would be sent.
|
|
80
|
+
// A slice-relative reading would be line 1, a padding paragraph of `padded.crv`.
|
|
80
81
|
const warning = warningsFor('{{ padded.crv @lines:9-9 }}\n')[0];
|
|
81
82
|
assert.equal(warning?.file, '/book/padded.crv');
|
|
82
83
|
assert.deepEqual(warning?.within, IN_PADDED);
|
|
83
84
|
});
|
|
84
|
-
test('a line range written in a child, not in the root,
|
|
85
|
+
test('a line range written in a child, not in the root, reports the same position', () => {
|
|
85
86
|
// `slicer.crv` is what carries the `@lines`, so the range cannot be found by
|
|
86
87
|
// looking at the root's directives.
|
|
87
88
|
const warning = warningsFor('{{ slicer.crv }}\n')[0];
|
|
@@ -89,21 +90,43 @@ test('a line range written in a child, not in the root, translates the same way'
|
|
|
89
90
|
assert.deepEqual(warning?.within, IN_PADDED);
|
|
90
91
|
});
|
|
91
92
|
test('a line range on one child leaves a warning from another child alone', () => {
|
|
92
|
-
// `quiet.crv` is sliced and warns about nothing; `child.crv` is not sliced
|
|
93
|
-
//
|
|
94
|
-
// measured in would move this warning by the other directive's range.
|
|
93
|
+
// `quiet.crv` is sliced and warns about nothing; `child.crv` is not sliced,
|
|
94
|
+
// so nothing may move this warning by the other directive's range.
|
|
95
95
|
const warning = warningsFor('{{ quiet.crv @lines:9-9 }}\n\n{{ child.crv }}\n')[0];
|
|
96
96
|
assert.equal(warning?.file, '/book/child.crv');
|
|
97
97
|
assert.deepEqual(warning?.within, IN_CHILD);
|
|
98
98
|
});
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
//
|
|
99
|
+
// The two shapes #224 was filed for. Both are about occurrence identity, which
|
|
100
|
+
// only the engine has: the same target resolves under one canonical id however
|
|
101
|
+
// many times it is written. The engine reports the directive that pulled each
|
|
102
|
+
// warning's file in, so each occurrence anchors at itself.
|
|
103
|
+
test('the occurrence that degraded is the one the warning anchors at', () => {
|
|
104
|
+
// `padded.crv` is written twice and only the second slice holds the failing
|
|
105
|
+
// directive. Dealing the warnings over the matching directives in document
|
|
106
|
+
// order - all an adapter can do without the engine's reach - would anchor
|
|
107
|
+
// this one at the first occurrence, which degraded not at all.
|
|
108
|
+
const source = '{{ padded.crv @lines:1-1 }}\n\n{{ padded.crv @lines:9-9 }}\n';
|
|
109
|
+
const second = source.lastIndexOf('{{ padded.crv');
|
|
110
|
+
const warnings = warningsFor(source);
|
|
111
|
+
assert.equal(warnings.length, 1);
|
|
112
|
+
assert.equal(warnings[0]?.start, second);
|
|
113
|
+
assert.equal(warnings[0]?.end, source.length - 1);
|
|
114
|
+
});
|
|
115
|
+
test('one child reached under two top-level directives anchors each warning at its own', () => {
|
|
116
|
+
// `deep.crv` and `deeper.crv` both pull in `nested.crv`. A chain keyed by
|
|
117
|
+
// child identity holds one of them, so the earlier traversal's warning used
|
|
118
|
+
// to anchor at the later directive.
|
|
119
|
+
const source = '{{ deep.crv }}\n\n{{ deeper.crv }}\n';
|
|
120
|
+
const warnings = warningsFor(source);
|
|
121
|
+
assert.deepEqual(warnings.map((warning) => warning.file), ['/book/nested.crv', '/book/nested.crv']);
|
|
122
|
+
assert.deepEqual(warnings.map((warning) => [warning.start, warning.end]), [
|
|
123
|
+
[0, '{{ deep.crv }}'.length],
|
|
124
|
+
[source.indexOf('{{ deeper.crv }}'), source.length - 1],
|
|
125
|
+
]);
|
|
126
|
+
});
|
|
127
|
+
test('a child written once sliced and once whole reports the file line for both', () => {
|
|
105
128
|
const lines = warningsFor('{{ padded.crv @lines:9-9 }}\n\n{{ padded.crv }}\n').map((warning) => warning.within?.line);
|
|
106
|
-
assert.deepEqual(lines, [
|
|
129
|
+
assert.deepEqual(lines, [9, 9]);
|
|
107
130
|
});
|
|
108
131
|
test('the location of a sliced child is the line the author has to open', () => {
|
|
109
132
|
const diagnostic = analyzeCarve('{{ padded.crv @lines:9-9 }}\n', { includes: { resolver } })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include-seam-mapping.test.js","sourceRoot":"","sources":["../src/include-seam-mapping.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"include-seam-mapping.test.js","sourceRoot":"","sources":["../src/include-seam-mapping.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,8 +58,7 @@ test('the angle-bracket spelling of the same crossref resolves too', () => {
|
|
|
58
58
|
assert.equal(location?.uri, pathToFileURL('/book/child.crv').toString());
|
|
59
59
|
});
|
|
60
60
|
test('a crossref into a sliced child lands on the heading line in the file', () => {
|
|
61
|
-
//
|
|
62
|
-
// untranslated jump opens `padded.crv` at its first padding paragraph.
|
|
61
|
+
// A slice-relative position would open `padded.crv` at its first padding paragraph.
|
|
63
62
|
const location = jump('{{ padded.crv @lines:9-9 }}\n\nSee [](#late-heading).\n', 'late-heading', includes);
|
|
64
63
|
assert.equal(location?.uri, pathToFileURL('/book/padded.crv').toString());
|
|
65
64
|
assert.equal(location?.range.start.line, 8);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include-seam-navigation.test.js","sourceRoot":"","sources":["../src/include-seam-navigation.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C;;;;;;;;;;;;GAYG;AAEH,MAAM,KAAK,GAA2B;IACpC,iBAAiB,EAAE,iCAAiC;IACpD,gBAAgB,EAAE,6BAA6B;IAC/C,kBAAkB,EAAE,4BAA4B;IAChD,oBAAoB,EAAE,uCAAuC;IAC7D,mBAAmB,EAAE,2BAA2B;IAChD,kBAAkB,EAAE,+DAA+D;IACnF,kBAAkB,EAAE,iEAAiE;CACtF,CAAA;AAED,MAAM,QAAQ,GAAoB,CAAC,WAAW,EAAmB,EAAE;IACjE,MAAM,EAAE,GAAG,SAAS,WAAW,EAAE,CAAA;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAA;IACxB,OAAO,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;QACxC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;AACnF,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,CAAA;AAEjF;;;;;;;GAOG;AACH,SAAS,IAAI,CAAC,MAAc,EAAE,EAAU,EAAE,OAAoC;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACnE,OAAO,YAAY,CAAC,uBAAuB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;AACpF,CAAC;AAED,IAAI,CAAC,wEAAwE,EAAE,GAAG,EAAE;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,wDAAwD,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAA;IAC1G,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,uDAAuD,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAA;IACzG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC1E,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,sEAAsE,EAAE,GAAG,EAAE;IAChF,
|
|
1
|
+
{"version":3,"file":"include-seam-navigation.test.js","sourceRoot":"","sources":["../src/include-seam-navigation.test.ts"],"names":[],"mappings":"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"}
|
package/dist/includes.d.ts
CHANGED
|
@@ -14,15 +14,13 @@
|
|
|
14
14
|
*
|
|
15
15
|
* - the ROOT anchor for every warning. The engine reports a child's problem at
|
|
16
16
|
* the child's own offsets, which is right for a renderer and unusable as an
|
|
17
|
-
* LSP range: the client has the root open.
|
|
18
|
-
*
|
|
17
|
+
* LSP range: the client has the root open. The engine names the top-level
|
|
18
|
+
* directive on `includedBy`, so the anchor is a read rather than a
|
|
19
|
+
* reconstruction; each warning keeps that root span and gains
|
|
20
|
+
* {@link IncludeWarning.within} for the other end.
|
|
19
21
|
* - the `watch` candidate and the refusal class, which the engine's resolver
|
|
20
22
|
* contract has no slot for.
|
|
21
23
|
* - the child sources, which the outline and the seam location read back.
|
|
22
|
-
* - a sliced child's own coordinates. The engine slices before it parses, so a
|
|
23
|
-
* child pulled in with `@lines` reports positions against the slice under the
|
|
24
|
-
* whole file's id, which §19 requires to be the file's own. See
|
|
25
|
-
* {@link sliceShifts}; markup-carve/carve-js#1861 is the engine-side defect.
|
|
26
24
|
*
|
|
27
25
|
* The path-level security guards are untouched in {@link ./include-path.js}.
|
|
28
26
|
* The resolver is still this server's, so what may be read at all is still
|
package/dist/includes.js
CHANGED
|
@@ -14,15 +14,13 @@
|
|
|
14
14
|
*
|
|
15
15
|
* - the ROOT anchor for every warning. The engine reports a child's problem at
|
|
16
16
|
* the child's own offsets, which is right for a renderer and unusable as an
|
|
17
|
-
* LSP range: the client has the root open.
|
|
18
|
-
*
|
|
17
|
+
* LSP range: the client has the root open. The engine names the top-level
|
|
18
|
+
* directive on `includedBy`, so the anchor is a read rather than a
|
|
19
|
+
* reconstruction; each warning keeps that root span and gains
|
|
20
|
+
* {@link IncludeWarning.within} for the other end.
|
|
19
21
|
* - the `watch` candidate and the refusal class, which the engine's resolver
|
|
20
22
|
* contract has no slot for.
|
|
21
23
|
* - the child sources, which the outline and the seam location read back.
|
|
22
|
-
* - a sliced child's own coordinates. The engine slices before it parses, so a
|
|
23
|
-
* child pulled in with `@lines` reports positions against the slice under the
|
|
24
|
-
* whole file's id, which §19 requires to be the file's own. See
|
|
25
|
-
* {@link sliceShifts}; markup-carve/carve-js#1861 is the engine-side defect.
|
|
26
24
|
*
|
|
27
25
|
* The path-level security guards are untouched in {@link ./include-path.js}.
|
|
28
26
|
* The resolver is still this server's, so what may be read at all is still
|
|
@@ -62,151 +60,28 @@ function locateIn(starts, offset) {
|
|
|
62
60
|
}
|
|
63
61
|
return { line: low + 1, column: offset - starts[low] + 1 };
|
|
64
62
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Where each child's `@lines` slice starts inside that child's own file, for
|
|
67
|
-
* the children pulled in with one that does not start at line 1.
|
|
68
|
-
*
|
|
69
|
-
* The engine slices a child's source BEFORE parsing it, so every position it
|
|
70
|
-
* reports for a sliced child is measured against the slice: the warning's own
|
|
71
|
-
* line, and the `pos` stamps §19 requires to be the child's own coordinates.
|
|
72
|
-
* The resolver seam cannot supply the slice - the engine hands a resolver the
|
|
73
|
-
* directive's PATH and keeps its options - so the directive is found again in
|
|
74
|
-
* the file that wrote it, which for a grandchild is the child rather than the
|
|
75
|
-
* root.
|
|
76
|
-
*
|
|
77
|
-
* A child whose occurrences do not AGREE on a range is left where the engine
|
|
78
|
-
* put it. Every occurrence stamps the same canonical id, and neither a warning
|
|
79
|
-
* nor a `pos` says which occurrence it came from, so one correction for the id
|
|
80
|
-
* would move the occurrences that need a different one - a file written once
|
|
81
|
-
* sliced and once whole would report the whole one past its own end. That
|
|
82
|
-
* identity is #224; until the engine carries it, disagreement means no
|
|
83
|
-
* translation rather than a wrong one.
|
|
84
|
-
*/
|
|
85
|
-
function sliceShifts(seam, rootSites, sourcePath) {
|
|
86
|
-
const sitesByFile = new Map([[sourcePath, rootSites]]);
|
|
87
|
-
sitesByFile.set(undefined, rootSites);
|
|
88
|
-
const shifts = new Map();
|
|
89
|
-
for (const [id, edges] of seam.pulledBy) {
|
|
90
|
-
const starts = new Set();
|
|
91
|
-
for (const edge of edges) {
|
|
92
|
-
let sites = sitesByFile.get(edge.parent);
|
|
93
|
-
if (sites === undefined) {
|
|
94
|
-
sites = directiveSitesOf(edge.parent === undefined ? undefined : seam.documents.get(edge.parent)?.source);
|
|
95
|
-
sitesByFile.set(edge.parent, sites);
|
|
96
|
-
}
|
|
97
|
-
for (const site of sites) {
|
|
98
|
-
if (site.directive.path === edge.written)
|
|
99
|
-
starts.add(site.directive.lines?.start);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
const start = starts.size === 1 ? [...starts][0] : undefined;
|
|
103
|
-
const source = seam.documents.get(id)?.source;
|
|
104
|
-
if (start === undefined || start <= 1 || source === undefined)
|
|
105
|
-
continue;
|
|
106
|
-
shifts.set(id, { line: start - 1, offset: codepointOffsetOfLine(source, start) });
|
|
107
|
-
}
|
|
108
|
-
return shifts;
|
|
109
|
-
}
|
|
110
|
-
function directiveSitesOf(source) {
|
|
111
|
-
if (source === undefined)
|
|
112
|
-
return [];
|
|
113
|
-
try {
|
|
114
|
-
return findDirectiveSites(parse(source, { positions: true }));
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
return [];
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
/** Codepoints before the 1-based `line` of `source`. */
|
|
121
|
-
function codepointOffsetOfLine(source, line) {
|
|
122
|
-
if (line <= 1)
|
|
123
|
-
return 0;
|
|
124
|
-
const before = source.split('\n').slice(0, line - 1).join('\n');
|
|
125
|
-
return [...before].length + 1;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Put a sliced child's own coordinates back on the nodes it contributed.
|
|
129
|
-
*
|
|
130
|
-
* §19 requires a node an include pulled in to keep the coordinates of its own
|
|
131
|
-
* file alongside that file's id, and the engine reports slice coordinates under
|
|
132
|
-
* the whole file's id. Both ends of the seam read these: `within` on a warning,
|
|
133
|
-
* and go-to-definition through the merged document.
|
|
134
|
-
*/
|
|
135
|
-
function unslicePositions(doc, shifts) {
|
|
136
|
-
if (shifts.size === 0)
|
|
137
|
-
return;
|
|
138
|
-
const done = new Set();
|
|
139
|
-
const visit = (value) => {
|
|
140
|
-
if (Array.isArray(value)) {
|
|
141
|
-
for (const item of value)
|
|
142
|
-
visit(item);
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
if (value === null || typeof value !== 'object')
|
|
146
|
-
return;
|
|
147
|
-
const pos = value.pos;
|
|
148
|
-
const shift = typeof pos?.file === 'string' ? shifts.get(pos.file) : undefined;
|
|
149
|
-
if (pos !== undefined && shift !== undefined && !done.has(pos)) {
|
|
150
|
-
done.add(pos);
|
|
151
|
-
for (const key of ['startLine', 'endLine']) {
|
|
152
|
-
if (typeof pos[key] === 'number')
|
|
153
|
-
pos[key] = pos[key] + shift.line;
|
|
154
|
-
}
|
|
155
|
-
for (const key of ['startOffset', 'endOffset']) {
|
|
156
|
-
if (typeof pos[key] === 'number')
|
|
157
|
-
pos[key] = pos[key] + shift.offset;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
for (const [key, inner] of Object.entries(value)) {
|
|
161
|
-
if (key !== 'pos')
|
|
162
|
-
visit(inner);
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
visit(doc.children);
|
|
166
|
-
if (doc.footnoteDefs)
|
|
167
|
-
visit(Object.values(doc.footnoteDefs));
|
|
168
|
-
}
|
|
169
63
|
/**
|
|
170
64
|
* Root span for a warning the engine anchored somewhere else.
|
|
171
65
|
*
|
|
172
|
-
* A warning from the root document already carries root offsets, but over the
|
|
173
|
-
* enclosing inline node rather than the token: the engine anchors on the `Text`
|
|
174
|
-
* a directive starts in, which for `See {{ a.crv }} here.` is the whole
|
|
175
|
-
* sentence. Narrowing to the one directive site inside that span restores the
|
|
176
|
-
* token. Where two sites share a node the span stays as the engine drew it -
|
|
177
|
-
* coarse, never wrong.
|
|
178
|
-
*
|
|
179
66
|
* A warning from a CHILD carries that child's offsets, which name nothing in
|
|
180
|
-
* the open document.
|
|
181
|
-
*
|
|
67
|
+
* the open document. `includedBy` is the engine's report of how that child was
|
|
68
|
+
* reached, root first, so its first entry is the top-level directive and is
|
|
69
|
+
* already the token rather than the node around it.
|
|
182
70
|
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
* pair up by position rather than by cause, and a child reached under two
|
|
190
|
-
* different top-level directives anchors both chains at the later one. Both
|
|
191
|
-
* need the including site on the engine's warning (#224).
|
|
71
|
+
* A warning from the root document carries no reach, and already carries root
|
|
72
|
+
* offsets - but over the enclosing inline node rather than the token: the
|
|
73
|
+
* engine anchors on the `Text` a directive starts in, which for
|
|
74
|
+
* `See {{ a.crv }} here.` is the whole sentence. Narrowing to the one
|
|
75
|
+
* directive site inside that span restores the token. Where two sites share a
|
|
76
|
+
* node the span stays as the engine drew it - coarse, never wrong.
|
|
192
77
|
*/
|
|
193
|
-
function rootSpan(warning, sites
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
const written = seam.rootPath.get(top);
|
|
201
|
-
if (written === undefined)
|
|
202
|
-
return undefined;
|
|
203
|
-
const matching = sites.filter((site) => site.directive.path === written);
|
|
204
|
-
if (matching.length === 0)
|
|
205
|
-
return undefined;
|
|
206
|
-
const turn = dealt.get(written) ?? 0;
|
|
207
|
-
dealt.set(written, turn + 1);
|
|
208
|
-
const site = matching[turn % matching.length];
|
|
209
|
-
return { start: site.start, end: site.end };
|
|
78
|
+
function rootSpan(warning, sites) {
|
|
79
|
+
const top = warning.includedBy?.[0];
|
|
80
|
+
if (top !== undefined)
|
|
81
|
+
return { start: top.start, end: top.end };
|
|
82
|
+
const inside = sites.filter((site) => site.start >= warning.start && site.end <= warning.end);
|
|
83
|
+
const only = inside.length === 1 ? inside[0] : undefined;
|
|
84
|
+
return only ? { start: only.start, end: only.end } : { start: warning.start, end: warning.end };
|
|
210
85
|
}
|
|
211
86
|
/**
|
|
212
87
|
* Walk the include graph rooted at `source`.
|
|
@@ -233,24 +108,6 @@ export function resolveIncludes(source, options = {}) {
|
|
|
233
108
|
watch: new Map(),
|
|
234
109
|
denial: new Map(),
|
|
235
110
|
documents: new Map(),
|
|
236
|
-
chain: new Map(),
|
|
237
|
-
rootPath: new Map(),
|
|
238
|
-
pulledBy: new Map(),
|
|
239
|
-
};
|
|
240
|
-
const link = (id, ctx, written) => {
|
|
241
|
-
const parent = ctx.stack[ctx.stack.length - 1];
|
|
242
|
-
const edges = seam.pulledBy.get(id) ?? [];
|
|
243
|
-
if (!edges.some((edge) => edge.parent === parent && edge.written === written)) {
|
|
244
|
-
edges.push({ ...(parent === undefined ? {} : { parent }), written });
|
|
245
|
-
seam.pulledBy.set(id, edges);
|
|
246
|
-
}
|
|
247
|
-
if (ctx.depth === 0) {
|
|
248
|
-
seam.chain.set(id, id);
|
|
249
|
-
if (!seam.rootPath.has(id))
|
|
250
|
-
seam.rootPath.set(id, written);
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
seam.chain.set(id, (parent !== undefined ? seam.chain.get(parent) : undefined) ?? id);
|
|
254
111
|
};
|
|
255
112
|
const resolve = (written, ctx) => {
|
|
256
113
|
const result = resolver(written, {
|
|
@@ -266,13 +123,11 @@ export function resolveIncludes(source, options = {}) {
|
|
|
266
123
|
// one watcher - which is exactly the case includes exist for, since
|
|
267
124
|
// creating either file has to invalidate.
|
|
268
125
|
const id = result.watch ?? result.id;
|
|
269
|
-
link(id, ctx, written);
|
|
270
126
|
seam.denial.set(refusalKey(ctx.stack[ctx.stack.length - 1], written), result.denial);
|
|
271
127
|
if (result.watch !== undefined)
|
|
272
128
|
seam.watch.set(id, result.watch);
|
|
273
129
|
return { source: null, id };
|
|
274
130
|
}
|
|
275
|
-
link(result.id, ctx, written);
|
|
276
131
|
if (result.watch !== undefined)
|
|
277
132
|
seam.watch.set(result.id, result.watch);
|
|
278
133
|
// A LONE carriage return is a line break to a client, to the engine's line
|
|
@@ -323,16 +178,14 @@ export function resolveIncludes(source, options = {}) {
|
|
|
323
178
|
// of children whose content survived - which no dependency flag can say,
|
|
324
179
|
// since a dependency is resolved as soon as it is read.
|
|
325
180
|
const merged = mergedFiles(result.doc);
|
|
326
|
-
const shifts = sliceShifts(seam, sites, options.sourcePath);
|
|
327
|
-
unslicePositions(result.doc, shifts);
|
|
328
181
|
const starts = lineStarts(normalized);
|
|
329
|
-
const dealt = new Map();
|
|
330
182
|
const warnings = [];
|
|
331
183
|
for (const warning of result.warnings) {
|
|
332
|
-
const span = rootSpan(warning, sites
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
184
|
+
const span = rootSpan(warning, sites);
|
|
185
|
+
// A reach is what the engine reports for a warning raised while expanding
|
|
186
|
+
// a child, and only for one, so it decides both halves: where the warning
|
|
187
|
+
// anchors in the open document, and whether it needs a `within` at all.
|
|
188
|
+
const inChild = warning.includedBy !== undefined;
|
|
336
189
|
const mapped = {
|
|
337
190
|
...locateIn(starts, span.start),
|
|
338
191
|
rule: warning.rule,
|
|
@@ -343,12 +196,11 @@ export function resolveIncludes(source, options = {}) {
|
|
|
343
196
|
if (warning.file !== undefined)
|
|
344
197
|
mapped.file = warning.file;
|
|
345
198
|
if (inChild) {
|
|
346
|
-
const shift = shifts.get(warning.file) ?? { line: 0, offset: 0 };
|
|
347
199
|
mapped.within = {
|
|
348
|
-
line: warning.line
|
|
200
|
+
line: warning.line,
|
|
349
201
|
column: warning.column,
|
|
350
|
-
start: warning.start
|
|
351
|
-
end: warning.end
|
|
202
|
+
start: warning.start,
|
|
203
|
+
end: warning.end,
|
|
352
204
|
};
|
|
353
205
|
}
|
|
354
206
|
if (warning.detail !== undefined)
|
package/dist/includes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"includes.js","sourceRoot":"","sources":["../src/includes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"includes.js","sourceRoot":"","sources":["../src/includes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markup-carve/carve-lsp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Language server for Carve markup documents",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"typecheck": "tsc --noEmit"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@markup-carve/carve": "0.1.
|
|
42
|
+
"@markup-carve/carve": "^0.1.9",
|
|
43
43
|
"vscode-languageserver": "^9.0.1",
|
|
44
44
|
"vscode-languageserver-textdocument": "^1.0.12"
|
|
45
45
|
},
|