flink-sql-language-server
Version:
A LSP-based language server for Apache Flink SQL
30 lines (29 loc) • 1.26 kB
TypeScript
import * as lsp from 'vscode-languageserver';
import { TextDocument } from 'vscode-languageserver-textdocument';
import { CatalogNameContext, ColumnNameContext, DatabaseNameContext, FunctionNameContext, StringContext, TableNameContext, ViewNameContext } from '../lib/FlinkSQLParser';
import { FlinkSQLParserListener } from '../lib/FlinkSQLParserListener';
export interface BaseToken {
name: string;
range: lsp.Range;
}
export interface StringToken extends BaseToken {
type: 'string';
}
export interface SemanticToken extends BaseToken {
type: 'function' | 'column' | 'table' | 'database' | 'catalog' | 'view';
}
export declare class TokensCollectorListener implements FlinkSQLParserListener {
private document;
private semanticTokens;
private stringTokens;
constructor(document: TextDocument);
getSemanticTokens(): SemanticToken[];
getStringTokens(): StringToken[];
enterString(ctx: StringContext): void;
enterCatalogName(ctx: CatalogNameContext): void;
enterDatabaseName(ctx: DatabaseNameContext): void;
enterTableName(ctx: TableNameContext): void;
enterColumnName(ctx: ColumnNameContext): void;
enterFunctionName(ctx: FunctionNameContext): void;
enterViewName(ctx: ViewNameContext): void;
}