github-linguist 7.6.1 → 7.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +5 -5
  2. data/bin/github-linguist +17 -4
  3. data/grammars/annotation.liquidhaskell.haskell.json +58 -11
  4. data/grammars/etc.json +212 -3
  5. data/grammars/hidden.manref.json +29 -0
  6. data/grammars/hint.haskell.json +58 -11
  7. data/grammars/hint.message.haskell.json +58 -11
  8. data/grammars/hint.type.haskell.json +58 -11
  9. data/grammars/injections.etc.json +601 -1
  10. data/grammars/markdown.plantuml.codeblock.json +26 -0
  11. data/grammars/source.4dm.json +1100 -0
  12. data/grammars/source.abap.json +7 -7
  13. data/grammars/source.abnf.json +23 -1
  14. data/grammars/source.agda.json +32 -202
  15. data/grammars/source.ahk.json +9 -5
  16. data/grammars/source.angelscript.json +1 -1
  17. data/grammars/source.ballerina.json +54 -18
  18. data/grammars/source.chapel.json +4 -4
  19. data/grammars/source.csound.json +1 -1
  20. data/grammars/source.css.json +2 -2
  21. data/grammars/source.css.scss.json +164 -15
  22. data/grammars/source.curlrc.json +869 -65
  23. data/grammars/source.dart.json +58 -32
  24. data/grammars/source.dircolors.json +137 -0
  25. data/grammars/source.direct-x.json +135 -0
  26. data/grammars/source.ebnf.json +67 -39
  27. data/grammars/source.editorconfig.json +23 -5
  28. data/grammars/source.elixir.json +51 -0
  29. data/grammars/source.elm.json +1 -1
  30. data/grammars/source.emacs.lisp.json +10 -0
  31. data/grammars/source.faust.json +119 -0
  32. data/grammars/source.gcode.json +166 -8
  33. data/grammars/source.gfm.json +1 -1
  34. data/grammars/source.gitconfig.json +1 -1
  35. data/grammars/source.hack.json +200 -98
  36. data/grammars/source.haskell.json +58 -11
  37. data/grammars/source.hlsl.json +9 -5
  38. data/grammars/source.hosts.json +40 -0
  39. data/grammars/source.hsig.json +58 -11
  40. data/grammars/source.hx.json +4 -0
  41. data/grammars/source.igor.json +46 -2
  42. data/grammars/source.ini.npmrc.json +311 -0
  43. data/grammars/source.inno.json +133 -0
  44. data/grammars/source.inputrc.json +500 -0
  45. data/grammars/source.js.json +4 -4
  46. data/grammars/source.julia.json +69 -23
  47. data/grammars/source.kotlin.json +1 -1
  48. data/grammars/source.lean.json +19 -3
  49. data/grammars/source.lean.markdown.json +2598 -0
  50. data/grammars/source.lex.json +4 -4
  51. data/grammars/source.m4.json +141 -99
  52. data/grammars/source.man-conf.json +46 -34
  53. data/grammars/source.matlab.json +437 -184
  54. data/grammars/source.mcfunction-snapshot.json +21388 -561
  55. data/grammars/source.mcfunction.json +55 -5
  56. data/grammars/source.meson.json +1 -1
  57. data/grammars/source.mlir.json +37 -317
  58. data/grammars/source.mrc.json +740 -0
  59. data/grammars/source.nasl.json +155 -0
  60. data/grammars/source.nextflow.json +2 -2
  61. data/grammars/source.odin-ehr.json +806 -0
  62. data/grammars/source.odin.json +402 -0
  63. data/grammars/source.opts.json +12 -2
  64. data/grammars/source.p4.json +21 -5
  65. data/grammars/source.prisma.json +435 -0
  66. data/grammars/source.python.json +2 -0
  67. data/grammars/source.qasm.json +66 -0
  68. data/grammars/source.ql.json +1408 -0
  69. data/grammars/source.reason.json +28 -16
  70. data/grammars/source.rego.json +124 -0
  71. data/grammars/source.sass.json +158 -3
  72. data/grammars/source.scala.json +53 -18
  73. data/grammars/source.ssh-config.json +1 -14
  74. data/grammars/source.swift.json +162 -2
  75. data/grammars/source.sy.json +2088 -183
  76. data/grammars/source.terraform.json +576 -132
  77. data/grammars/source.tnsaudit.json +256 -0
  78. data/grammars/source.ts.json +159 -51
  79. data/grammars/source.tsx.json +160 -52
  80. data/grammars/source.v.json +559 -764
  81. data/grammars/source.vim-snippet.json +645 -0
  82. data/grammars/source.viml.json +6 -6
  83. data/grammars/source.webassembly.json +10 -0
  84. data/grammars/source.wgetrc.json +1640 -0
  85. data/grammars/source.wsd.json +775 -0
  86. data/grammars/source.zig.json +169 -304
  87. data/grammars/text.html.php.blade.json +1 -1
  88. data/grammars/text.html.riot.json +788 -0
  89. data/grammars/text.muse.json +1471 -0
  90. data/grammars/text.tex.latex.haskell.json +58 -11
  91. data/grammars/text.vim-help.json +383 -0
  92. data/grammars/version +1 -1
  93. data/lib/linguist/VERSION +1 -1
  94. data/lib/linguist/blob_helper.rb +4 -2
  95. data/lib/linguist/file_blob.rb +1 -1
  96. data/lib/linguist/generated.rb +60 -13
  97. data/lib/linguist/heuristics.yml +64 -4
  98. data/lib/linguist/languages.json +1 -1
  99. data/lib/linguist/languages.yml +336 -45
  100. data/lib/linguist/lazy_blob.rb +10 -10
  101. data/lib/linguist/linguist.bundle +0 -0
  102. data/lib/linguist/samples.json +43560 -31457
  103. data/lib/linguist/shebang.rb +5 -3
  104. data/lib/linguist/vendor.yml +9 -0
  105. metadata +29 -10
  106. data/grammars/source.LS.json +0 -85
  107. data/grammars/source.MCPOST.json +0 -54
  108. data/grammars/source.MOD.json +0 -55
  109. data/grammars/source.apt.json +0 -18
  110. data/grammars/source.jlex.json +0 -322
  111. data/grammars/source.yaml-ext.json +0 -324
@@ -253,15 +253,15 @@
253
253
  ]
254
254
  },
255
255
  "arithmetic_operator": {
256
- "name": "keyword.operator.arithmetic.abap",
257
- "match": "(?\u003c=\\s)(\\+|\\-|\\*|\\*\\*|/|%)(?=\\s)"
256
+ "name": "keyword.operator.abap",
257
+ "match": "(?i)(?\u003c=\\s)(\\+|\\-|\\*|\\*\\*|/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)"
258
258
  },
259
259
  "builtin_functions": {
260
260
  "name": "entity.name.function.builtin.abap",
261
261
  "match": "(?ix)(?\u003c=\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\()"
262
262
  },
263
263
  "comparison_operator": {
264
- "name": "keyword.operator.comparison.abap",
264
+ "name": "keyword.operator.abap",
265
265
  "match": "(?i)(?\u003c=\\s)(\u003c|\u003e|\u003c\\=|\u003e\\=|\\=|\u003c\u003e|eq|ne|lt|le|gt|ge|cs|cp)(?=\\s)"
266
266
  },
267
267
  "control_keywords": {
@@ -296,12 +296,12 @@
296
296
  }
297
297
  },
298
298
  "logical_operator": {
299
- "name": "keyword.operator.arithmetic.abap",
299
+ "name": "keyword.operator.abap",
300
300
  "match": "(?i)(?\u003c=\\s)(not|or|and)(?=\\s)"
301
301
  },
302
302
  "main_keywords": {
303
303
  "name": "keyword.control.simple.abap",
304
- "match": "(?ix)(?\u003c=^|\\s)(\n\t abstract|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|begin|binary|block|bound|break-point|by|byte|\n\t call|cast|changing|check|class-data|class-method|class-methods|clear|close|cnt|collect|commit|cond|character|\n\t corresponding|communication|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|detail|display|divide|divide-corresponding|display-mode|duplicates|\n\t deleting|\n\t editor-call|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|\n\t handle|hide|hashed|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t id|is|in|interface|interfaces|input|insert|instance|into|\n\t\t\tkey|\n\t left-justified|leave|like|line|line-count|line-size|load|local|log-point|length|left|leading|lower|\n\t matchcode|method|mesh|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|\n\t\t\tnew|new-line|new-page|new-section|no|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameters|perform|places|position|print-control|private|program|protected|provide|public|put|\n\t radiobutton|raising|ranges|receive|receiving|redefinition|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|result|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|stamp|source|subkey|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|then|time|times|title|titlebar|to|top-of-page|trailing|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|unpack|update|upper|using|\n\t value|\n\t when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)"
304
+ "match": "(?ix)(?\u003c=^|\\s)(\n\t abstract|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|begin|binary|block|bound|break-point|by|byte|\n\t call|cast|changing|check|class-data|class-method|class-methods|class-pool|clear|close|cnt|collect|commit|comment|cond|character|\n\t corresponding|communication|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|destination|detail|display|divide|divide-corresponding|display-mode|duplicates|\n\t deleting|\n\t editor-call|empty|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|\n\t handle|hide|hashed|header|help-request|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t id|implemented|is|in|interface|interfaces|interface-pool|intervals|init|input|insert|instance|into|\n\t\t\tkey|\n\t left-justified|leave|like|line|lines|line-count|line-size|load|local|log-point|length|left|leading|lower|\n\t matchcode|method|mesh|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|modif|\n\t\t\tnew|new-line|new-page|new-section|next|no|no-display|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameters|partially|perform|places|position|print-control|private|program|protected|provide|public|put|\n\t radiobutton\\s+group|raising|range|ranges|receive|receiving|redefinition|reduce|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|result\\s+xml|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|stamp|source|subkey|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|then|time|times|title|titlebar|to|top-of-page|trailing|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|unpack|update|upper|using|user-command|\n\t value|value-request|\n\t when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)"
305
305
  },
306
306
  "operators": {
307
307
  "patterns": [
@@ -320,8 +320,8 @@
320
320
  ]
321
321
  },
322
322
  "other_operator": {
323
- "name": "keyword.operator.other.abap",
324
- "match": "\\s(\u0026\u0026|\\?\\=)\\s"
323
+ "name": "keyword.operator.abap",
324
+ "match": "(?\u003c=\\s)(\u0026\u0026|\\?=|\\+=|-=|\\/=|\\*=|\u0026\u0026=)(?=\\s)"
325
325
  },
326
326
  "reserved_names": {
327
327
  "name": "constant.language.abap",
@@ -13,6 +13,10 @@
13
13
  "name": "keyword.operator.assignment.increment.abnf",
14
14
  "match": "=/"
15
15
  },
16
+ {
17
+ "name": "keyword.operator.assignment.colon.non-standard.abnf",
18
+ "match": ":+="
19
+ },
16
20
  {
17
21
  "name": "keyword.operator.assignment.abnf",
18
22
  "match": "="
@@ -31,7 +35,7 @@
31
35
  },
32
36
  "core-rules": {
33
37
  "name": "support.constant.reference.core-rule.abnf",
34
- "match": "(?x)\n\\b\n(ALPHA|BIT|CHAR|CRLF|CR|CTL|DIGIT|DQUOTE\n|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)\n\\b"
38
+ "match": "(?x)\n\\b (?\u003c!-)\n(ALPHA|BIT|CHAR|CRLF|CR|CTL|DIGIT|DQUOTE\n|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)\n\\b (?!-)"
35
39
  },
36
40
  "group": {
37
41
  "name": "meta.group.abnf",
@@ -83,6 +87,21 @@
83
87
  }
84
88
  }
85
89
  },
90
+ "prose": {
91
+ "name": "string.other.prose.abnf",
92
+ "begin": "\u003c",
93
+ "end": "\u003e",
94
+ "beginCaptures": {
95
+ "0": {
96
+ "name": "punctuation.definition.string.begin.abnf"
97
+ }
98
+ },
99
+ "endCaptures": {
100
+ "0": {
101
+ "name": "punctuation.definition.string.end.abnf"
102
+ }
103
+ }
104
+ },
86
105
  "quantifier": {
87
106
  "name": "meta.quantifier.abnf",
88
107
  "match": "([0-9]*)(\\*)",
@@ -128,6 +147,9 @@
128
147
  {
129
148
  "include": "#reference"
130
149
  },
150
+ {
151
+ "include": "#prose"
152
+ },
131
153
  {
132
154
  "name": "keyword.operator.logical.or.alternation.pipe.abnf",
133
155
  "match": "/"
@@ -3,240 +3,70 @@
3
3
  "scopeName": "source.agda",
4
4
  "patterns": [
5
5
  {
6
- "name": "meta.declaration.module.agda",
7
- "begin": "\\b(module)\\s+([^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*)\\b",
8
- "end": "(\\bwhere\\b|=)",
9
- "patterns": [
10
- {
11
- "include": "#module_param"
12
- },
13
- {
14
- "include": "#module_params"
15
- },
16
- {
17
- "include": "#module_params_implicit"
18
- }
19
- ],
20
- "beginCaptures": {
21
- "1": {
22
- "name": "keyword.other.agda"
23
- },
24
- "2": {
25
- "name": "storage.module.agda"
26
- }
27
- },
28
- "endCaptures": {
29
- "1": {
30
- "name": "keyword.other.agda"
31
- }
32
- }
33
- },
34
- {
35
- "name": "meta.import.agda",
36
- "begin": "^\\s*(import|open(\\s+import)?)\\b",
37
- "end": "$",
38
- "patterns": [
39
- {
40
- "name": "keyword.other.agda",
41
- "match": "\\b(as|using|renaming|hiding|public)\\b"
42
- }
43
- ],
44
- "beginCaptures": {
45
- "1": {
46
- "name": "keyword.other.agda"
47
- }
48
- }
6
+ "name": "comment.line.double-dash.agda",
7
+ "begin": "--",
8
+ "end": "$"
49
9
  },
50
10
  {
51
- "name": "meta.declaration.record.agda",
52
- "begin": "^\\s*(record)\\s+([^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*)\\b",
53
- "end": "\\b(where)\\b",
54
- "beginCaptures": {
55
- "1": {
56
- "name": "keyword.other.agda"
57
- },
58
- "2": {
59
- "name": "storage.record.agda"
60
- }
61
- },
62
- "endCaptures": {
63
- "1": {
64
- "name": "keyword.other.agda"
65
- }
66
- }
11
+ "name": "comment.block.agda",
12
+ "begin": "{-[^#]",
13
+ "end": "-}"
67
14
  },
68
15
  {
69
- "name": "meta.declaration.record.agda",
70
- "begin": "\\b(data)\\s+([^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*)\\b",
71
- "end": "\\b(where)\\b",
72
- "beginCaptures": {
73
- "1": {
74
- "name": "keyword.other.agda"
75
- },
76
- "2": {
77
- "name": "storage.data.agda"
78
- }
79
- },
80
- "endCaptures": {
81
- "1": {
82
- "name": "keyword.other.agda"
83
- }
84
- }
16
+ "name": "support.other.agda",
17
+ "begin": "{-#",
18
+ "end": "#-}"
85
19
  },
86
20
  {
87
21
  "name": "string.quoted.double.agda",
88
22
  "begin": "\"",
89
- "end": "\"",
90
- "patterns": [
91
- {
92
- "name": "constant.character.escape.agda",
93
- "match": "\\\\."
94
- }
95
- ]
23
+ "end": "\""
96
24
  },
97
25
  {
98
- "name": "keyword.operator.agda",
99
- "match": "\\binfix[lr]\\b"
26
+ "name": "constant.char.agda",
27
+ "match": "'([^\\\\']|\\\\['\\\\\"[:alnum:]]+)'"
100
28
  },
101
29
  {
102
- "name": "keyword.other.agda",
103
- "match": "\\b(where|as|case|field|constructor|record|private|public|abstract|mutual)\\b"
104
- },
105
- {
106
- "name": "keyword.operator.agda",
107
- "match": "(?\u003c=\\s)[=→λ∀?]"
30
+ "name": "constant.numeric.agda",
31
+ "match": "(?\u003c=^|[[:space:]\\(\\){}])(-?\\d+|0x[0-9A-F]+|-?\\d+\\.\\d+((e|E)(\\+|-)?\\d+)?|-?\\d+(e|E)(\\+|-)?\\d+)(?=[[:space:]\\(\\){}])"
108
32
  },
109
33
  {
110
- "name": "meta.function.type-declaration.agda",
111
- "match": "^\\s*([^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*)\\s*(:)(?=\\s|$)",
34
+ "match": "\\b(data|record|module|constructor|open *import|open|import)[[:space:]]+([^;\\(\\){}@\"[:space:]]+)",
112
35
  "captures": {
113
36
  "1": {
114
- "name": "entity.name.function.agda"
37
+ "name": "keyword.other.agda"
115
38
  },
116
39
  "2": {
117
- "name": "keyword.other.colon.agda"
40
+ "name": "entity.name.type.agda"
118
41
  }
119
42
  }
120
43
  },
121
44
  {
122
- "name": "string.quoted.double.agda",
123
- "begin": "\"",
124
- "end": "\"",
125
- "patterns": [
126
- {
127
- "name": "constant.character.escape.agda",
128
- "match": "\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])"
129
- },
130
- {
131
- "name": "constant.character.escape.octal.agda",
132
- "match": "\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"
133
- },
134
- {
135
- "name": "constant.character.escape.control.agda",
136
- "match": "\\^[A-Z@\\[\\]\\\\\\^_]"
137
- }
138
- ],
139
- "beginCaptures": {
140
- "0": {
141
- "name": "punctuation.definition.string.begin.agda"
142
- }
143
- },
144
- "endCaptures": {
145
- "0": {
146
- "name": "punctuation.definition.string.end.agda"
147
- }
148
- }
45
+ "name": "entity.name.tag.agda",
46
+ "match": "((?\u003c=^|[.;\\(\\){}@\"[:space:]])\\?(?=[.;\\(\\){}@\"[:space:]])|{!.*!})"
149
47
  },
150
48
  {
151
- "name": "constant.numeric.agda",
152
- "match": "\\b([0-9]+|0([xX][0-9a-fA-F]+))\\b"
49
+ "name": "keyword.other.agda",
50
+ "match": "\\b(abstract|constructor|data|do|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\\b"
153
51
  },
154
52
  {
155
- "include": "#dashComment"
53
+ "name": "constant.language.agda",
54
+ "match": "\\b(Set|Prop)[0123456789₀₁₂₃₄₅₆₇₈₉]*(?=[[:space:]\\(\\)\\{\\}])"
156
55
  },
157
56
  {
158
- "include": "#pragma"
57
+ "name": "keyword.other.agda",
58
+ "match": "(?\u003c=^|[[:space:]\\(\\)\\{\\}])(λ|→|-\u003e|∀|=|←|:)(?=[[:space:]\\(\\)\\{\\}])"
159
59
  },
160
60
  {
161
- "include": "#blockComment"
162
- }
163
- ],
164
- "repository": {
165
- "blockComment": {
166
- "name": "comment.block.agda",
167
- "begin": "{-",
168
- "end": "-}",
61
+ "match": "^(([[:space:]]+|abstract|instance|macro|pattern|postulate|primitive|private|syntax|variable|where|let)*)([^;\\(\\){}@\"[:space:]]+)[[:space:]]+(?=:)",
169
62
  "captures": {
170
- "0": {
171
- "name": "punctuation.definition.comment.agda"
172
- }
173
- }
174
- },
175
- "dashComment": {
176
- "name": "comment.line.double-dash.agda",
177
- "begin": "(--) ",
178
- "end": "$",
179
- "beginCaptures": {
180
- "0": {
181
- "name": "punctuation.definition.comment.agda"
182
- }
183
- }
184
- },
185
- "identifier": {
186
- "name": "entity.name.function.agda",
187
- "match": "\\b[^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*"
188
- },
189
- "module_param": {
190
- "name": "entity.name.parameter.agda",
191
- "match": "\\b[^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*"
192
- },
193
- "module_params": {
194
- "name": "meta.declaration.module.params.agda",
195
- "begin": "\\(",
196
- "end": "\\)",
197
- "patterns": [
198
- {
199
- "include": "#module_param"
200
- },
201
- {
202
- "include": "#type_sig_rhs"
203
- }
204
- ]
205
- },
206
- "module_params_implicit": {
207
- "name": "meta.declaration.module.params.agda",
208
- "begin": "\\{",
209
- "end": "\\}",
210
- "patterns": [
211
- {
212
- "include": "#module_param"
63
+ "1": {
64
+ "name": "keyword.other.agda"
213
65
  },
214
- {
215
- "include": "#type_sig_rhs"
66
+ "3": {
67
+ "name": "entity.name.agda"
216
68
  }
217
- ]
218
- },
219
- "pragma": {
220
- "name": "support.pragma.block.agda",
221
- "begin": "\\{-#",
222
- "end": "#-\\}",
223
- "captures": {
224
- "0": {
225
- "name": "punctuation.definition.pragma.agda"
226
- }
227
- },
228
- "applyEndPatternLast": true
229
- },
230
- "type_sig_rhs": {
231
- "name": "meta.declaration.module.params.typesig.agda",
232
- "begin": ":",
233
- "end": "(?=[\\)\\}])",
234
- "patterns": [
235
- {
236
- "name": "storage.type.agda",
237
- "match": "\\b[^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*"
238
- }
239
- ]
69
+ }
240
70
  }
241
- }
71
+ ]
242
72
  }
@@ -16,8 +16,8 @@
16
16
  },
17
17
  {
18
18
  "name": "comment.block.ahk",
19
- "begin": "^/\\*",
20
- "end": "^\\*/"
19
+ "begin": "^\\s*/\\*",
20
+ "end": "^\\s*\\*/"
21
21
  },
22
22
  {
23
23
  "name": "functionline.ahk",
@@ -60,7 +60,7 @@
60
60
  },
61
61
  {
62
62
  "name": "hotkeyline.ahk",
63
- "match": "^\\s*(.+)(::)",
63
+ "match": "^\\s*(\\S+(?:\\s+\u0026\\s+\\S+)*)(::)",
64
64
  "captures": {
65
65
  "1": {
66
66
  "name": "entity.name.function.label.ahk"
@@ -106,9 +106,13 @@
106
106
  }
107
107
  }
108
108
  },
109
+ {
110
+ "name": "invalid.deprecated.ahk",
111
+ "match": "\\b(?i:IfEqual|IfNotEqual|IfLess|IfLessOrEqual|IfGreater|IfGreaterOrEqual|IfExist|IfNotExist|IfInString|IfNotInString|IfWinActive|IfWinNotActive|IfWinExist|IfWinNotExist|OnExit|SetEnv|EnvDiv|EnvMult|SetFormat|StringGetPos|StringLeft|StringRight|StringLen|StringGetPos|StringMid|StringReplace|StringSplit|StringTrimLeft|StringTrimRight)\\b"
112
+ },
109
113
  {
110
114
  "name": "support.function.ahk",
111
- "match": "\\b(?i:autotrim|blockinput|click|clipwait|controlclick|controlfocus|controlget|controlgetfocus|controlgetpos|controlgettext|controlmove|controlsend|controlsendraw|controlsettext|control|coordmode|detecthiddentext|detecthiddenwindows|driveget|drivespacefree|drive|edit|envadd|envdiv|envget|envmult|envset|envsub|envupdate|fileappend|filecopydir|filecopy|filecreatedir|filecreateshortcut|filedelete|fileencoding|filegetattrib|filegetshortcut|filegetsize|filegettime|filegetversion|fileinstall|filemovedir|filemove|filereadline|fileread|filerecycleempty|filerecycle|fileremovedir|fileselectfile|fileselectfolder|filesetattrib|filesettime|formattime|getkeystate|groupactivate|groupadd|groupclose|groupdeactivate|guicontrol|guicontrolget|gui|hotkey|ifequal|ifexist|ifgreater|ifgreaterorequal|ifinstring|ifless|iflessorequal|ifmsgbox|ifnotequal|ifnotexist|ifnotinstring|ifwinactive|ifwinexist|ifwinnotactive|ifwinnotexist|imagesearch|inidelete|iniread|iniwrite|inputbox|input|keyhistory|keywait|listhotkeys|listlines|listvars|menu|mouseclickdrag|mouseclick|mousegetpos|mousemove|msgbox|onexit|outputdebug|pause|pixelgetcolor|pixelsearch|postmessage|process|progress|random|regdelete|regread|regwrite|reload|run|runas|runwait|sendevent|sendinput|sendlevel|sendmessage|sendmode|sendplay|sendraw|send|setbatchlines|setcapslockstate|setcontroldelay|setdefaultmousespeed|setenv|setformat|setkeydelay|setmousedelay|setnumlockstate|setscrolllockstate|setstorecapslockmode|setregview|settimer|settitlematchmode|setwindelay|setworkingdir|shutdown|sleep|sort|soundbeep|soundgetwavevolume|soundget|soundplay|soundsetwavevolume|soundset|splashimage|splashtextoff|splashtexton|splitpath|statusbargettext|statusbarwait|stringcasesense|stringgetpos|stringleft|stringlen|stringlower|stringmid|stringreplace|stringright|stringsplit|stringtrimleft|stringtrimright|stringupper|suspend|sysget|thread|tooltip|transform|traytip|urldownloadtofile|winactivatebottom|winactivate|winclose|wingetactivestats|wingetactivetitle|wingetclass|wingetpos|wingettext|wingettitle|winget|winhide|winkill|winmaximize|winmenuselectitem|winminimizeallundo|winminimizeall|winminimize|winmove|winrestore|winsettitle|winset|winshow|winwaitactive|winwaitclose|winwaitnotactive|winwait)\\b"
115
+ "match": "\\b(?i:autotrim|blockinput|click|clipwait|controlclick|controlfocus|controlget|controlgetfocus|controlgetpos|controlgettext|controlmove|controlsend|controlsendraw|controlsettext|control|coordmode|detecthiddentext|detecthiddenwindows|driveget|drivespacefree|drive|edit|envadd|envget|envset|envsub|envupdate|fileappend|filecopydir|filecopy|filecreatedir|filecreateshortcut|filedelete|fileencoding|filegetattrib|filegetshortcut|filegetsize|filegettime|filegetversion|fileinstall|filemovedir|filemove|filereadline|fileread|filerecycleempty|filerecycle|fileremovedir|fileselectfile|fileselectfolder|filesetattrib|filesettime|formattime|getkeystate|groupactivate|groupadd|groupclose|groupdeactivate|guicontrol|guicontrolget|gui|hotkey|ifmsgbox|imagesearch|inidelete|iniread|iniwrite|inputbox|input|keyhistory|keywait|listhotkeys|listlines|listvars|menu|mouseclickdrag|mouseclick|mousegetpos|mousemove|msgbox|outputdebug|pause|pixelgetcolor|pixelsearch|postmessage|process|progress|random|regdelete|regread|regwrite|reload|run|runas|runwait|sendevent|sendinput|sendlevel|sendmessage|sendmode|sendplay|sendraw|send|setbatchlines|setcapslockstate|setcontroldelay|setdefaultmousespeed|setkeydelay|setmousedelay|setnumlockstate|setscrolllockstate|setstorecapslockmode|setregview|settimer|settitlematchmode|setwindelay|setworkingdir|shutdown|sleep|sort|soundbeep|soundgetwavevolume|soundget|soundplay|soundsetwavevolume|soundset|splashimage|splashtextoff|splashtexton|splitpath|statusbargettext|statusbarwait|stringcasesense|stringlen|stringlower|stringmid|stringreplace|stringsplit|stringupper|suspend|sysget|thread|tooltip|transform|traytip|urldownloadtofile|winactivatebottom|winactivate|winclose|wingetactivestats|wingetactivetitle|wingetclass|wingetpos|wingettext|wingettitle|winget|winhide|winkill|winmaximize|winmenuselectitem|winminimizeallundo|winminimizeall|winminimize|winmove|winrestore|winsettitle|winset|winshow|winwaitactive|winwaitclose|winwaitnotactive|winwait)\\b"
112
116
  },
113
117
  {
114
118
  "name": "support.function.ahk",
@@ -136,7 +140,7 @@
136
140
  },
137
141
  {
138
142
  "name": "keyword.control.ahk",
139
- "match": "\\b(?\u003c!\\.)(?i:if|else|return|loop|break|for|while|class|extends|catch|finally|throw|try|until|continue|critical|exit|exitapp|gosub|goto||not|or|and|is|in)\\b"
143
+ "match": "\\b(?\u003c!\\.)(?i:if|else|return|loop|break|for|while|class|extends|catch|finally|throw|try|until|continue|critical|exit|exitapp|gosub|goto||not|or|and|is|in|switch|case)\\b"
140
144
  },
141
145
  {
142
146
  "name": "constant.numeric.ahk",
@@ -100,7 +100,7 @@
100
100
  },
101
101
  {
102
102
  "name": "storage.modifier.angelscript",
103
- "match": "\\b(get|in|inout|out|override|explicit|set|private|public|protected|const|default|final|shared|external|mixin|abstract)\\b"
103
+ "match": "\\b(get|in|inout|out|override|explicit|set|private|public|protected|const|default|final|shared|external|mixin|abstract|property)\\b"
104
104
  },
105
105
  {
106
106
  "name": "storage.type.angelscript",
@@ -207,6 +207,9 @@
207
207
  {
208
208
  "include": "#comment"
209
209
  },
210
+ {
211
+ "include": "#annotationAttachment"
212
+ },
210
213
  {
211
214
  "match": "(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"
212
215
  },
@@ -384,7 +387,7 @@
384
387
  "patterns": [
385
388
  {
386
389
  "begin": "\\bfunction\\b",
387
- "end": "\\}|(?=;)",
390
+ "end": "\\}|(?=;|=)",
388
391
  "patterns": [
389
392
  {
390
393
  "include": "#functionParameters"
@@ -473,7 +476,7 @@
473
476
  "patterns": [
474
477
  {
475
478
  "begin": "\\breturns\\b",
476
- "end": "(?=\\{|;|,)",
479
+ "end": "(?=\\{|;|,|=)",
477
480
  "patterns": [
478
481
  {
479
482
  "include": "#record"
@@ -481,6 +484,9 @@
481
484
  {
482
485
  "include": "#objectDec"
483
486
  },
487
+ {
488
+ "include": "#tupleType"
489
+ },
484
490
  {
485
491
  "name": "storage.type.ballerina",
486
492
  "match": "(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"
@@ -581,10 +587,10 @@
581
587
  "patterns": [
582
588
  {
583
589
  "begin": "\\breturns\\b",
584
- "end": "(?=\\,)",
590
+ "end": "(?=\\,)|(?:\\|)|(?=\\])|(?=\\))",
585
591
  "patterns": [
586
592
  {
587
- "include": "#parameter"
593
+ "include": "#functionTypeReturnsParameter"
588
594
  },
589
595
  {
590
596
  "include": "#comment"
@@ -598,11 +604,51 @@
598
604
  }
599
605
  ]
600
606
  },
607
+ "functionTypeReturnsParameter": {
608
+ "patterns": [
609
+ {
610
+ "begin": "((?=record|object|function)|(?:(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)))",
611
+ "end": "(?=\\,)|(?:\\|)|(?:\\:)|(?==\u003e)|(?=\\))|(?=\\])",
612
+ "patterns": [
613
+ {
614
+ "include": "#record"
615
+ },
616
+ {
617
+ "include": "#objectDec"
618
+ },
619
+ {
620
+ "include": "#functionType"
621
+ },
622
+ {
623
+ "include": "#constrainType"
624
+ },
625
+ {
626
+ "include": "#defaultValue"
627
+ },
628
+ {
629
+ "include": "#comment"
630
+ },
631
+ {
632
+ "include": "#parameterTuple"
633
+ },
634
+ {
635
+ "name": "variable.parameter.ballerina",
636
+ "match": "(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"
637
+ }
638
+ ],
639
+ "beginCaptures": {
640
+ "0": {
641
+ "name": "storage.type.ballerina"
642
+ }
643
+ }
644
+ }
645
+ ]
646
+ },
601
647
  "functionTypeType": {
602
648
  "patterns": [
603
649
  {
604
650
  "begin": "(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)",
605
- "end": "(?:\\,)|(?:\\|)|(?=\\])|(?=\\))",
651
+ "end": "(?=\\,)|(?:\\|)|(?=\\])|(?=\\))",
606
652
  "beginCaptures": {
607
653
  "0": {
608
654
  "name": "storage.type.ballerina"
@@ -619,7 +665,7 @@
619
665
  },
620
666
  {
621
667
  "name": "keyword.other.ballerina",
622
- "match": "\\b(import|version|public|private|attach|as|native|handle|documentation|lock|new|record|limit|ascending|descending|check|checkpanic|panic|trap|start|done|untainted|tainted|onretry|oncommit|onabort|scope|compensate|compensation|primarykey|channel|abstract|extern|final|listener|remote|client|is|__init)\\b"
668
+ "match": "\\b(import|version|public|private|attach|as|native|handle|documentation|lock|new|record|limit|ascending|descending|check|checkpanic|panic|trap|start|flush|done|untainted|tainted|onretry|committed|aborted|scope|compensate|compensation|primarykey|channel|abstract|extern|final|listener|remote|client|is|__init)\\b"
623
669
  },
624
670
  {
625
671
  "name": "keyword.other.siddhi.ballerina",
@@ -635,7 +681,7 @@
635
681
  },
636
682
  {
637
683
  "name": "keyword.operator.ballerina",
638
- "match": "(!|%|\\+|\\-|~=|==|=|!=|\u003c|\u003e|\u0026\u0026|\\|\\||\\?:|\\.\\.\\.)"
684
+ "match": "(!|%|\\+|\\-|~=|==|=|!=|\u003c|\u003e|\u0026|\\||\\?:|\\.\\.\\.)"
639
685
  },
640
686
  {
641
687
  "include": "#types"
@@ -667,17 +713,7 @@
667
713
  {
668
714
  "include": "#code"
669
715
  }
670
- ],
671
- "beginCaptures": {
672
- "0": {
673
- "name": "punctuation.definition.string.begin.ballerina"
674
- }
675
- },
676
- "endCaptures": {
677
- "0": {
678
- "name": "punctuation.definition.string.end.ballerina"
679
- }
680
- }
716
+ ]
681
717
  }
682
718
  ]
683
719
  },