8.1.0 • Published 2 days ago

@gravity-ui/websql-autocomplete v8.1.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 days ago

WebSQL autocomplete

ci_badge npm_package_version_badge last_commit_badge license_badge

A tool that provides autocompletion for various sql dialects.

Autocomplete theory

In order to parse any language, you need a lexer (tokenizer) and a parser (ast builder)

Resources to research:

How everything works

  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.

Main scripts

  • npm run generate - Generate parsers and lexers (Java has to be installed on your system for this to work)
  • npm run test - Run tests
8.1.0

2 days ago

8.0.2

2 months ago

8.0.1

2 months ago

8.0.0

2 months ago