flink-sql-language-server
Version:
A LSP-based language server for Apache Flink SQL
34 lines (33 loc) • 1.96 kB
TypeScript
import { Token } from 'antlr4ts';
import * as lsp from 'vscode-languageserver';
import { Range, TextDocument, TextEdit } from 'vscode-languageserver-textdocument';
import { Lineage, LineageOptions } from './lineage.typing';
import { PreviewContext } from './listeners/preview.listener';
import { SchemaContext } from './listeners/schema.listener';
import { StructureResult } from './listeners/structure.listener';
import { SemanticToken } from './listeners/tokens-collector.listener';
import { ParsingWarehouse } from './parsing-warehouse';
import { SchemaRegistry } from './schema-registry';
import { TokenCollection, StructureCommandOptions } from './typings';
export declare class LSPServer {
private readonly _warehouse;
private readonly _schemaRegistry;
constructor();
get warehouse(): ParsingWarehouse;
get schemaRegistry(): SchemaRegistry;
getTokenByPosition(document: TextDocument, position: lsp.Position): Token | undefined;
doValidation(document: TextDocument): lsp.Diagnostic[];
doFormatting(document: TextDocument, options: lsp.FormattingOptions): TextEdit[];
doFoldingRanges(document: TextDocument): lsp.FoldingRange[];
doReferences(document: TextDocument, position: lsp.Position, skipSelf?: boolean): lsp.Range[];
doCompletion(document: TextDocument, position: lsp.Position): {
completionItems: lsp.CompletionItem[];
identifiers: string[];
};
parseStructure(document: TextDocument, options?: StructureCommandOptions): StructureResult;
generatePreviewScript(document: TextDocument, context: PreviewContext, range?: Range): string;
extractSchemaContexts(document: TextDocument, range?: Range): SchemaContext[];
collectTokens(document: TextDocument, range?: Range): TokenCollection;
getLineage(document: TextDocument, options?: LineageOptions): Lineage;
}
export declare function isSemanticTokenReference(token1: SemanticToken, token2: SemanticToken): boolean;