A library that provides autocompletion and errors highlighting for various database dialects
npm install websql-autocomplete!ci_badge
!npm_package_version_badge
!last_commit_badge
!license_badge
A tool that provides autocompletion for various sql dialects.
In order to parse any language, you need a lexer (tokenizer) and a parser (ast builder)
Resources to research:
- The ANTLR Mega Tutorial: https://tomassetti.me/antlr-mega-tutorial/
- Code Completion with ANTLR4-c3: https://tomassetti.me/code-completion-with-antlr4-c3/
1. ANTLR4 grammar and lexer for different {dialect} are defined in src/autocomplete/databases/{dialect}/grammar directories.
2. Actual parsers and lexers for different {dialect} are generated into src/autocomplete/databases/{dialect}/generated directories.
3. Dialect specific code, which is required for the core logic to work, is put in src/autocomplete/databases/{dialect}/{dialect}-autocomplete.ts files.
4. The core logic is inside src/autocomplete/autocomplete.ts file. It uses dialect specific helpers to generate autocomplete suggestions based on current cursor position.
- npm run generate - Generate parsers and lexers (Java has to be installed on your system for this to work)
- npm run test - Run tests