From a7a6139e70ea182ebf09aef8413d9916e20d9afc Mon Sep 17 00:00:00 2001 From: Stafford Brunk Date: Fri, 30 Oct 2020 10:20:12 -0600 Subject: [PATCH] Add additional Query API typedefs based on Elm Language Server's overrides --- lib/binding_web/tree-sitter-web.d.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/binding_web/tree-sitter-web.d.ts b/lib/binding_web/tree-sitter-web.d.ts index 6958a9bf..ae76e803 100644 --- a/lib/binding_web/tree-sitter-web.d.ts +++ b/lib/binding_web/tree-sitter-web.d.ts @@ -48,6 +48,7 @@ declare module 'web-tree-sitter' { ) => string | null; export interface SyntaxNode { + id: number; tree: Tree; type: string; isNamed: boolean; @@ -136,10 +137,23 @@ declare module 'web-tree-sitter' { query(source: string): Query; } + interface QueryResult { + pattern: number; + captures: { name: string; node: SyntaxNode }[]; + } + + interface PredicateResult { + operator: string; + operands: { name: string; type: string }[]; + } + class Query { + captureNames: string[]; + delete(): void; - matches(node: SyntaxNode, startPosition?: Point, endPosition?: Point); - captures(node: SyntaxNode, startPosition?: Point, endPosition?: Point); + matches(node: SyntaxNode, startPosition?: Point, endPosition?: Point): QueryResult[]; + captures(node: SyntaxNode, startPosition?: Point, endPosition?: Point): QueryResult[]; + predicatesForPattern(patternIndex: number): PredicateResult[]; } }