UNPKG

flink-sql-language-server

Version:

A LSP-based language server for Apache Flink SQL

30 lines (29 loc) 1.26 kB
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; }