on master help sign in
feat(languages): SQL (#2097)
460e6a8Jared Ramirez
book/src/generated/lang-support.md+1
@@ -64,6 +64,7 @@
64| rust | ✓ | ✓ | ✓ | `rust-analyzer` |
64| rust | ✓ | ✓ | ✓ | `rust-analyzer` |
65| scala | ✓ | | ✓ | `metals` |
65| scala | ✓ | | ✓ | `metals` |
66| solidity | ✓ | | | `solc` |
66| solidity | ✓ | | | `solc` |
67+| sql | ✓ | | | |
67| svelte | ✓ | | ✓ | `svelteserver` |
68| svelte | ✓ | | ✓ | `svelteserver` |
68| swift | ✓ | | | `sourcekit-lsp` |
69| swift | ✓ | | | `sourcekit-lsp` |
69| tablegen | ✓ | ✓ | ✓ | |
70| tablegen | ✓ | ✓ | ✓ | |
languages.toml+13
@@ -1137,3 +1137,16 @@ indent = { tab-width = 2, unit = " " }
1137[[grammar]]
1137[[grammar]]
1138name = "heex"
1138name = "heex"
1139source = { git = "https://github.com/connorlay/tree-sitter-heex", rev = "592e22292a367312c35e13de7fdb888f029981d6" }
1139source = { git = "https://github.com/connorlay/tree-sitter-heex", rev = "592e22292a367312c35e13de7fdb888f029981d6" }
1140+
1141+[[language]]
1142+name = "sql"
1143+scope = "source.sql"
1144+file-types = ["sql"]
1145+roots = []
1146+comment-token = "--"
1147+indent = { tab-width = 4, unit = " " }
1148+injection-regex = "sql"
1149+
1150+[[grammar]]
1151+name = "sql"
1152+source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "0caa7fa2ee00e0b770493a79d4efacc1fc376cc5" }
runtime/queries/sql/highlights.scmnew file+165
@@ -0,0 +1,165 @@
1+(comment) @comment
2+
3+[
4+ "("
5+ ")"
6+] @punctuation.bracket
7+
8+[
9+ "*"
10+ "+"
11+ "-"
12+ "/"
13+ "%"
14+ "^"
15+ "||"
16+ "="
17+ "<"
18+ "<="
19+ "!="
20+ ">="
21+ ">"
22+] @operator
23+
24+[
25+ (keyword_null)
26+ (keyword_true)
27+ (keyword_false)
28+] @constant.builtin
29+
30+(literal) @string
31+
32+(set_schema schema: (identifier) @namespace)
33+(table_reference schema: (identifier) @namespace)
34+(table_expression schema: (identifier) @namespace)
35+(all_fields schema: (identifier) @namespace)
36+(field schema: (identifier) @namespace)
37+
38+[
39+ (keyword_select)
40+ (keyword_delete)
41+ (keyword_insert)
42+ (keyword_replace)
43+ (keyword_update)
44+ (keyword_into)
45+ (keyword_values)
46+ (keyword_set)
47+ (keyword_from)
48+ (keyword_left)
49+ (keyword_right)
50+ (keyword_inner)
51+ (keyword_outer)
52+ (keyword_cross)
53+ (keyword_join)
54+ (keyword_lateral)
55+ (keyword_on)
56+ (keyword_not)
57+ (keyword_order_by)
58+ (keyword_group_by)
59+ (keyword_having)
60+ (keyword_desc)
61+ (keyword_asc)
62+ (keyword_limit)
63+ (keyword_offset)
64+ (keyword_primary)
65+ (keyword_create)
66+ (keyword_alter)
67+ (keyword_drop)
68+ (keyword_add)
69+ (keyword_table)
70+ (keyword_view)
71+ (keyword_materialized)
72+ (keyword_column)
73+ (keyword_key)
74+ (keyword_as)
75+ (keyword_distinct)
76+ (keyword_constraint)
77+ ; (keyword_count)
78+ (keyword_max)
79+ (keyword_min)
80+ (keyword_avg)
81+ (keyword_end)
82+ (keyword_force)
83+ (keyword_using)
84+ (keyword_use)
85+ (keyword_index)
86+ (keyword_for)
87+ (keyword_if)
88+ (keyword_exists)
89+ (keyword_auto_increment)
90+ (keyword_default)
91+ (keyword_cascade)
92+ (keyword_with)
93+ (keyword_no)
94+ (keyword_data)
95+ (keyword_type)
96+ (keyword_rename)
97+ (keyword_to)
98+ (keyword_schema)
99+ (keyword_owner)
100+ (keyword_temp)
101+ (keyword_temporary)
102+ (keyword_union)
103+ (keyword_all)
104+ (keyword_except)
105+ (keyword_intersect)
106+ (keyword_returning)
107+ (keyword_begin)
108+ (keyword_commit)
109+ (keyword_rollback)
110+ (keyword_transaction)
111+] @keyword
112+
113+[
114+ (keyword_case)
115+ (keyword_when)
116+ (keyword_then)
117+ (keyword_else)
118+ (keyword_where)
119+] @keyword.control.conditional
120+
121+[
122+ (keyword_in)
123+ (keyword_and)
124+ (keyword_or)
125+ (keyword_is)
126+] @keyword.operator
127+
128+[
129+ (keyword_boolean)
130+ (keyword_smallserial)
131+ (keyword_serial)
132+ (keyword_bigserial)
133+ (keyword_smallint)
134+ (keyword_int)
135+
136+ (bigint)
137+ (decimal)
138+ (numeric)
139+ (keyword_real)
140+ (double)
141+
142+ (keyword_money)
143+
144+ (char)
145+ (varchar)
146+ (keyword_text)
147+
148+ (keyword_uuid)
149+
150+ (keyword_json)
151+ (keyword_jsonb)
152+ (keyword_xml)
153+
154+ (keyword_bytea)
155+
156+ (keyword_date)
157+ (keyword_datetime)
158+ (keyword_timestamp)
159+ (keyword_timestamptz)
160+
161+ (keyword_geometry)
162+ (keyword_geography)
163+ (keyword_box2d)
164+ (keyword_box3d)
165+] @type.builtin