PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.13.0
Code Block Pro – Beautiful Syntax Highlighting v1.13.0
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / sql.tmLanguage.json

sql.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.13.0, at build/shiki/languages/sql.tmLanguage.json

628 lines 29.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "information_for_contributors": [
3 "This file has been converted from https://github.com/microsoft/vscode-mssql/blob/master/syntaxes/SQL.plist",
4 "If you want to provide a fix or improvement, please create a pull request against the original repository.",
5 "Once accepted there, we are happy to receive an update request."
6 ],
7 "version": "https://github.com/microsoft/vscode-mssql/commit/998c713b179e2e5256b8bf1aeb8ecda3433e6112",
8 "name": "sql",
9 "scopeName": "source.sql",
10 "patterns": [
11 {
12 "match": "((?<!@)@)\\b(\\w+)\\b",
13 "name": "text.variable"
14 },
15 {
16 "match": "(\\[)[^\\]]*(\\])",
17 "name": "text.bracketed"
18 },
19 {
20 "include": "#comments"
21 },
22 {
23 "captures": {
24 "1": {
25 "name": "keyword.other.create.sql"
26 },
27 "2": {
28 "name": "keyword.other.sql"
29 },
30 "5": {
31 "name": "entity.name.function.sql"
32 }
33 },
34 "match": "(?i:^\\s*(create(?:\\s+or\\s+replace)?)\\s+(aggregate|conversion|database|domain|function|group|(unique\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)(['\"`]?)(\\w+)\\4",
35 "name": "meta.create.sql"
36 },
37 {
38 "captures": {
39 "1": {
40 "name": "keyword.other.create.sql"
41 },
42 "2": {
43 "name": "keyword.other.sql"
44 }
45 },
46 "match": "(?i:^\\s*(drop)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))",
47 "name": "meta.drop.sql"
48 },
49 {
50 "captures": {
51 "1": {
52 "name": "keyword.other.create.sql"
53 },
54 "2": {
55 "name": "keyword.other.table.sql"
56 },
57 "3": {
58 "name": "entity.name.function.sql"
59 },
60 "4": {
61 "name": "keyword.other.cascade.sql"
62 }
63 },
64 "match": "(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)",
65 "name": "meta.drop.sql"
66 },
67 {
68 "captures": {
69 "1": {
70 "name": "keyword.other.create.sql"
71 },
72 "2": {
73 "name": "keyword.other.table.sql"
74 }
75 },
76 "match": "(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)",
77 "name": "meta.alter.sql"
78 },
79 {
80 "captures": {
81 "1": {
82 "name": "storage.type.sql"
83 },
84 "2": {
85 "name": "storage.type.sql"
86 },
87 "3": {
88 "name": "constant.numeric.sql"
89 },
90 "4": {
91 "name": "storage.type.sql"
92 },
93 "5": {
94 "name": "constant.numeric.sql"
95 },
96 "6": {
97 "name": "storage.type.sql"
98 },
99 "7": {
100 "name": "constant.numeric.sql"
101 },
102 "8": {
103 "name": "constant.numeric.sql"
104 },
105 "9": {
106 "name": "storage.type.sql"
107 },
108 "10": {
109 "name": "constant.numeric.sql"
110 },
111 "11": {
112 "name": "storage.type.sql"
113 },
114 "12": {
115 "name": "storage.type.sql"
116 },
117 "13": {
118 "name": "storage.type.sql"
119 },
120 "14": {
121 "name": "constant.numeric.sql"
122 },
123 "15": {
124 "name": "storage.type.sql"
125 }
126 },
127 "match": "(?xi)\n\n\t\t\t\t# normal stuff, capture 1\n\t\t\t\t \\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b\n\n\t\t\t\t# numeric suffix, capture 2 + 3i\n\t\t\t\t|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)\n\n\t\t\t\t# optional numeric suffix, capture 4 + 5i\n\t\t\t\t|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?\n\n\t\t\t\t# special case, capture 6 + 7i + 8i\n\t\t\t\t|\\b(numeric|decimal)\\b(?:\\((\\d+),(\\d+)\\))?\n\n\t\t\t\t# special case, captures 9, 10i, 11\n\t\t\t\t|\\b(times?)\\b(?:\\((\\d+)\\))?(\\swith(?:out)?\\stime\\szone\\b)?\n\n\t\t\t\t# special case, captures 12, 13, 14i, 15\n\t\t\t\t|\\b(timestamp)(?:(s|tz))?\\b(?:\\((\\d+)\\))?(\\s(with|without)\\stime\\szone\\b)?\n\n\t\t\t"
128 },
129 {
130 "match": "(?i:\\b((?:primary|foreign)\\s+key|references|on\\sdelete(\\s+cascade)?|nocheck|check|constraint|collate|default)\\b)",
131 "name": "storage.modifier.sql"
132 },
133 {
134 "match": "\\b\\d+\\b",
135 "name": "constant.numeric.sql"
136 },
137 {
138 "match": "(?i:\\b(select(\\s+(all|distinct))?|insert\\s+(ignore\\s+)?into|update|delete|from|set|where|group\\s+by|or|like|and|union(\\s+all)?|having|order\\s+by|limit|cross\\s+join|join|straight_join|(inner|(left|right|full)(\\s+outer)?)\\s+join|natural(\\s+(inner|(left|right|full)(\\s+outer)?))?\\s+join)\\b)",
139 "name": "keyword.other.DML.sql"
140 },
141 {
142 "match": "(?i:\\b(on|off|((is\\s+)?not\\s+)?null)\\b)",
143 "name": "keyword.other.DDL.create.II.sql"
144 },
145 {
146 "match": "(?i:\\bvalues\\b)",
147 "name": "keyword.other.DML.II.sql"
148 },
149 {
150 "match": "(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)",
151 "name": "keyword.other.LUW.sql"
152 },
153 {
154 "match": "(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)",
155 "name": "keyword.other.authorization.sql"
156 },
157 {
158 "match": "(?i:\\bin\\b)",
159 "name": "keyword.other.data-integrity.sql"
160 },
161 {
162 "match": "(?i:^\\s*(comment\\s+on\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\s+.*?\\s+(is)\\s+)",
163 "name": "keyword.other.object-comments.sql"
164 },
165 {
166 "match": "(?i)\\bAS\\b",
167 "name": "keyword.other.alias.sql"
168 },
169 {
170 "match": "(?i)\\b(DESC|ASC)\\b",
171 "name": "keyword.other.order.sql"
172 },
173 {
174 "match": "\\*",
175 "name": "keyword.operator.star.sql"
176 },
177 {
178 "match": "[!<>]?=|<>|<|>",
179 "name": "keyword.operator.comparison.sql"
180 },
181 {
182 "match": "-|\\+|/",
183 "name": "keyword.operator.math.sql"
184 },
185 {
186 "match": "\\|\\|",
187 "name": "keyword.operator.concatenator.sql"
188 },
189 {
190 "match": "(?i)\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdev|stdevp|var|varp)\\b\\s*\\(",
191 "captures": {
192 "1": {
193 "name": "support.function.aggregate.sql"
194 }
195 }
196 },
197 {
198 "match": "(?i)\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\b\\s*\\(",
199 "captures": {
200 "1": {
201 "name": "support.function.analytic.sql"
202 }
203 }
204 },
205 {
206 "match": "(?i)\\b(bit_count|get_bit|left_shift|right_shift|set_bit)\\b\\s*\\(",
207 "captures": {
208 "1": {
209 "name": "support.function.bitmanipulation.sql"
210 }
211 }
212 },
213 {
214 "match": "(?i)\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\b\\s*\\(",
215 "captures": {
216 "1": {
217 "name": "support.function.conversion.sql"
218 }
219 }
220 },
221 {
222 "match": "(?i)\\b(collationproperty|tertiary_weights)\\b\\s*\\(",
223 "captures": {
224 "1": {
225 "name": "support.function.collation.sql"
226 }
227 }
228 },
229 {
230 "match": "(?i)\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\b\\s*\\(",
231 "captures": {
232 "1": {
233 "name": "support.function.cryptographic.sql"
234 }
235 }
236 },
237 {
238 "match": "(?i)\\b(cursor_status)\\b\\s*\\(",
239 "captures": {
240 "1": {
241 "name": "support.function.cursor.sql"
242 }
243 }
244 },
245 {
246 "match": "(?i)\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\b\\s*\\(",
247 "captures": {
248 "1": {
249 "name": "support.function.datetime.sql"
250 }
251 }
252 },
253 {
254 "match": "(?i)\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\b\\s*\\(",
255 "captures": {
256 "1": {
257 "name": "support.function.datatype.sql"
258 }
259 }
260 },
261 {
262 "match": "(?i)\\b(coalesce|nullif)\\b\\s*\\(",
263 "captures": {
264 "1": {
265 "name": "support.function.expression.sql"
266 }
267 }
268 },
269 {
270 "match": "(?<!@)@@(?i)\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\b\\s*\\(",
271 "captures": {
272 "1": {
273 "name": "support.function.globalvar.sql"
274 }
275 }
276 },
277 {
278 "match": "(?i)\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\b\\s*\\(",
279 "captures": {
280 "1": {
281 "name": "support.function.json.sql"
282 }
283 }
284 },
285 {
286 "match": "(?i)\\b(choose|iif|greatest|least)\\b\\s*\\(",
287 "captures": {
288 "1": {
289 "name": "support.function.logical.sql"
290 }
291 }
292 },
293 {
294 "match": "(?i)\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\b\\s*\\(",
295 "captures": {
296 "1": {
297 "name": "support.function.mathematical.sql"
298 }
299 }
300 },
301 {
302 "match": "(?i)\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\b\\s*\\(",
303 "captures": {
304 "1": {
305 "name": "support.function.metadata.sql"
306 }
307 }
308 },
309 {
310 "match": "(?i)\\b(rank|dense_rank|ntile|row_number)\\b\\s*\\(",
311 "captures": {
312 "1": {
313 "name": "support.function.ranking.sql"
314 }
315 }
316 },
317 {
318 "match": "(?i)\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\b\\s*\\(",
319 "captures": {
320 "1": {
321 "name": "support.function.rowset.sql"
322 }
323 }
324 },
325 {
326 "match": "(?i)\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\b\\s*\\(",
327 "captures": {
328 "1": {
329 "name": "support.function.security.sql"
330 }
331 }
332 },
333 {
334 "match": "(?i)\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\b\\s*\\(",
335 "captures": {
336 "1": {
337 "name": "support.function.string.sql"
338 }
339 }
340 },
341 {
342 "match": "(?i)\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\b\\s*\\(",
343 "captures": {
344 "1": {
345 "name": "support.function.system.sql"
346 }
347 }
348 },
349 {
350 "match": "(?i)\\b(patindex|textptr|textvalid)\\b\\s*\\(",
351 "captures": {
352 "1": {
353 "name": "support.function.textimage.sql"
354 }
355 }
356 },
357 {
358 "captures": {
359 "1": {
360 "name": "constant.other.database-name.sql"
361 },
362 "2": {
363 "name": "constant.other.table-name.sql"
364 }
365 },
366 "match": "(\\w+?)\\.(\\w+)"
367 },
368 {
369 "include": "#strings"
370 },
371 {
372 "include": "#regexps"
373 },
374 {
375 "match": "\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\s+or\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime|datetime2|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|session|sessions|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablock|tablockx|take|tape|target|target_index|target_partition|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|to|top|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|value|values|varbinary|varchar|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|window|windows|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\b",
376 "name": "keyword.other.sql"
377 },
378 {
379 "captures": {
380 "1": {
381 "name": "punctuation.section.scope.begin.sql"
382 },
383 "2": {
384 "name": "punctuation.section.scope.end.sql"
385 }
386 },
387 "comment": "Allow for special ↩ behavior",
388 "match": "(\\()(\\))",
389 "name": "meta.block.sql"
390 }
391 ],
392 "repository": {
393 "comments": {
394 "patterns": [
395 {
396 "begin": "(^[ \\t]+)?(?=--)",
397 "beginCaptures": {
398 "1": {
399 "name": "punctuation.whitespace.comment.leading.sql"
400 }
401 },
402 "end": "(?!\\G)",
403 "patterns": [
404 {
405 "begin": "--",
406 "beginCaptures": {
407 "0": {
408 "name": "punctuation.definition.comment.sql"
409 }
410 },
411 "end": "\\n",
412 "name": "comment.line.double-dash.sql"
413 }
414 ]
415 },
416 {
417 "begin": "(^[ \\t]+)?(?=#)",
418 "beginCaptures": {
419 "1": {
420 "name": "punctuation.whitespace.comment.leading.sql"
421 }
422 },
423 "end": "(?!\\G)",
424 "patterns": []
425 },
426 {
427 "begin": "/\\*",
428 "captures": {
429 "0": {
430 "name": "punctuation.definition.comment.sql"
431 }
432 },
433 "end": "\\*/",
434 "name": "comment.block.c"
435 }
436 ]
437 },
438 "regexps": {
439 "patterns": [
440 {
441 "begin": "/(?=\\S.*/)",
442 "beginCaptures": {
443 "0": {
444 "name": "punctuation.definition.string.begin.sql"
445 }
446 },
447 "end": "/",
448 "endCaptures": {
449 "0": {
450 "name": "punctuation.definition.string.end.sql"
451 }
452 },
453 "name": "string.regexp.sql",
454 "patterns": [
455 {
456 "include": "#string_interpolation"
457 },
458 {
459 "match": "\\\\/",
460 "name": "constant.character.escape.slash.sql"
461 }
462 ]
463 },
464 {
465 "begin": "%r\\{",
466 "beginCaptures": {
467 "0": {
468 "name": "punctuation.definition.string.begin.sql"
469 }
470 },
471 "comment": "We should probably handle nested bracket pairs!?! -- Allan",
472 "end": "\\}",
473 "endCaptures": {
474 "0": {
475 "name": "punctuation.definition.string.end.sql"
476 }
477 },
478 "name": "string.regexp.modr.sql",
479 "patterns": [
480 {
481 "include": "#string_interpolation"
482 }
483 ]
484 }
485 ]
486 },
487 "string_escape": {
488 "match": "\\\\.",
489 "name": "constant.character.escape.sql"
490 },
491 "string_interpolation": {
492 "captures": {
493 "1": {
494 "name": "punctuation.definition.string.begin.sql"
495 },
496 "3": {
497 "name": "punctuation.definition.string.end.sql"
498 }
499 },
500 "match": "(#\\{)([^\\}]*)(\\})",
501 "name": "string.interpolated.sql"
502 },
503 "strings": {
504 "patterns": [
505 {
506 "captures": {
507 "2": {
508 "name": "punctuation.definition.string.begin.sql"
509 },
510 "3": {
511 "name": "punctuation.definition.string.end.sql"
512 }
513 },
514 "comment": "this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.",
515 "match": "(N)?(')[^']*(')",
516 "name": "string.quoted.single.sql"
517 },
518 {
519 "begin": "'",
520 "beginCaptures": {
521 "0": {
522 "name": "punctuation.definition.string.begin.sql"
523 }
524 },
525 "end": "'",
526 "endCaptures": {
527 "0": {
528 "name": "punctuation.definition.string.end.sql"
529 }
530 },
531 "name": "string.quoted.single.sql",
532 "patterns": [
533 {
534 "include": "#string_escape"
535 }
536 ]
537 },
538 {
539 "captures": {
540 "1": {
541 "name": "punctuation.definition.string.begin.sql"
542 },
543 "2": {
544 "name": "punctuation.definition.string.end.sql"
545 }
546 },
547 "comment": "this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.",
548 "match": "(`)[^`\\\\]*(`)",
549 "name": "string.quoted.other.backtick.sql"
550 },
551 {
552 "begin": "`",
553 "beginCaptures": {
554 "0": {
555 "name": "punctuation.definition.string.begin.sql"
556 }
557 },
558 "end": "`",
559 "endCaptures": {
560 "0": {
561 "name": "punctuation.definition.string.end.sql"
562 }
563 },
564 "name": "string.quoted.other.backtick.sql",
565 "patterns": [
566 {
567 "include": "#string_escape"
568 }
569 ]
570 },
571 {
572 "captures": {
573 "1": {
574 "name": "punctuation.definition.string.begin.sql"
575 },
576 "2": {
577 "name": "punctuation.definition.string.end.sql"
578 }
579 },
580 "comment": "this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.",
581 "match": "(\")[^\"#]*(\")",
582 "name": "string.quoted.double.sql"
583 },
584 {
585 "begin": "\"",
586 "beginCaptures": {
587 "0": {
588 "name": "punctuation.definition.string.begin.sql"
589 }
590 },
591 "end": "\"",
592 "endCaptures": {
593 "0": {
594 "name": "punctuation.definition.string.end.sql"
595 }
596 },
597 "name": "string.quoted.double.sql",
598 "patterns": [
599 {
600 "include": "#string_interpolation"
601 }
602 ]
603 },
604 {
605 "begin": "%\\{",
606 "beginCaptures": {
607 "0": {
608 "name": "punctuation.definition.string.begin.sql"
609 }
610 },
611 "end": "\\}",
612 "endCaptures": {
613 "0": {
614 "name": "punctuation.definition.string.end.sql"
615 }
616 },
617 "name": "string.other.quoted.brackets.sql",
618 "patterns": [
619 {
620 "include": "#string_interpolation"
621 }
622 ]
623 }
624 ]
625 }
626 }
627 }
628