11.0.0 • Published 9 months ago

@gravity-ui/websql-autocomplete v11.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
9 months 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/shared/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.3.0

1 year ago

10.0.0

11 months ago

8.2.0

1 year ago

10.1.0

11 months ago

10.2.0

10 months ago

10.3.0

10 months ago

10.2.1

10 months ago

8.4.0

1 year ago

9.1.1

12 months ago

9.1.0

1 year ago

9.0.0

1 year ago

11.0.0

9 months ago

8.1.0

1 year ago

8.0.2

1 year ago

8.0.1

1 year ago

8.0.0

1 year ago