github-linguist 7.4.0 → 7.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/grammars/annotation.liquidhaskell.haskell.json +15 -4
- data/grammars/hint.haskell.json +15 -4
- data/grammars/hint.message.haskell.json +15 -4
- data/grammars/hint.type.haskell.json +15 -4
- data/grammars/source.abap.json +14 -3
- data/grammars/source.apl.json +19 -2
- data/grammars/source.ats.json +17 -87
- data/grammars/source.ballerina.json +14 -19
- data/grammars/source.crystal.json +14 -2
- data/grammars/source.csound.json +37 -0
- data/grammars/source.css.json +25 -1
- data/grammars/source.css.scss.json +1724 -0
- data/grammars/source.gf.json +51 -0
- data/grammars/source.glsl.json +1 -1
- data/grammars/source.hack.json +2523 -0
- data/grammars/source.haskell.json +15 -4
- data/grammars/source.hc.json +709 -0
- data/grammars/source.hsig.json +15 -4
- data/grammars/source.hx.json +10 -6
- data/grammars/source.jolie.json +1 -1
- data/grammars/source.julia.json +114 -6
- data/grammars/source.m68k.json +412 -0
- data/grammars/source.mcfunction.json +62 -18
- data/grammars/source.objectscript.json +309 -0
- data/grammars/source.objectscript_class.json +674 -0
- data/grammars/source.objectscript_csp.json +19 -0
- data/grammars/source.objectscript_macros.json +226 -0
- data/grammars/source.powershell.json +21 -57
- data/grammars/source.rust.json +1 -1
- data/grammars/source.sass.json +836 -142
- data/grammars/source.sassdoc.json +346 -0
- data/grammars/source.scala.json +110 -10
- data/grammars/source.sqf.json +2 -1
- data/grammars/source.svelte.json +827 -0
- data/grammars/source.ts.json +8 -4
- data/grammars/source.tsql.json +507 -0
- data/grammars/source.tsx.json +8 -4
- data/grammars/source.viml.json +1 -1
- data/grammars/source.vtt.json +702 -0
- data/grammars/source.wollok.json +100 -0
- data/grammars/source.xojo.json +85 -0
- data/grammars/source.yara.json +3 -2
- data/grammars/source.zeek.json +412 -0
- data/grammars/source.zenscript.json +282 -0
- data/grammars/source.zig.json +2 -11
- data/grammars/text.haml.json +1 -1
- data/grammars/text.html.php.blade.json +3 -3
- data/grammars/text.html.vue.json +41 -1
- data/grammars/text.slim.json +1 -1
- data/grammars/text.tex.latex.haskell.json +15 -4
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +5 -10
- data/lib/linguist/generated.rb +10 -2
- data/lib/linguist/heuristics.yml +14 -3
- data/lib/linguist/language.rb +3 -2
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +151 -16
- data/lib/linguist/samples.json +9844 -1711
- data/lib/linguist/samples.rb +8 -5
- data/lib/linguist/shebang.rb +6 -0
- data/lib/linguist/vendor.yml +3 -0
- metadata +25 -10
- data/grammars/source.bro.json +0 -403
- data/grammars/source.scss.json +0 -1287
data/grammars/source.ts.json
CHANGED
@@ -2068,7 +2068,7 @@
|
|
2068
2068
|
"patterns": [
|
2069
2069
|
{
|
2070
2070
|
"begin": "(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?=\\bif\\s*(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))\\s*(?!\\{))",
|
2071
|
-
"end": "(
|
2071
|
+
"end": "(?=;|$|\\})",
|
2072
2072
|
"patterns": [
|
2073
2073
|
{
|
2074
2074
|
"include": "#comment"
|
@@ -3708,7 +3708,7 @@
|
|
3708
3708
|
},
|
3709
3709
|
{
|
3710
3710
|
"name": "string.regexp.ts",
|
3711
|
-
"begin": "(?\u003c![_$[:alnum:])\\]]|\\+\\+|--|}|\\*\\/)\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+\\/[gimsuy]*(?!\\s*[a-zA-Z0-9_$]))",
|
3711
|
+
"begin": "((?\u003c![_$[:alnum:])\\]]|\\+\\+|--|}|\\*\\/)|((?\u003c=^return|[^\\._$[:alnum:]]return|^case|[^\\._$[:alnum:]]case))\\s*)\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+\\/[gimsuy]*(?!\\s*[a-zA-Z0-9_$]))",
|
3712
3712
|
"end": "(/)([gimsuy]*)",
|
3713
3713
|
"patterns": [
|
3714
3714
|
{
|
@@ -4520,8 +4520,12 @@
|
|
4520
4520
|
"include": "#type-function-return-type"
|
4521
4521
|
},
|
4522
4522
|
{
|
4523
|
-
"
|
4524
|
-
"
|
4523
|
+
"match": "(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(readonly)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*",
|
4524
|
+
"captures": {
|
4525
|
+
"1": {
|
4526
|
+
"name": "storage.modifier.ts"
|
4527
|
+
}
|
4528
|
+
}
|
4525
4529
|
},
|
4526
4530
|
{
|
4527
4531
|
"include": "#type-name"
|
@@ -0,0 +1,507 @@
|
|
1
|
+
{
|
2
|
+
"name": "TSQL",
|
3
|
+
"scopeName": "source.tsql",
|
4
|
+
"patterns": [
|
5
|
+
{
|
6
|
+
"name": "text.variable",
|
7
|
+
"match": "((?\u003c!@)@)\\b(\\w+)\\b"
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"name": "text.bracketed",
|
11
|
+
"match": "(\\[)[^\\]]*(\\])"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"name": "keyword.other.sql",
|
15
|
+
"match": "\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|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|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|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_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference |automatic|autopilot|availability|availability_mode|backup_priority|base64|basic|batches|batchsize|before|bigint|binary|binding|bit|block|blocksize|bmk|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|cast|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|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+procedure)?|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|days|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare(\\s+cursor)?|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|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|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|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|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|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|hours|http|identity_value|if|ifnull|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|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|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|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|minutes|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|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|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|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|pivot|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|procedure_name|profile|provider|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|restart|restore|restricted_user|resume|retaindays|retention|return|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|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|schemabinding|scoped|scroll|scroll_locks|sddl|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|tran|transaction|transfer|triple_des|triple_des_3key|trustworthy|try|tsql|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|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|waitfor|webmethod|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|windows|with|within|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|zone)\\b"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"include": "#comments"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"name": "meta.create.sql",
|
22
|
+
"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",
|
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
|
+
},
|
35
|
+
{
|
36
|
+
"name": "meta.drop.sql",
|
37
|
+
"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))",
|
38
|
+
"captures": {
|
39
|
+
"1": {
|
40
|
+
"name": "keyword.other.create.sql"
|
41
|
+
},
|
42
|
+
"2": {
|
43
|
+
"name": "keyword.other.sql"
|
44
|
+
}
|
45
|
+
}
|
46
|
+
},
|
47
|
+
{
|
48
|
+
"name": "meta.drop.sql",
|
49
|
+
"match": "(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)",
|
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
|
+
},
|
65
|
+
{
|
66
|
+
"name": "meta.alter.sql",
|
67
|
+
"match": "(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)",
|
68
|
+
"captures": {
|
69
|
+
"1": {
|
70
|
+
"name": "keyword.other.create.sql"
|
71
|
+
},
|
72
|
+
"2": {
|
73
|
+
"name": "keyword.other.table.sql"
|
74
|
+
}
|
75
|
+
}
|
76
|
+
},
|
77
|
+
{
|
78
|
+
"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",
|
79
|
+
"captures": {
|
80
|
+
"1": {
|
81
|
+
"name": "storage.type.sql"
|
82
|
+
},
|
83
|
+
"10": {
|
84
|
+
"name": "constant.numeric.sql"
|
85
|
+
},
|
86
|
+
"11": {
|
87
|
+
"name": "storage.type.sql"
|
88
|
+
},
|
89
|
+
"12": {
|
90
|
+
"name": "storage.type.sql"
|
91
|
+
},
|
92
|
+
"13": {
|
93
|
+
"name": "storage.type.sql"
|
94
|
+
},
|
95
|
+
"14": {
|
96
|
+
"name": "constant.numeric.sql"
|
97
|
+
},
|
98
|
+
"15": {
|
99
|
+
"name": "storage.type.sql"
|
100
|
+
},
|
101
|
+
"2": {
|
102
|
+
"name": "storage.type.sql"
|
103
|
+
},
|
104
|
+
"3": {
|
105
|
+
"name": "constant.numeric.sql"
|
106
|
+
},
|
107
|
+
"4": {
|
108
|
+
"name": "storage.type.sql"
|
109
|
+
},
|
110
|
+
"5": {
|
111
|
+
"name": "constant.numeric.sql"
|
112
|
+
},
|
113
|
+
"6": {
|
114
|
+
"name": "storage.type.sql"
|
115
|
+
},
|
116
|
+
"7": {
|
117
|
+
"name": "constant.numeric.sql"
|
118
|
+
},
|
119
|
+
"8": {
|
120
|
+
"name": "constant.numeric.sql"
|
121
|
+
},
|
122
|
+
"9": {
|
123
|
+
"name": "storage.type.sql"
|
124
|
+
}
|
125
|
+
}
|
126
|
+
},
|
127
|
+
{
|
128
|
+
"name": "storage.modifier.sql",
|
129
|
+
"match": "(?i:\\b((?:primary|foreign)\\s+key|references|on\\sdelete(\\s+cascade)?|check|constraint)\\b)"
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"name": "constant.numeric.sql",
|
133
|
+
"match": "\\b\\d+\\b"
|
134
|
+
},
|
135
|
+
{
|
136
|
+
"name": "keyword.other.DML.sql",
|
137
|
+
"match": "(?i:\\b(select(\\s+distinct)?|insert\\s+(ignore\\s+)?into|update|delete|from|set|where|group\\sby|or|like|and|union(\\s+all)?|having|order\\sby|limit|(inner|cross)\\s+join|join|straight_join|full\\s+outer\\s+join|(left|right)(\\s+outer)?\\s+join|natural(\\s+(left|right)(\\s+outer)?)?\\s+join)\\b)"
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"name": "keyword.other.DDL.create.II.sql",
|
141
|
+
"match": "(?i:\\b(on|off|((is\\s+)?not\\s+)?null)\\b)"
|
142
|
+
},
|
143
|
+
{
|
144
|
+
"name": "keyword.other.DML.II.sql",
|
145
|
+
"match": "(?i:\\bvalues\\b)"
|
146
|
+
},
|
147
|
+
{
|
148
|
+
"name": "keyword.other.LUW.sql",
|
149
|
+
"match": "(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)"
|
150
|
+
},
|
151
|
+
{
|
152
|
+
"name": "keyword.other.authorization.sql",
|
153
|
+
"match": "(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)"
|
154
|
+
},
|
155
|
+
{
|
156
|
+
"name": "keyword.other.data-integrity.sql",
|
157
|
+
"match": "(?i:\\bin\\b)"
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"name": "keyword.other.object-comments.sql",
|
161
|
+
"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+)"
|
162
|
+
},
|
163
|
+
{
|
164
|
+
"name": "keyword.other.alias.sql",
|
165
|
+
"match": "(?i)\\bAS\\b"
|
166
|
+
},
|
167
|
+
{
|
168
|
+
"name": "keyword.other.order.sql",
|
169
|
+
"match": "(?i)\\b(DESC|ASC)\\b"
|
170
|
+
},
|
171
|
+
{
|
172
|
+
"name": "keyword.operator.star.sql",
|
173
|
+
"match": "\\*"
|
174
|
+
},
|
175
|
+
{
|
176
|
+
"name": "keyword.operator.comparison.sql",
|
177
|
+
"match": "[!\u003c\u003e]?=|\u003c\u003e|\u003c|\u003e"
|
178
|
+
},
|
179
|
+
{
|
180
|
+
"name": "keyword.operator.math.sql",
|
181
|
+
"match": "-|\\+|/"
|
182
|
+
},
|
183
|
+
{
|
184
|
+
"name": "keyword.operator.concatenator.sql",
|
185
|
+
"match": "\\|\\|"
|
186
|
+
},
|
187
|
+
{
|
188
|
+
"name": "support.function.aggregate.sql",
|
189
|
+
"match": "(?i)\\b(avg|checksum_agg|count|count_big|grouping|grouping_id|max|min|sum|stdev|stdevp|var|varp)\\b"
|
190
|
+
},
|
191
|
+
{
|
192
|
+
"name": "support.function.conversion.sql",
|
193
|
+
"match": "(?i)\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\b"
|
194
|
+
},
|
195
|
+
{
|
196
|
+
"name": "support.function.cursor.sql",
|
197
|
+
"match": "(?i)\\b(cursor_status)\\b"
|
198
|
+
},
|
199
|
+
{
|
200
|
+
"name": "support.function.datetime.sql",
|
201
|
+
"match": "(?i)\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|eomonth|switchoffset|todatetimeoffset|isdate)\\b"
|
202
|
+
},
|
203
|
+
{
|
204
|
+
"name": "support.function.expression.sql",
|
205
|
+
"match": "(?i)\\b(coalesce|nullif)\\b"
|
206
|
+
},
|
207
|
+
{
|
208
|
+
"name": "support.function.globalvar.sql",
|
209
|
+
"match": "(?\u003c!@)@@(?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"
|
210
|
+
},
|
211
|
+
{
|
212
|
+
"name": "support.function.logical.sql",
|
213
|
+
"match": "(?i)\\b(choose|iif)\\b"
|
214
|
+
},
|
215
|
+
{
|
216
|
+
"name": "support.function.mathematical.sql",
|
217
|
+
"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"
|
218
|
+
},
|
219
|
+
{
|
220
|
+
"name": "support.function.metadata.sql",
|
221
|
+
"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|severeproperty|stats_date|type_id|type_name|typeproperty)\\b"
|
222
|
+
},
|
223
|
+
{
|
224
|
+
"name": "support.function.ranking.sql",
|
225
|
+
"match": "(?i)\\b(rank|dense_rank|ntile|row_number)\\b"
|
226
|
+
},
|
227
|
+
{
|
228
|
+
"name": "support.function.rowset.sql",
|
229
|
+
"match": "(?i)\\b(opendatasource|openrowset|openquery|openxml)\\b"
|
230
|
+
},
|
231
|
+
{
|
232
|
+
"name": "support.function.security.sql",
|
233
|
+
"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"
|
234
|
+
},
|
235
|
+
{
|
236
|
+
"name": "support.function.string.sql",
|
237
|
+
"match": "(?i)\\b(ascii|charindex|concat|difference|format|len|lower|ltrim|patindex|quotename|replace|replicate|reverse|rtrim|soundex|space|str|stuff|substring|trim|unicode|upper)\\b"
|
238
|
+
},
|
239
|
+
{
|
240
|
+
"name": "support.function.system.sql",
|
241
|
+
"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"
|
242
|
+
},
|
243
|
+
{
|
244
|
+
"name": "support.function.textimage.sql",
|
245
|
+
"match": "(?i)\\b(patindex|textptr|textvalid)\\b"
|
246
|
+
},
|
247
|
+
{
|
248
|
+
"match": "(\\w+?)\\.(\\w+)",
|
249
|
+
"captures": {
|
250
|
+
"1": {
|
251
|
+
"name": "constant.other.database-name.sql"
|
252
|
+
},
|
253
|
+
"2": {
|
254
|
+
"name": "constant.other.table-name.sql"
|
255
|
+
}
|
256
|
+
}
|
257
|
+
},
|
258
|
+
{
|
259
|
+
"include": "#strings"
|
260
|
+
},
|
261
|
+
{
|
262
|
+
"include": "#regexps"
|
263
|
+
},
|
264
|
+
{
|
265
|
+
"name": "meta.block.sql",
|
266
|
+
"match": "(\\()(\\))",
|
267
|
+
"captures": {
|
268
|
+
"1": {
|
269
|
+
"name": "punctuation.section.scope.begin.sql"
|
270
|
+
},
|
271
|
+
"2": {
|
272
|
+
"name": "punctuation.section.scope.end.sql"
|
273
|
+
}
|
274
|
+
}
|
275
|
+
}
|
276
|
+
],
|
277
|
+
"repository": {
|
278
|
+
"comments": {
|
279
|
+
"patterns": [
|
280
|
+
{
|
281
|
+
"begin": "(^[ \\t]+)?(?=--)",
|
282
|
+
"end": "(?!\\G)",
|
283
|
+
"patterns": [
|
284
|
+
{
|
285
|
+
"name": "comment.line.double-dash.sql",
|
286
|
+
"begin": "--",
|
287
|
+
"end": "\\n",
|
288
|
+
"beginCaptures": {
|
289
|
+
"0": {
|
290
|
+
"name": "punctuation.definition.comment.sql"
|
291
|
+
}
|
292
|
+
}
|
293
|
+
}
|
294
|
+
],
|
295
|
+
"beginCaptures": {
|
296
|
+
"1": {
|
297
|
+
"name": "punctuation.whitespace.comment.leading.sql"
|
298
|
+
}
|
299
|
+
}
|
300
|
+
},
|
301
|
+
{
|
302
|
+
"begin": "(^[ \\t]+)?(?=#)",
|
303
|
+
"end": "(?!\\G)",
|
304
|
+
"beginCaptures": {
|
305
|
+
"1": {
|
306
|
+
"name": "punctuation.whitespace.comment.leading.sql"
|
307
|
+
}
|
308
|
+
}
|
309
|
+
},
|
310
|
+
{
|
311
|
+
"name": "comment.block.c",
|
312
|
+
"begin": "/\\*",
|
313
|
+
"end": "\\*/",
|
314
|
+
"captures": {
|
315
|
+
"0": {
|
316
|
+
"name": "punctuation.definition.comment.sql"
|
317
|
+
}
|
318
|
+
}
|
319
|
+
}
|
320
|
+
]
|
321
|
+
},
|
322
|
+
"regexps": {
|
323
|
+
"patterns": [
|
324
|
+
{
|
325
|
+
"name": "string.regexp.sql",
|
326
|
+
"begin": "/(?=\\S.*/)",
|
327
|
+
"end": "/",
|
328
|
+
"patterns": [
|
329
|
+
{
|
330
|
+
"include": "#string_interpolation"
|
331
|
+
},
|
332
|
+
{
|
333
|
+
"name": "constant.character.escape.slash.sql",
|
334
|
+
"match": "\\\\/"
|
335
|
+
}
|
336
|
+
],
|
337
|
+
"beginCaptures": {
|
338
|
+
"0": {
|
339
|
+
"name": "punctuation.definition.string.begin.sql"
|
340
|
+
}
|
341
|
+
},
|
342
|
+
"endCaptures": {
|
343
|
+
"0": {
|
344
|
+
"name": "punctuation.definition.string.end.sql"
|
345
|
+
}
|
346
|
+
}
|
347
|
+
},
|
348
|
+
{
|
349
|
+
"name": "string.regexp.modr.sql",
|
350
|
+
"begin": "%r\\{",
|
351
|
+
"end": "\\}",
|
352
|
+
"patterns": [
|
353
|
+
{
|
354
|
+
"include": "#string_interpolation"
|
355
|
+
}
|
356
|
+
],
|
357
|
+
"beginCaptures": {
|
358
|
+
"0": {
|
359
|
+
"name": "punctuation.definition.string.begin.sql"
|
360
|
+
}
|
361
|
+
},
|
362
|
+
"endCaptures": {
|
363
|
+
"0": {
|
364
|
+
"name": "punctuation.definition.string.end.sql"
|
365
|
+
}
|
366
|
+
}
|
367
|
+
}
|
368
|
+
]
|
369
|
+
},
|
370
|
+
"string_escape": {
|
371
|
+
"name": "constant.character.escape.sql",
|
372
|
+
"match": "\\\\."
|
373
|
+
},
|
374
|
+
"string_interpolation": {
|
375
|
+
"name": "string.interpolated.sql",
|
376
|
+
"match": "(#\\{)([^\\}]*)(\\})",
|
377
|
+
"captures": {
|
378
|
+
"1": {
|
379
|
+
"name": "punctuation.definition.string.begin.sql"
|
380
|
+
},
|
381
|
+
"3": {
|
382
|
+
"name": "punctuation.definition.string.end.sql"
|
383
|
+
}
|
384
|
+
}
|
385
|
+
},
|
386
|
+
"strings": {
|
387
|
+
"patterns": [
|
388
|
+
{
|
389
|
+
"name": "string.quoted.single.sql",
|
390
|
+
"match": "(N)?(')[^']*(')",
|
391
|
+
"captures": {
|
392
|
+
"1": {
|
393
|
+
"name": "punctuation.definition.string.begin.sql"
|
394
|
+
},
|
395
|
+
"2": {
|
396
|
+
"name": "punctuation.definition.string.end.sql"
|
397
|
+
}
|
398
|
+
}
|
399
|
+
},
|
400
|
+
{
|
401
|
+
"name": "string.quoted.single.sql",
|
402
|
+
"begin": "'",
|
403
|
+
"end": "'",
|
404
|
+
"patterns": [
|
405
|
+
{
|
406
|
+
"include": "#string_escape"
|
407
|
+
}
|
408
|
+
],
|
409
|
+
"beginCaptures": {
|
410
|
+
"0": {
|
411
|
+
"name": "punctuation.definition.string.begin.sql"
|
412
|
+
}
|
413
|
+
},
|
414
|
+
"endCaptures": {
|
415
|
+
"0": {
|
416
|
+
"name": "punctuation.definition.string.end.sql"
|
417
|
+
}
|
418
|
+
}
|
419
|
+
},
|
420
|
+
{
|
421
|
+
"name": "string.quoted.other.backtick.sql",
|
422
|
+
"match": "(`)[^`\\\\]*(`)",
|
423
|
+
"captures": {
|
424
|
+
"1": {
|
425
|
+
"name": "punctuation.definition.string.begin.sql"
|
426
|
+
},
|
427
|
+
"2": {
|
428
|
+
"name": "punctuation.definition.string.end.sql"
|
429
|
+
}
|
430
|
+
}
|
431
|
+
},
|
432
|
+
{
|
433
|
+
"name": "string.quoted.other.backtick.sql",
|
434
|
+
"begin": "`",
|
435
|
+
"end": "`",
|
436
|
+
"patterns": [
|
437
|
+
{
|
438
|
+
"include": "#string_escape"
|
439
|
+
}
|
440
|
+
],
|
441
|
+
"beginCaptures": {
|
442
|
+
"0": {
|
443
|
+
"name": "punctuation.definition.string.begin.sql"
|
444
|
+
}
|
445
|
+
},
|
446
|
+
"endCaptures": {
|
447
|
+
"0": {
|
448
|
+
"name": "punctuation.definition.string.end.sql"
|
449
|
+
}
|
450
|
+
}
|
451
|
+
},
|
452
|
+
{
|
453
|
+
"name": "string.quoted.double.sql",
|
454
|
+
"match": "(\")[^\"#]*(\")",
|
455
|
+
"captures": {
|
456
|
+
"1": {
|
457
|
+
"name": "punctuation.definition.string.begin.sql"
|
458
|
+
},
|
459
|
+
"2": {
|
460
|
+
"name": "punctuation.definition.string.end.sql"
|
461
|
+
}
|
462
|
+
}
|
463
|
+
},
|
464
|
+
{
|
465
|
+
"name": "string.quoted.double.sql",
|
466
|
+
"begin": "\"",
|
467
|
+
"end": "\"",
|
468
|
+
"patterns": [
|
469
|
+
{
|
470
|
+
"include": "#string_interpolation"
|
471
|
+
}
|
472
|
+
],
|
473
|
+
"beginCaptures": {
|
474
|
+
"0": {
|
475
|
+
"name": "punctuation.definition.string.begin.sql"
|
476
|
+
}
|
477
|
+
},
|
478
|
+
"endCaptures": {
|
479
|
+
"0": {
|
480
|
+
"name": "punctuation.definition.string.end.sql"
|
481
|
+
}
|
482
|
+
}
|
483
|
+
},
|
484
|
+
{
|
485
|
+
"name": "string.other.quoted.brackets.sql",
|
486
|
+
"begin": "%\\{",
|
487
|
+
"end": "\\}",
|
488
|
+
"patterns": [
|
489
|
+
{
|
490
|
+
"include": "#string_interpolation"
|
491
|
+
}
|
492
|
+
],
|
493
|
+
"beginCaptures": {
|
494
|
+
"0": {
|
495
|
+
"name": "punctuation.definition.string.begin.sql"
|
496
|
+
}
|
497
|
+
},
|
498
|
+
"endCaptures": {
|
499
|
+
"0": {
|
500
|
+
"name": "punctuation.definition.string.end.sql"
|
501
|
+
}
|
502
|
+
}
|
503
|
+
}
|
504
|
+
]
|
505
|
+
}
|
506
|
+
}
|
507
|
+
}
|