A browser language server (LSP) for Apache Flink SQL, in addition to a simple vscode extension.
The language features are mainly implemented by Antlr4ts.
This Language Server works for Flink SQL file. It has the following language features:
- Completions
- Diagnostics regenerated on each file change or configuration change
- Rename
- References
- FoldingRanges
- Hover
- DocumentFormatting
- CodeAction: QuickFix
- Custom Command
- extract SQL structure
- register schemas: auto-completion will include registered schemas
import { EXTRACT_SQL_STRUCTURE } from 'flink-sql-language-server/out-tsc/constants';
// structure would be undefined if uri is invalid
const structure = await commands.executeCommand<StructureResult>(
EXTRACT_SQL_STRUCTURE,
window.activeTextEditor.document.uri.toString()
);
if (structure) {
// Do something
}
await commands.executeCommand<void>('extension.flinkSQL.registerSchemas', {
catalogs: [{ kind: 'catalog', label: 'testCatalog' }],
databases: [{ kind: 'database', catalog: 'testCatalog', label: 'testDatabase' }],
tables: [{ kind: 'table', catalog: 'testCatalog', database: 'testDatabase', label: 'testTable' }]
});