diff options
| author | derekstride <djgstride@gmail.com> | 2021-03-14 22:38:54 -0230 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2022-07-08 00:15:40 +0200 |
| commit | 8927588e4771070b92fdefef057eec6e6181e465 (patch) | |
| tree | adff33587f0de2b9bb31f32181878561ab287583 | |
| parent | fix(go): indent const declaration (diff) | |
| download | nvim-treesitter-8927588e4771070b92fdefef057eec6e6181e465.tar nvim-treesitter-8927588e4771070b92fdefef057eec6e6181e465.tar.gz nvim-treesitter-8927588e4771070b92fdefef057eec6e6181e465.tar.bz2 nvim-treesitter-8927588e4771070b92fdefef057eec6e6181e465.tar.lz nvim-treesitter-8927588e4771070b92fdefef057eec6e6181e465.tar.xz nvim-treesitter-8927588e4771070b92fdefef057eec6e6181e465.tar.zst nvim-treesitter-8927588e4771070b92fdefef057eec6e6181e465.zip | |
Initial SQL support
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | lockfile.json | 3 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 8 | ||||
| -rw-r--r-- | queries/sql/highlights.scm | 101 | ||||
| -rw-r--r-- | queries/sql/injections.scm | 3 |
5 files changed, 116 insertions, 0 deletions
@@ -255,6 +255,7 @@ We are looking for maintainers to add more parsers and to write query files for - [x] [slint](https://github.com/jrmoulton/tree-sitter-slint) (experimental, maintained by @jrmoulton) - [x] [solidity](https://github.com/YongJieYongJie/tree-sitter-solidity) (maintained by @YongJieYongJie) - [x] [sparql](https://github.com/BonaBeavis/tree-sitter-sparql) (maintained by @bonabeavis) +- [x] [sql](https://github.com/derekstride/tree-sitter-sql) (maintained by @derekstride) - [x] [supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) (maintained by @madskjeldgaard) - [x] [surface](https://github.com/connorlay/tree-sitter-surface) (maintained by @connorlay) - [x] [svelte](https://github.com/Himujjal/tree-sitter-svelte) (maintained by @elianiva) diff --git a/lockfile.json b/lockfile.json index c6bddc8d4..9601145d1 100644 --- a/lockfile.json +++ b/lockfile.json @@ -296,6 +296,9 @@ "sparql": { "revision": "05f949d3c1c15e3261473a244d3ce87777374dec" }, + "sql": { + "revision": "7b19968fc06f793b806508c0026d615bb3aa6d86" + }, "supercollider": { "revision": "90c6d9f777d2b8c4ce497c48b5f270a44bcf3ea0" }, diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 1e3fc88d7..dd8309382 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -770,6 +770,14 @@ list.sparql = { maintainers = { "@bonabeavis" }, } +list.sql = { + install_info = { + url = "https://github.com/derekstride/tree-sitter-sql", + files = { "src/parser.c" }, + }, + maintainers = { "@derekstride" }, +} + list.gdscript = { install_info = { url = "https://github.com/PrestonKnopp/tree-sitter-gdscript", diff --git a/queries/sql/highlights.scm b/queries/sql/highlights.scm new file mode 100644 index 000000000..f80eeb133 --- /dev/null +++ b/queries/sql/highlights.scm @@ -0,0 +1,101 @@ +(function_call + name: (identifier) @function) + +(table_expression + name: (identifier) @type) + +(table_expression + name: (identifier) @type + table_alias: (identifier) @variable) + +(field + table_alias: (identifier) @variable + name: (identifier) @field) + +((literal) @number + (lua-match? @number "^%d+$")) + +((literal) @string + (lua-match? @string "^\"|'")) + +[ + (keyword_select) + (keyword_from) + (keyword_where) + (keyword_use) + (keyword_index) + (keyword_join) + (keyword_on) + (keyword_primary) + (keyword_select) + (keyword_delete) + (keyword_create) + (keyword_insert) + (keyword_distinct) + (keyword_replace) + (keyword_update) + (keyword_into) + (keyword_values) + (keyword_set) + (keyword_from) + (keyword_left) + (keyword_right) + (keyword_outer) + (keyword_inner) + (keyword_join) + (keyword_on) + (keyword_where) + (keyword_order_by) + (keyword_group_by) + (keyword_having) + (keyword_desc) + (keyword_asc) + (keyword_as) + (keyword_limit) + (keyword_offset) + (keyword_primary) + (keyword_table) + (keyword_key) + (keyword_constraint) + (keyword_force) + (keyword_use) + (keyword_index) + (keyword_for) + (keyword_if) + (keyword_exists) + (keyword_auto_increment) + (keyword_default) +] @keyword + +[ + (keyword_in) + (keyword_and) + (keyword_or) + (keyword_not) +] @keyword.operator + +[ + "+" + "-" + "*" + "/" + "%" + "^" + "=" + "<" + "<=" + "!=" + ">=" + ">" +] @operator + +[ + "(" + ")" +] @punctuation.bracket + +[ + ";" + "," + "." +] @punctuation.delimiter diff --git a/queries/sql/injections.scm b/queries/sql/injections.scm new file mode 100644 index 000000000..2157ceb1d --- /dev/null +++ b/queries/sql/injections.scm @@ -0,0 +1,3 @@ +(comment) @comment +(marginalia) @comment + |
