flink-sql-language-server
Version:
A LSP-based language server for Apache Flink SQL
103 lines (102 loc) • 6.8 kB
TypeScript
import { CommonTokenStream } from 'antlr4ts';
import { AbstractParseTreeVisitor } from 'antlr4ts/tree';
import { FormattingOptions } from 'vscode-languageserver';
import { TextEdit } from 'vscode-languageserver-textdocument';
import { AlterFunctionContext, AnalyzeContext, ArithmeticBinaryContext, ArithmeticUnaryContext, BeginStatementSetContext, CaseEndContext, CharsetLiteralContext, ColumnAssignmentContext, ColumnAssignmentsContext, ColumnDefinitionContext, ColumnsContext, ColumnsWithoutParenthesisContext, CommaTableContext, ComparisonContext, CreateFunctionContext, CreateMaterializedTableContext, CreateTableContext, CreateViewContext, CtesContext, DefineValuesContext, DereferenceContext, DistributedByContext, ElseExprContext, ExecuteStatementSetContext, ExistsContext, ExpressionsContext, FromTableContext, FunctionCallContext, GroupByContext, GroupItemsContext, HavingContext, InsertContext, InsertMultipleContext, IntoBucketsContext, JsonArrayAggFunctionContext, JsonArrayFunctionContext, JsonExistsFunctionContext, JsonObjectAggFunctionContext, JsonObjectFunctionContext, JsonQueryFunctionContext, JsonValueFunctionContext, LogicalBinaryContext, LogicalNotContext, MapQueryContext, MapTableContext, MatchRecognizeContext, ParenthesisGroupItemsContext, ParenthesisQueryContext, PartitionedByContext, PrimaryExprContext, ProjectItemContext, ProjectItemsContext, QueryContext, RenameToContext, RowTypeContext, SetValuesContext, SqlTypeNameContext, StarContext, StatementContext, StatementEndContext, TableConstraintContext, TableLateralContext, TableReferenceContext, TableSourceContext, ThenExprContext, ValueAssignmentContext, ValueAssignmentsContext, WatermarkDefinitionContext, WhenExprContext, WhereContext, WindowSelectContext, WindowSpecContext, WithItemContext, WithValuesContext } from '../lib/FlinkSQLParser';
import { FlinkSQLParserVisitor } from '../lib/FlinkSQLParserVisitor';
export declare class SpaceReplacerFormatVisitor extends AbstractParseTreeVisitor<void> implements FlinkSQLParserVisitor<void> {
private tokens;
private config;
textEdits: TextEdit[];
private indentNumber;
private indentString;
private readonly newline;
private readonly maxParenthesisLength;
private readonly newlineRegex;
constructor(tokens: CommonTokenStream, config: FormattingOptions);
defaultResult(): void;
private get indent();
private get newlineIndent();
private addIndent;
private minusIndent;
private updateBeforeNextTokenByContext;
private updateAfterPreviousTokenByContext;
private updateBeforeNextTokenByNode;
private updateAfterPreviousTokenByNode;
private alignColumnDefinitions;
private handleAlignNextToken;
visitStatement(ctx: StatementContext): void;
visitStatementEnd(ctx: StatementEndContext): void;
visitBeginStatementSet(ctx: BeginStatementSetContext): void;
visitExecuteStatementSet(ctx: ExecuteStatementSetContext): void;
visitCreateFunction(ctx: CreateFunctionContext): void;
visitCreateView(ctx: CreateViewContext): void;
visitCreateTable(ctx: CreateTableContext): void;
visitCreateMaterializedTable(ctx: CreateMaterializedTableContext): void;
visitDefineValues(ctx: DefineValuesContext): void;
visitColumnDefinition(ctx: ColumnDefinitionContext): void;
visitWatermarkDefinition(ctx: WatermarkDefinitionContext): void;
visitTableConstraint(ctx: TableConstraintContext): void;
visitWithValues(ctx: WithValuesContext): void;
visitPartitionedBy(ctx: PartitionedByContext): void;
visitDistributedBy(ctx: DistributedByContext): void;
visitIntoBuckets(ctx: IntoBucketsContext): void;
visitInsert(ctx: InsertContext): void;
visitInsertMultiple(ctx: InsertMultipleContext): void;
visitColumns(ctx: ColumnsContext): void;
visitValueAssignments(ctx: ValueAssignmentsContext): void;
visitValueAssignment(ctx: ValueAssignmentContext): void;
visitColumnAssignments(ctx: ColumnAssignmentsContext): void;
visitColumnAssignment(ctx: ColumnAssignmentContext): void;
visitColumnsWithoutParenthesis(ctx: ColumnsWithoutParenthesisContext): void;
visitAnalyze(ctx: AnalyzeContext): void;
visitAlterFunction(ctx: AlterFunctionContext): void;
visitRenameTo(ctx: RenameToContext): void;
visitSetValues(ctx: SetValuesContext): void;
visitQuery(ctx: QueryContext): void;
visitParenthesisQuery(ctx: ParenthesisQueryContext): void;
visitMapQuery(ctx: MapQueryContext): void;
visitCtes(ctx: CtesContext): void;
visitWithItem(ctx: WithItemContext): void;
visitProjectItems(ctx: ProjectItemsContext): void;
visitProjectItem(ctx: ProjectItemContext): void;
visitFromTable(ctx: FromTableContext): void;
visitWhere(ctx: WhereContext): void;
visitGroupBy(ctx: GroupByContext): void;
visitHaving(ctx: HavingContext): void;
visitWindowSelect(ctx: WindowSelectContext): void;
visitCommaTable(ctx: CommaTableContext): void;
visitMapTable(ctx: MapTableContext): void;
visitGroupItems(ctx: GroupItemsContext): void;
visitParenthesisGroupItems(ctx: ParenthesisGroupItemsContext): void;
visitTableReference(ctx: TableReferenceContext): void;
visitTableSource(ctx: TableSourceContext): void;
visitTableLateral(ctx: TableLateralContext): void;
visitSqlTypeName(ctx: SqlTypeNameContext): void;
visitRowType(ctx: RowTypeContext): void;
visitFunctionCall(ctx: FunctionCallContext): void;
visitJsonExistsFunction(ctx: JsonExistsFunctionContext): void;
visitJsonValueFunction(ctx: JsonValueFunctionContext): void;
visitJsonQueryFunction(ctx: JsonQueryFunctionContext): void;
visitJsonObjectFunction(ctx: JsonObjectFunctionContext): void;
visitJsonObjectAggFunction(ctx: JsonObjectAggFunctionContext): void;
visitJsonArrayFunction(ctx: JsonArrayFunctionContext): void;
visitJsonArrayAggFunction(ctx: JsonArrayAggFunctionContext): void;
visitExpressions(ctx: ExpressionsContext): void;
visitPrimaryExpr(ctx: PrimaryExprContext): void;
visitArithmeticUnary(ctx: ArithmeticUnaryContext): void;
visitArithmeticBinary(ctx: ArithmeticBinaryContext): void;
visitComparison(ctx: ComparisonContext): void;
visitWhenExpr(ctx: WhenExprContext): void;
visitThenExpr(ctx: ThenExprContext): void;
visitElseExpr(ctx: ElseExprContext): void;
visitCaseEnd(ctx: CaseEndContext): void;
visitLogicalNot(ctx: LogicalNotContext): void;
visitExists(ctx: ExistsContext): void;
visitLogicalBinary(ctx: LogicalBinaryContext): void;
visitWindowSpec(ctx: WindowSpecContext): void;
visitMatchRecognize(ctx: MatchRecognizeContext): void;
visitCharsetLiteral(ctx: CharsetLiteralContext): void;
visitDereference(ctx: DereferenceContext): void;
visitStar(ctx: StarContext): void;
}