websql-autocomplete
TypeScript icon, indicating that this package has built-in type declarations

7.0.0 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i websql-autocomplete

Weekly Downloads

5

Version

7.0.0

License

Apache-2.0

Unpacked Size

7.16 MB

Total Files

30

Last publish

Collaborators

  • gravity-ui-bot