@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 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 isTarget = b[i + 1] + off == node.from && b[i + 2] + off == node.to && b[i] == node.type.id;
1506
- children.push(isTarget ? node.toTree() : split(i + 4, b[i + 3], buf.set.types[b[i]], b[i + 1]));
1507
- positions.push(b[i + 1] - innerOffset);
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
- let last = children.length - 1;
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 isTarget = b[i + 1] + off == node.from && b[i + 2] + off == node.to && b[i] == node.type.id;
1502
- children.push(isTarget ? node.toTree() : split(i + 4, b[i + 3], buf.set.types[b[i]], b[i + 1]));
1503
- positions.push(b[i + 1] - innerOffset);
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
- let last = children.length - 1;
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): SyntaxNode;
76
- resolveInner(pos: number, side?: -1 | 0 | 1): SyntaxNode;
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): SyntaxNode;
174
- resolveInner(pos: number, side?: -1 | 0 | 1): SyntaxNode;
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): SyntaxNode;
209
- resolveInner(pos: number, side?: -1 | 0 | 1): SyntaxNode;
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[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lezer/common",
3
- "version": "0.15.10",
3
+ "version": "0.15.11",
4
4
  "description": "Syntax tree data structure and parser interfaces for the lezer parser",
5
5
  "main": "dist/index.cjs",
6
6
  "type": "module",