@lezer/common 0.15.12 → 1.0.0
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 +207 -78
- package/dist/index.d.ts +1 -1
- package/dist/index.es.js +1816 -0
- package/dist/index.js +207 -79
- package/dist/mix.d.ts +3 -3
- package/dist/tree.d.ts +53 -33
- package/package.json +1 -1
package/dist/tree.d.ts
CHANGED
|
@@ -62,6 +62,12 @@ export declare class NodeSet {
|
|
|
62
62
|
constructor(types: readonly NodeType[]);
|
|
63
63
|
extend(...props: NodePropSource[]): NodeSet;
|
|
64
64
|
}
|
|
65
|
+
export declare enum IterMode {
|
|
66
|
+
ExcludeBuffers = 1,
|
|
67
|
+
IncludeAnonymous = 2,
|
|
68
|
+
IgnoreMounts = 4,
|
|
69
|
+
IgnoreOverlays = 8
|
|
70
|
+
}
|
|
65
71
|
export declare class Tree {
|
|
66
72
|
readonly type: NodeType;
|
|
67
73
|
readonly children: readonly (Tree | TreeBuffer)[];
|
|
@@ -69,16 +75,17 @@ export declare class Tree {
|
|
|
69
75
|
readonly length: number;
|
|
70
76
|
constructor(type: NodeType, children: readonly (Tree | TreeBuffer)[], positions: readonly number[], length: number, props?: readonly [NodeProp<any> | number, any][]);
|
|
71
77
|
static empty: Tree;
|
|
72
|
-
cursor(
|
|
73
|
-
|
|
78
|
+
cursor(mode?: IterMode): TreeCursor;
|
|
79
|
+
cursorAt(pos: number, side?: -1 | 0 | 1, mode?: IterMode): TreeCursor;
|
|
74
80
|
get topNode(): SyntaxNode;
|
|
75
81
|
resolve(pos: number, side?: -1 | 0 | 1): SyntaxNode;
|
|
76
82
|
resolveInner(pos: number, side?: -1 | 0 | 1): SyntaxNode;
|
|
77
83
|
iterate(spec: {
|
|
78
|
-
enter(
|
|
79
|
-
leave?(
|
|
84
|
+
enter(node: SyntaxNodeRef): boolean | void;
|
|
85
|
+
leave?(node: SyntaxNodeRef): void;
|
|
80
86
|
from?: number;
|
|
81
87
|
to?: number;
|
|
88
|
+
mode?: IterMode;
|
|
82
89
|
}): void;
|
|
83
90
|
prop<T>(prop: NodeProp<T>): T | undefined;
|
|
84
91
|
get propValues(): readonly [NodeProp<any> | number, any][];
|
|
@@ -113,27 +120,32 @@ export declare class TreeBuffer {
|
|
|
113
120
|
readonly set: NodeSet;
|
|
114
121
|
constructor(buffer: Uint16Array, length: number, set: NodeSet);
|
|
115
122
|
}
|
|
116
|
-
export interface
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
123
|
+
export interface SyntaxNodeRef {
|
|
124
|
+
readonly from: number;
|
|
125
|
+
readonly to: number;
|
|
126
|
+
readonly type: NodeType;
|
|
127
|
+
readonly name: string;
|
|
128
|
+
readonly tree: Tree | null;
|
|
129
|
+
readonly node: SyntaxNode;
|
|
130
|
+
matchContext(context: readonly string[]): boolean;
|
|
131
|
+
}
|
|
132
|
+
export interface SyntaxNode extends SyntaxNodeRef {
|
|
121
133
|
parent: SyntaxNode | null;
|
|
122
134
|
firstChild: SyntaxNode | null;
|
|
123
135
|
lastChild: SyntaxNode | null;
|
|
124
136
|
childAfter(pos: number): SyntaxNode | null;
|
|
125
137
|
childBefore(pos: number): SyntaxNode | null;
|
|
126
|
-
enter(pos: number, side: -1 | 0 | 1,
|
|
138
|
+
enter(pos: number, side: -1 | 0 | 1, mode?: IterMode): SyntaxNode | null;
|
|
127
139
|
nextSibling: SyntaxNode | null;
|
|
128
140
|
prevSibling: SyntaxNode | null;
|
|
129
|
-
cursor: TreeCursor;
|
|
141
|
+
cursor(mode?: IterMode): TreeCursor;
|
|
130
142
|
resolve(pos: number, side?: -1 | 0 | 1): SyntaxNode;
|
|
131
143
|
resolveInner(pos: number, side?: -1 | 0 | 1): SyntaxNode;
|
|
132
144
|
enterUnfinishedNodesBefore(pos: number): SyntaxNode;
|
|
133
|
-
tree: Tree | null;
|
|
134
145
|
toTree(): Tree;
|
|
135
146
|
getChild(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode | null;
|
|
136
147
|
getChildren(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode[];
|
|
148
|
+
matchContext(context: readonly string[]): boolean;
|
|
137
149
|
}
|
|
138
150
|
declare const enum Side {
|
|
139
151
|
Before = -2,
|
|
@@ -143,31 +155,26 @@ declare const enum Side {
|
|
|
143
155
|
After = 2,
|
|
144
156
|
DontCare = 4
|
|
145
157
|
}
|
|
146
|
-
export declare const enum Mode {
|
|
147
|
-
Full = 1,
|
|
148
|
-
NoEnterBuffer = 2
|
|
149
|
-
}
|
|
150
158
|
export declare class TreeNode implements SyntaxNode {
|
|
151
|
-
readonly
|
|
152
|
-
readonly
|
|
159
|
+
readonly _tree: Tree;
|
|
160
|
+
readonly from: number;
|
|
153
161
|
readonly index: number;
|
|
154
162
|
readonly _parent: TreeNode | null;
|
|
155
|
-
constructor(
|
|
163
|
+
constructor(_tree: Tree, from: number, index: number, _parent: TreeNode | null);
|
|
156
164
|
get type(): NodeType;
|
|
157
165
|
get name(): string;
|
|
158
|
-
get from(): number;
|
|
159
166
|
get to(): number;
|
|
160
|
-
nextChild(i: number, dir: 1 | -1, pos: number, side: Side, mode?:
|
|
167
|
+
nextChild(i: number, dir: 1 | -1, pos: number, side: Side, mode?: IterMode): TreeNode | BufferNode | null;
|
|
161
168
|
get firstChild(): TreeNode | BufferNode;
|
|
162
169
|
get lastChild(): TreeNode | BufferNode;
|
|
163
170
|
childAfter(pos: number): TreeNode | BufferNode;
|
|
164
171
|
childBefore(pos: number): TreeNode | BufferNode;
|
|
165
|
-
enter(pos: number, side: -1 | 0 | 1,
|
|
172
|
+
enter(pos: number, side: -1 | 0 | 1, mode?: number): TreeNode | BufferNode;
|
|
166
173
|
nextSignificantParent(): TreeNode;
|
|
167
|
-
get parent(): TreeNode;
|
|
168
|
-
get nextSibling():
|
|
169
|
-
get prevSibling():
|
|
170
|
-
|
|
174
|
+
get parent(): TreeNode | null;
|
|
175
|
+
get nextSibling(): SyntaxNode | null;
|
|
176
|
+
get prevSibling(): SyntaxNode | null;
|
|
177
|
+
cursor(mode?: IterMode): TreeCursor;
|
|
171
178
|
get tree(): Tree;
|
|
172
179
|
toTree(): Tree;
|
|
173
180
|
resolve(pos: number, side?: -1 | 0 | 1): SyntaxNode;
|
|
@@ -175,6 +182,8 @@ export declare class TreeNode implements SyntaxNode {
|
|
|
175
182
|
enterUnfinishedNodesBefore(pos: number): SyntaxNode;
|
|
176
183
|
getChild(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode;
|
|
177
184
|
getChildren(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode[];
|
|
185
|
+
get node(): this;
|
|
186
|
+
matchContext(context: readonly string[]): boolean;
|
|
178
187
|
}
|
|
179
188
|
declare class BufferContext {
|
|
180
189
|
readonly parent: TreeNode;
|
|
@@ -197,12 +206,12 @@ declare class BufferNode implements SyntaxNode {
|
|
|
197
206
|
get lastChild(): BufferNode;
|
|
198
207
|
childAfter(pos: number): BufferNode;
|
|
199
208
|
childBefore(pos: number): BufferNode;
|
|
200
|
-
enter(pos: number, side: -1 | 0 | 1,
|
|
201
|
-
get parent():
|
|
209
|
+
enter(pos: number, side: -1 | 0 | 1, mode?: IterMode): BufferNode;
|
|
210
|
+
get parent(): SyntaxNode | null;
|
|
202
211
|
externalSibling(dir: 1 | -1): TreeNode | BufferNode;
|
|
203
212
|
get nextSibling(): SyntaxNode | null;
|
|
204
213
|
get prevSibling(): SyntaxNode | null;
|
|
205
|
-
|
|
214
|
+
cursor(mode?: IterMode): TreeCursor;
|
|
206
215
|
get tree(): any;
|
|
207
216
|
toTree(): Tree;
|
|
208
217
|
resolve(pos: number, side?: -1 | 0 | 1): SyntaxNode;
|
|
@@ -210,15 +219,15 @@ declare class BufferNode implements SyntaxNode {
|
|
|
210
219
|
enterUnfinishedNodesBefore(pos: number): SyntaxNode;
|
|
211
220
|
getChild(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode;
|
|
212
221
|
getChildren(type: string | number, before?: string | number | null, after?: string | number | null): SyntaxNode[];
|
|
222
|
+
get node(): this;
|
|
223
|
+
matchContext(context: readonly string[]): boolean;
|
|
213
224
|
}
|
|
214
|
-
export declare class TreeCursor {
|
|
225
|
+
export declare class TreeCursor implements SyntaxNodeRef {
|
|
215
226
|
type: NodeType;
|
|
216
227
|
get name(): string;
|
|
217
228
|
from: number;
|
|
218
229
|
to: number;
|
|
219
|
-
private buffer;
|
|
220
230
|
private stack;
|
|
221
|
-
private index;
|
|
222
231
|
private bufferNode;
|
|
223
232
|
private yieldNode;
|
|
224
233
|
private yieldBuf;
|
|
@@ -227,7 +236,7 @@ export declare class TreeCursor {
|
|
|
227
236
|
lastChild(): boolean;
|
|
228
237
|
childAfter(pos: number): boolean;
|
|
229
238
|
childBefore(pos: number): boolean;
|
|
230
|
-
enter(pos: number, side: -1 | 0 | 1,
|
|
239
|
+
enter(pos: number, side: -1 | 0 | 1, mode?: IterMode): boolean;
|
|
231
240
|
parent(): boolean;
|
|
232
241
|
nextSibling(): boolean;
|
|
233
242
|
prevSibling(): boolean;
|
|
@@ -238,5 +247,16 @@ export declare class TreeCursor {
|
|
|
238
247
|
moveTo(pos: number, side?: -1 | 0 | 1): this;
|
|
239
248
|
get node(): SyntaxNode;
|
|
240
249
|
get tree(): Tree | null;
|
|
250
|
+
iterate(enter: (node: SyntaxNodeRef) => boolean | void, leave?: (node: SyntaxNodeRef) => void): void;
|
|
251
|
+
matchContext(context: readonly string[]): boolean;
|
|
252
|
+
}
|
|
253
|
+
export declare class NodeWeakMap<T> {
|
|
254
|
+
private map;
|
|
255
|
+
private setBuffer;
|
|
256
|
+
private getBuffer;
|
|
257
|
+
set(node: SyntaxNode, value: T): void;
|
|
258
|
+
get(node: SyntaxNode): T | undefined;
|
|
259
|
+
cursorSet(cursor: TreeCursor, value: T): void;
|
|
260
|
+
cursorGet(cursor: TreeCursor): T | undefined;
|
|
241
261
|
}
|
|
242
262
|
export {};
|