@lezer/common 0.15.10 → 0.15.11
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/index.cjs +7 -7
- package/dist/index.js +7 -7
- package/dist/tree.d.ts +6 -6
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1496,20 +1496,20 @@ function materialize(cursor) {
|
|
|
1496
1496
|
let buf = base.children[i], b = buf.buffer;
|
|
1497
1497
|
// Split a level in the buffer, putting the nodes before and after
|
|
1498
1498
|
// the child that contains `node` into new buffers.
|
|
1499
|
-
function split(startI, endI, type, innerOffset) {
|
|
1499
|
+
function split(startI, endI, type, innerOffset, length) {
|
|
1500
1500
|
let i = startI;
|
|
1501
1501
|
while (b[i + 2] + off <= node.from)
|
|
1502
1502
|
i = b[i + 3];
|
|
1503
1503
|
let children = [], positions = [];
|
|
1504
1504
|
sliceBuf(buf, startI, i, children, positions, innerOffset);
|
|
1505
|
-
let
|
|
1506
|
-
|
|
1507
|
-
|
|
1505
|
+
let from = b[i + 1], to = b[i + 2];
|
|
1506
|
+
let isTarget = from + off == node.from && to + off == node.to && b[i] == node.type.id;
|
|
1507
|
+
children.push(isTarget ? node.toTree() : split(i + 4, b[i + 3], buf.set.types[b[i]], from, to - from));
|
|
1508
|
+
positions.push(from - innerOffset);
|
|
1508
1509
|
sliceBuf(buf, b[i + 3], endI, children, positions, innerOffset);
|
|
1509
|
-
|
|
1510
|
-
return new Tree(type, children, positions, positions[last] + children[last].length);
|
|
1510
|
+
return new Tree(type, children, positions, length);
|
|
1511
1511
|
}
|
|
1512
|
-
base.children[i] = split(0, b.length, NodeType.none, 0);
|
|
1512
|
+
base.children[i] = split(0, b.length, NodeType.none, 0, buf.length);
|
|
1513
1513
|
// Move the cursor back to the target node
|
|
1514
1514
|
for (let d = 0; d <= depth; d++)
|
|
1515
1515
|
cursor.childAfter(node.from);
|
package/dist/index.js
CHANGED
|
@@ -1492,20 +1492,20 @@ function materialize(cursor) {
|
|
|
1492
1492
|
let buf = base.children[i], b = buf.buffer;
|
|
1493
1493
|
// Split a level in the buffer, putting the nodes before and after
|
|
1494
1494
|
// the child that contains `node` into new buffers.
|
|
1495
|
-
function split(startI, endI, type, innerOffset) {
|
|
1495
|
+
function split(startI, endI, type, innerOffset, length) {
|
|
1496
1496
|
let i = startI;
|
|
1497
1497
|
while (b[i + 2] + off <= node.from)
|
|
1498
1498
|
i = b[i + 3];
|
|
1499
1499
|
let children = [], positions = [];
|
|
1500
1500
|
sliceBuf(buf, startI, i, children, positions, innerOffset);
|
|
1501
|
-
let
|
|
1502
|
-
|
|
1503
|
-
|
|
1501
|
+
let from = b[i + 1], to = b[i + 2];
|
|
1502
|
+
let isTarget = from + off == node.from && to + off == node.to && b[i] == node.type.id;
|
|
1503
|
+
children.push(isTarget ? node.toTree() : split(i + 4, b[i + 3], buf.set.types[b[i]], from, to - from));
|
|
1504
|
+
positions.push(from - innerOffset);
|
|
1504
1505
|
sliceBuf(buf, b[i + 3], endI, children, positions, innerOffset);
|
|
1505
|
-
|
|
1506
|
-
return new Tree(type, children, positions, positions[last] + children[last].length);
|
|
1506
|
+
return new Tree(type, children, positions, length);
|
|
1507
1507
|
}
|
|
1508
|
-
base.children[i] = split(0, b.length, NodeType.none, 0);
|
|
1508
|
+
base.children[i] = split(0, b.length, NodeType.none, 0, buf.length);
|
|
1509
1509
|
// Move the cursor back to the target node
|
|
1510
1510
|
for (let d = 0; d <= depth; d++)
|
|
1511
1511
|
cursor.childAfter(node.from);
|
package/dist/tree.d.ts
CHANGED
|
@@ -72,8 +72,8 @@ export declare class Tree {
|
|
|
72
72
|
cursor(pos?: number, side?: -1 | 0 | 1): TreeCursor;
|
|
73
73
|
fullCursor(): TreeCursor;
|
|
74
74
|
get topNode(): SyntaxNode;
|
|
75
|
-
resolve(pos: number, side?: -1 | 0 | 1):
|
|
76
|
-
resolveInner(pos: number, side?: -1 | 0 | 1):
|
|
75
|
+
resolve(pos: number, side?: -1 | 0 | 1): any;
|
|
76
|
+
resolveInner(pos: number, side?: -1 | 0 | 1): any;
|
|
77
77
|
iterate(spec: {
|
|
78
78
|
enter(type: NodeType, from: number, to: number, get: () => SyntaxNode): false | void;
|
|
79
79
|
leave?(type: NodeType, from: number, to: number, get: () => SyntaxNode): void;
|
|
@@ -170,8 +170,8 @@ export declare class TreeNode implements SyntaxNode {
|
|
|
170
170
|
get cursor(): TreeCursor;
|
|
171
171
|
get tree(): Tree;
|
|
172
172
|
toTree(): Tree;
|
|
173
|
-
resolve(pos: number, side?: -1 | 0 | 1):
|
|
174
|
-
resolveInner(pos: number, side?: -1 | 0 | 1):
|
|
173
|
+
resolve(pos: number, side?: -1 | 0 | 1): any;
|
|
174
|
+
resolveInner(pos: number, side?: -1 | 0 | 1): any;
|
|
175
175
|
enterUnfinishedNodesBefore(pos: number): SyntaxNode;
|
|
176
176
|
getChild(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode;
|
|
177
177
|
getChildren(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode[];
|
|
@@ -205,8 +205,8 @@ declare class BufferNode implements SyntaxNode {
|
|
|
205
205
|
get cursor(): TreeCursor;
|
|
206
206
|
get tree(): any;
|
|
207
207
|
toTree(): Tree;
|
|
208
|
-
resolve(pos: number, side?: -1 | 0 | 1):
|
|
209
|
-
resolveInner(pos: number, side?: -1 | 0 | 1):
|
|
208
|
+
resolve(pos: number, side?: -1 | 0 | 1): any;
|
|
209
|
+
resolveInner(pos: number, side?: -1 | 0 | 1): any;
|
|
210
210
|
enterUnfinishedNodesBefore(pos: number): SyntaxNode;
|
|
211
211
|
getChild(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode;
|
|
212
212
|
getChildren(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode[];
|