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
@@ -51,10 +51,6 @@
51
51
  "name": "constant.language.boolean.${1:/downcase}.editorconfig",
52
52
  "match": "(?i)(?\u003c=\\s|=)(true|false|on|off|yes|no)(?=$|\\s)"
53
53
  },
54
- {
55
- "name": "constant.language.charset.encoding.${1:/downcase}.editorconfig",
56
- "match": "(?i)(?\u003c=\\s|=)(latin1|utf-8(?:-bom)?|utf-16[bl]e)(?=$|\\s)"
57
- },
58
54
  {
59
55
  "name": "constant.language.${1:/downcase}.editorconfig",
60
56
  "match": "(?i)(?\u003c=\\s|=)(CRLF|CR|LF|tab|space|unset)(?=$|\\s)"
@@ -200,9 +196,31 @@
200
196
  },
201
197
  {
202
198
  "name": "meta.rule.${1:/downcase}.editorconfig",
203
- "begin": "(?ix)\n^ \\s*\n( charset\n| end_of_line\n| indent_size\n| indent_style\n| insert_final_newline\n| max_line_length\n| root\n| tab_width\n| trim_trailing_whitespace\n) \\s* (=)",
199
+ "begin": "(?ix)\n^ \\s*\n( end_of_line\n| indent_size\n| indent_style\n| insert_final_newline\n| max_line_length\n| root\n| tab_width\n| trim_trailing_whitespace\n) \\s* (=)",
200
+ "end": "$",
201
+ "patterns": [
202
+ {
203
+ "include": "#value"
204
+ }
205
+ ],
206
+ "beginCaptures": {
207
+ "1": {
208
+ "name": "keyword.other.definition.${1:/downcase}.editorconfig"
209
+ },
210
+ "2": {
211
+ "name": "punctuation.separator.key-value.editorconfig"
212
+ }
213
+ }
214
+ },
215
+ {
216
+ "name": "meta.rule.charset.editorconfig",
217
+ "begin": "^\\s*(charset)\\s*(=)",
204
218
  "end": "$",
205
219
  "patterns": [
220
+ {
221
+ "name": "constant.language.charset.encoding.${1:/downcase}.editorconfig",
222
+ "match": "(?i)(?\u003c=\\s|=)([-\\w]+)(?=$|\\s)"
223
+ },
206
224
  {
207
225
  "include": "#value"
208
226
  }
@@ -16,6 +16,49 @@
16
16
  }
17
17
  }
18
18
  },
19
+ {
20
+ "match": "([A-Z]\\w+)\\s*(\\.)\\s*([a-z_]\\w*[!?]?)",
21
+ "captures": {
22
+ "1": {
23
+ "name": "entity.name.type.class.elixir"
24
+ },
25
+ "2": {
26
+ "name": "punctuation.separator.method.elixir"
27
+ },
28
+ "3": {
29
+ "name": "entity.name.function.elixir"
30
+ }
31
+ }
32
+ },
33
+ {
34
+ "match": "(\\:\\w+)\\s*(\\.)\\s*([_]?\\w*[!?]?)",
35
+ "captures": {
36
+ "1": {
37
+ "name": "constant.other.symbol.elixir"
38
+ },
39
+ "2": {
40
+ "name": "punctuation.separator.method.elixir"
41
+ },
42
+ "3": {
43
+ "name": "entity.name.function.elixir"
44
+ }
45
+ }
46
+ },
47
+ {
48
+ "match": "(\\|\\\u003e)\\s*([a-z_]\\w*[!?]?)",
49
+ "captures": {
50
+ "1": {
51
+ "name": "keyword.operator.other.elixir"
52
+ },
53
+ "2": {
54
+ "name": "entity.name.function.elixir"
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "name": "entity.name.function.elixir",
60
+ "match": "\\b[a-z_]\\w*[!?]?(?=\\s*\\.?\\s*\\()"
61
+ },
19
62
  {
20
63
  "begin": "\\b(fn)\\b(?=.*-\u003e)",
21
64
  "end": "(?\u003e(-\u003e)|(when)|(\\)))",
@@ -774,6 +817,14 @@
774
817
  }
775
818
  }
776
819
  },
820
+ {
821
+ "name": "comment.unused.elixir",
822
+ "match": "\\b_([\\w]+[?!]?)"
823
+ },
824
+ {
825
+ "name": "comment.wildcard.elixir",
826
+ "match": "\\b_\\b"
827
+ },
777
828
  {
778
829
  "name": "constant.numeric.elixir",
779
830
  "match": "(?\u003c!\\w)\\?(\\\\(x[0-9A-Fa-f]{1,2}(?![0-9A-Fa-f])\\b|[^xMC])|[^\\s\\\\])"
@@ -327,7 +327,7 @@
327
327
  },
328
328
  "module_name": {
329
329
  "name": "support.other.module.elm",
330
- "match": "[A-Z][A-Za-z._']*"
330
+ "match": "[A-Z][A-Za-z0-9._']*"
331
331
  },
332
332
  "type_signature": {
333
333
  "patterns": [
@@ -2,6 +2,16 @@
2
2
  "name": "Emacs Lisp",
3
3
  "scopeName": "source.emacs.lisp",
4
4
  "patterns": [
5
+ {
6
+ "name": "comment.line.hashbang.emacs.lisp",
7
+ "begin": "\\A(#!)",
8
+ "end": "$",
9
+ "beginCaptures": {
10
+ "1": {
11
+ "name": "punctuation.definition.comment.hashbang.emacs.lisp"
12
+ }
13
+ }
14
+ },
5
15
  {
6
16
  "include": "#main"
7
17
  }
@@ -0,0 +1,119 @@
1
+ {
2
+ "name": "faust",
3
+ "scopeName": "source.faust",
4
+ "patterns": [
5
+ {
6
+ "name": "comment.block.faust",
7
+ "begin": "/\\*",
8
+ "end": "\\*/",
9
+ "captures": {
10
+ "0": {
11
+ "name": "punctuation.definition.comment.faust"
12
+ }
13
+ }
14
+ },
15
+ {
16
+ "name": "comment.line.double-slash.faust",
17
+ "match": "(//).*$\\n?",
18
+ "captures": {
19
+ "1": {
20
+ "name": "punctuation.definition.comment.faust"
21
+ }
22
+ }
23
+ },
24
+ {
25
+ "name": "constant.numeric.faust",
26
+ "match": "(\\.\\d+([Ee][-+]\\d+)?i?)\\b"
27
+ },
28
+ {
29
+ "name": "constant.numeric.faust",
30
+ "match": "\\b\\d+\\.\\d*(([Ee][-+]\\d+)?i?\\b)?"
31
+ },
32
+ {
33
+ "name": "constant.numeric.faust",
34
+ "match": "\\b((0x[0-9a-fA-F]+)|(0[0-7]+i?)|(\\d+([Ee]\\d+)?i?)|(\\d+[Ee][-+]\\d+i?))\\b"
35
+ },
36
+ {
37
+ "name": "constant.symbol.faust",
38
+ "match": "\\b(mem|prefix|int|float|rdtable|rwtable|select2|select3|ffunction|fconstant|fvariable|button|checkbox|vslider|hslider|nentry|vgroup|hgroup|tgroup|vbargraph|hbargraph|attach|acos|asin|atan|atan2|cos|sin|tan|exp|log|log10|pow|sqrt|abs|min|max|fmod|remainder|floor|ceil|rint)\\b"
39
+ },
40
+ {
41
+ "name": "keyword.control.faust",
42
+ "match": "\\b(import|component|declare|library|environment|with|letrec|process|seq|par|sum|prod|inputs|outputs)\\b"
43
+ },
44
+ {
45
+ "name": "keyword.algebra.faust",
46
+ "match": "(,|:\u003e|\u003c:|:|~)"
47
+ },
48
+ {
49
+ "name": "constant.numeric.faust",
50
+ "match": "(;|=)"
51
+ },
52
+ {
53
+ "include": "#string_escaped_char"
54
+ },
55
+ {
56
+ "include": "#strings"
57
+ },
58
+ {
59
+ "include": "#operators"
60
+ }
61
+ ],
62
+ "repository": {
63
+ "operators": {
64
+ "patterns": [
65
+ {
66
+ "name": "keyword.operator.faust",
67
+ "match": "(\\+|\u0026|==|!=|\\(|\\)|\\-|\\||\\-=|\\|=|\\|\\||\u003c|\u003c=|\\[|\\]|\\*|\\^|\\*=|\\^=|\u003c\\-|\u003e|\u003e=|\\{|\\}|/|\u003c\u003c|/=|\u003c\u003c=|\\+\\+|=|:=|,|;|%|\u003e\u003e|%=|\u003e\u003e=|\\-\\-|!|\\.\\.\\.|\\.|:|\u0026\\^|\u0026\\^=)"
68
+ }
69
+ ]
70
+ },
71
+ "printf_verbs": {
72
+ "patterns": [
73
+ {
74
+ "name": "constant.escape.format-verb.faust",
75
+ "match": "%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"
76
+ }
77
+ ]
78
+ },
79
+ "string_escaped_char": {
80
+ "patterns": [
81
+ {
82
+ "name": "constant.character.escape.faust",
83
+ "match": "\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"
84
+ },
85
+ {
86
+ "name": "invalid.illegal.unknown-escape.faust",
87
+ "match": "\\\\[^0-7xuUabfnrtv\\'\"]"
88
+ }
89
+ ]
90
+ },
91
+ "strings": {
92
+ "patterns": [
93
+ {
94
+ "name": "string.quoted.double.faust",
95
+ "begin": "\"",
96
+ "end": "\"",
97
+ "patterns": [
98
+ {
99
+ "include": "#string_escaped_char"
100
+ },
101
+ {
102
+ "include": "#printf_verbs"
103
+ }
104
+ ],
105
+ "beginCaptures": {
106
+ "0": {
107
+ "name": "punctuation.definition.string.begin.faust"
108
+ }
109
+ },
110
+ "endCaptures": {
111
+ "0": {
112
+ "name": "punctuation.definition.string.end.faust"
113
+ }
114
+ }
115
+ }
116
+ ]
117
+ }
118
+ }
119
+ }
@@ -1,18 +1,176 @@
1
1
  {
2
- "name": "GCode",
2
+ "name": "VSCode GCode Syntax",
3
3
  "scopeName": "source.gcode",
4
4
  "patterns": [
5
5
  {
6
- "name": "comment.number-sign.nc",
7
- "match": "(\\()(.*)(\\))"
6
+ "include": "#comments"
8
7
  },
9
8
  {
10
- "name": "keyword.nc",
11
- "match": "(G|F|S|M|T|O|%)[0-9]+"
9
+ "include": "#speedsfeeds"
12
10
  },
13
11
  {
14
- "name": "variable.language.MCPOST",
15
- "match": "(X|Y|Z|I|J|K)([0-9]+(?:\\.[0-9]*)?)"
12
+ "include": "#prognumbers"
13
+ },
14
+ {
15
+ "include": "#coords"
16
+ },
17
+ {
18
+ "include": "#tools"
19
+ },
20
+ {
21
+ "include": "#modifiers"
22
+ },
23
+ {
24
+ "include": "#macrovars"
25
+ },
26
+ {
27
+ "include": "#keywords"
28
+ },
29
+ {
30
+ "include": "#operators"
31
+ }
32
+ ],
33
+ "repository": {
34
+ "comments": {
35
+ "patterns": [
36
+ {
37
+ "name": "comment.gcode",
38
+ "match": "(\\(.+\\))"
39
+ },
40
+ {
41
+ "name": "comment.gcode",
42
+ "begin": ";",
43
+ "end": "\\n"
44
+ }
45
+ ]
46
+ },
47
+ "coords": {
48
+ "patterns": [
49
+ {
50
+ "name": "string.gcode",
51
+ "match": "([xX])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
52
+ },
53
+ {
54
+ "name": "string.gcode",
55
+ "match": "([yY])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
56
+ },
57
+ {
58
+ "name": "invalid.gcode",
59
+ "match": "([zZ])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
60
+ },
61
+ {
62
+ "name": "constant.character.escape.gcode",
63
+ "match": "([aAbBcC])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
64
+ }
65
+ ]
66
+ },
67
+ "keywords": {
68
+ "patterns": [
69
+ {
70
+ "name": "markup.bold.gcode",
71
+ "match": "[gG][0-9]{1,3}"
72
+ },
73
+ {
74
+ "name": "keyword.operator.quantifier.regexp.gcode",
75
+ "match": "[mM][0-9]{1,3}"
76
+ },
77
+ {
78
+ "name": "string.gcode",
79
+ "match": "([\\%])"
80
+ },
81
+ {
82
+ "name": "keyword.control.gcode",
83
+ "match": "(GOTO)|(IF)|(EQ)|(NE)|(LT)|(GT)|(LE)|(GE)|(DO)|(WHILE)|(END)|(AND)|(OR)|(XOR)"
84
+ }
85
+ ]
86
+ },
87
+ "macrovars": {
88
+ "patterns": [
89
+ {
90
+ "name": "variable.other.gcode",
91
+ "match": "[#][0-9]+"
92
+ },
93
+ {
94
+ "name": "variable.other.gcode",
95
+ "match": "[#][\\[].+[\\]]"
96
+ }
97
+ ]
98
+ },
99
+ "modifiers": {
100
+ "patterns": [
101
+ {
102
+ "name": "constant.character.escape.gcode",
103
+ "match": "([iIjJkK])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
104
+ },
105
+ {
106
+ "name": "support.constant.math.gcode",
107
+ "match": "([qQrR])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
108
+ }
109
+ ]
110
+ },
111
+ "operators": {
112
+ "patterns": [
113
+ {
114
+ "name": "support.constant.math.gcode",
115
+ "match": "(SIN)|(COS)|(TAN)|(ASIN)|(ACOS)|(ATAN)|(FIX)|(FUP)|(LN)|(ROUND)|(SQRT)"
116
+ },
117
+ {
118
+ "name": "support.constant.math.gcode",
119
+ "match": "(FIX)|(FUP)|(ROUND)|(ABS)"
120
+ },
121
+ {
122
+ "name": "support.constant.math.gcode",
123
+ "match": "(\\+)|(\\*)|(\\/)|(\\*\\*)"
124
+ },
125
+ {
126
+ "name": "invalid.gcode",
127
+ "match": "(\\-)"
128
+ }
129
+ ]
130
+ },
131
+ "prognumbers": {
132
+ "patterns": [
133
+ {
134
+ "name": "constant.numeric.gcode",
135
+ "match": "[nN][0-9]+"
136
+ },
137
+ {
138
+ "name": "string.regexp.gcode",
139
+ "match": "[oO][0-9]{1,5}"
140
+ },
141
+ {
142
+ "name": "string.regexp.gcode",
143
+ "match": "[pP][0-9]{1,5}"
144
+ }
145
+ ]
146
+ },
147
+ "speedsfeeds": {
148
+ "patterns": [
149
+ {
150
+ "name": "constant.language.gcode",
151
+ "match": "([sS])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
152
+ },
153
+ {
154
+ "name": "constant.language.gcode",
155
+ "match": "([fF])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
156
+ }
157
+ ]
158
+ },
159
+ "tools": {
160
+ "patterns": [
161
+ {
162
+ "name": "constant.character.gcode",
163
+ "match": "([dD])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
164
+ },
165
+ {
166
+ "name": "constant.character.gcode",
167
+ "match": "([hH])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
168
+ },
169
+ {
170
+ "name": "constant.character.gcode",
171
+ "match": "([tT])(?=-|\\d|\\[|#)-?(?:\\d+(?:\\.\\d*)?)?"
172
+ }
173
+ ]
16
174
  }
17
- ]
175
+ }
18
176
  }
@@ -1084,7 +1084,7 @@
1084
1084
  {
1085
1085
  "name": "markup.code.julia.gfm",
1086
1086
  "contentName": "source.embedded.julia",
1087
- "begin": "^\\s*(`{3,}|~{3,})\\s*(?i:(julia))\\s*$",
1087
+ "begin": "^\\s*(`{3,}|~{3,})\\s*(?i:(julia|jl))\\s*$",
1088
1088
  "end": "^\\s*\\1((?\u003c=`)`+|(?\u003c=~)~+)?\\s*$",
1089
1089
  "patterns": [
1090
1090
  {