@neo4j-cypher/language-support
Version:
Cypher language support
33 lines (32 loc) • 1.85 kB
TypeScript
import antlrDefaultExport, { CommonTokenStream, ParserRuleContext, ParseTree, Token } from 'antlr4';
import CypherLexer from './generated-parser/CypherCmdLexer';
import CypherParser, { StatementsOrCommandsContext } from './generated-parser/CypherCmdParser';
import { ParsedStatement, ParsingResult } from './parserWrapper';
export type EnrichedParseTree = ParseTree & {
parentCtx: ParserRuleContext | undefined;
};
export declare function findStopNode(root: StatementsOrCommandsContext): antlrDefaultExport.ParserRuleContext;
export declare function findParent(leaf: EnrichedParseTree | undefined, condition: (node: EnrichedParseTree) => boolean): EnrichedParseTree;
export declare function getTokens(tokenStream: CommonTokenStream): Token[];
export declare function isDefined(x: unknown): boolean;
type AntlrDefaultExport = {
tree: {
Trees: {
getNodeText(node: ParserRuleContext, s: string[], c: typeof CypherParser): string;
getChildren(node: ParserRuleContext): ParserRuleContext[];
};
};
};
export declare const antlrUtils: AntlrDefaultExport;
export declare function inNodeLabel(stopNode: ParserRuleContext): boolean;
export declare function inRelationshipType(stopNode: ParserRuleContext): boolean;
export declare function findCaret(parsingResult: ParsingResult, caretPosition: number): {
statement: ParsedStatement;
token: Token;
} | undefined;
export declare function splitIntoStatements(tokenStream: CommonTokenStream, lexer: CypherLexer): CommonTokenStream[];
export declare function findPreviousNonSpace(tokens: Token[], index: number): Token | undefined;
export declare function isCommentOpener(thisToken: Token, nextToken: Token | undefined): boolean;
export declare const rulesDefiningVariables: number[];
export declare const rulesDefiningOrUsingVariables: number[];
export {};