github-linguist 4.8.13 → 4.8.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -894,7 +894,7 @@
894
894
  }
895
895
  },
896
896
  {
897
- "match": "(::|∷)(.*?)(?:(?<![\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']])(<-|=)(?![\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']])|$)",
897
+ "match": "(::|∷)(.*?)(?=(?<![\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']])(<-|=)(?![\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']])|$)",
898
898
  "captures": {
899
899
  "1": {
900
900
  "name": "keyword.other.double-colon.haskell"
@@ -906,16 +906,6 @@
906
906
  "include": "#type_signature"
907
907
  }
908
908
  ]
909
- },
910
- "3": {
911
- "patterns": [
912
- {
913
- "include": "#assignment_op"
914
- },
915
- {
916
- "include": "#operator"
917
- }
918
- ]
919
909
  }
920
910
  }
921
911
  }
@@ -948,7 +948,7 @@
948
948
  "name": "constant.language.js"
949
949
  },
950
950
  {
951
- "begin": "(?<=[\\[=(?:+,!]|^|return|=>|&&|\\|\\|)\\s*(/)(?![/*+{}?])(?=.*/)",
951
+ "begin": "(?<=[\\[=(?:+,!]|^|return|=>|&&|\\|\\|)\\s*(/)(?![/*+?])(?=.*/)",
952
952
  "beginCaptures": {
953
953
  "1": {
954
954
  "name": "punctuation.definition.string.begin.js"
@@ -399,7 +399,7 @@
399
399
  "name": "keyword.control.statement.renpy"
400
400
  }
401
401
  },
402
- "end": "(\\n|\\()|#",
402
+ "end": "(\\n|\\()|\\:",
403
403
  "endCaptures": {
404
404
  "1": {
405
405
  "name": "punctuation.definition.inheritance.end.python"
@@ -1057,7 +1057,7 @@
1057
1057
  "name": "support.type.python"
1058
1058
  },
1059
1059
  "constant_placeholder": {
1060
- "match": "(?i:(%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?([hL][a-z]|[a-z%]))|(\\{([\\\\\\/#=\\-\\+!\\[\\].:\\w ]+)?\\})|(\\{\\/([!\\[\\].:\\w ]+)?\\})|(\\[([!\\[\\].:\\w ]+)?\\]))",
1060
+ "match": "(?i:(%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?([hL][a-z]|[a-z%]))|(\\{([\\?\\&\\%\\\\\\/#=\\-\\+!\\[\\].:\\w ]+)?\\})|(\\{\\/([!\\[\\].:\\w ]+)?\\})|(\\[([!\\[\\].:\\w ]+)?\\]))",
1061
1061
  "name": "constant.other.placeholder.tags.renpy"
1062
1062
  },
1063
1063
  "docstrings": {
@@ -8,7 +8,7 @@
8
8
  "nvimrc",
9
9
  "_vimrc"
10
10
  ],
11
- "firstLineMatch": "(?x)\n\n# Hashbang\n^\\#!.*(?:\\s|\\/|(?<=!)\\b)\n\t(?:vim|nvim)\n(?:$|\\s)\n\n|\n\n# Modeline\n(?i:\n\t# Vim/Vi modeline, accounting for all possible variations\n\t(?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s* set?\\s))\n\t(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:]\n\t(?:filetype|ft|syntax)\\s*=\n\t\tvim\n\t(?=\\s|:|$)\n\t\n\t|\n\t\n\t# Emacs modeline, assuming a major mode for VimScript even exists\n\t-\\*-(?:(?:(?!mode\\s*:)[^:;]+:[^:;]+;)*\\s*mode\\s*:)?\\s*\n\t\t(Vim|VimL|VimScript)\n\t\\s*(?:;[^:;]+:[^:;]+?)*;?\\s*-\\*-\n)",
11
+ "firstLineMatch": "(?x)\n\n# Hashbang\n^\\#!.*(?:\\s|\\/|(?<=!)\\b)\n\t(?:vim|nvim)\n(?:$|\\s)\n\n|\n\n# Modeline\n(?i:\n\t# Vim/Vi modeline, accounting for all possible variations\n\t(?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s* set?\\s))\n\t(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:]\n\t(?:filetype|ft|syntax)\\s*=\n\t\tvim\n\t(?=\\s|:|$)\n\t\n\t|\n\t\n\t# Emacs modeline, assuming a major mode for VimScript even exists\n\t-\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n\t\t(?:Vim|VimL|VimScript)\n\t(?=[\\s;]|(?<![-*])-\\*-).*?-\\*-\n)",
12
12
  "foldingStartMarker": "^(?:if|while|for|fu|function|augroup|aug)",
13
13
  "foldingStopMarker": "(?:endif|endwhile|endfor|endf|endfunction|augroup\\.END|aug\\.END)$",
14
14
  "patterns": [
@@ -179,7 +179,7 @@
179
179
  "name": "meta.embedded.tex.math",
180
180
  "patterns": [
181
181
  {
182
- "include": "text.tex.math"
182
+ "include": "text.tex#math"
183
183
  }
184
184
  ]
185
185
  },
@@ -190,7 +190,7 @@
190
190
  "name": "meta.embedded.html.table",
191
191
  "patterns": [
192
192
  {
193
- "include": "text.html"
193
+ "include": "text.html.basic"
194
194
  }
195
195
  ]
196
196
  },
@@ -8,31 +8,158 @@
8
8
  "foldingStartMarker": "(/\\*|\\{\\s*$|<<<HTML)",
9
9
  "foldingStopMarker": "(\\*/|^\\s*\\}|^HTML;)",
10
10
  "injections": {
11
- "text.html.php.blade - (meta.embedded | meta.tag | comment.block.meta.embedded.blade), L:text.html.php.blade meta.tag, L:source.js.embedded.html": {
11
+ "text.html.php.blade - (meta.embedded | meta.tag | comment.block.blade), L:text.html.php.blade meta.tag, L:source.js.embedded.html": {
12
12
  "patterns": [
13
13
  {
14
14
  "begin": "{{--",
15
- "captures": {
15
+ "beginCaptures": {
16
16
  "0": {
17
- "name": "punctuation.definition.comment.blade"
17
+ "name": "punctuation.definition.comment.begin.blade"
18
18
  }
19
19
  },
20
20
  "end": "--}}",
21
- "name": "comment.block.meta.embedded.blade"
21
+ "endCaptures": {
22
+ "0": {
23
+ "name": "punctuation.definition.comment.end.blade"
24
+ }
25
+ },
26
+ "name": "comment.block.blade",
27
+ "patterns": [
28
+ {
29
+ "name": "invalid.illegal.php-code-in-comment.blade",
30
+ "begin": "(^\\s*)(?=<\\?(?![^?]*\\?>))",
31
+ "beginCaptures": {
32
+ "0": {
33
+ "name": "punctuation.whitespace.embedded.leading.php"
34
+ }
35
+ },
36
+ "end": "(?!\\G)(\\s*$\\n)?",
37
+ "endCaptures": {
38
+ "0": {
39
+ "name": "punctuation.whitespace.embedded.trailing.php"
40
+ }
41
+ },
42
+ "patterns": [
43
+ {
44
+ "begin": "<\\?(?i:php|=)?",
45
+ "beginCaptures": {
46
+ "0": {
47
+ "name": "punctuation.section.embedded.begin.php"
48
+ }
49
+ },
50
+ "contentName": "source.php",
51
+ "end": "(\\?)>",
52
+ "endCaptures": {
53
+ "0": {
54
+ "name": "punctuation.section.embedded.end.php"
55
+ },
56
+ "1": {
57
+ "name": "source.php"
58
+ }
59
+ },
60
+ "name": "meta.embedded.block.php",
61
+ "patterns": [
62
+ {
63
+ "include": "#language"
64
+ }
65
+ ]
66
+ }
67
+ ]
68
+ },
69
+ {
70
+ "begin": "<\\?(?i:php|=)?(?![^?]*\\?>)",
71
+ "beginCaptures": {
72
+ "0": {
73
+ "name": "punctuation.section.embedded.begin.php"
74
+ }
75
+ },
76
+ "contentName": "source.php",
77
+ "end": "(\\?)>",
78
+ "endCaptures": {
79
+ "0": {
80
+ "name": "punctuation.section.embedded.end.php"
81
+ },
82
+ "1": {
83
+ "name": "source.php"
84
+ }
85
+ },
86
+ "name": "invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php",
87
+ "patterns": [
88
+ {
89
+ "include": "#language"
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "begin": "<\\?(?i:php|=)?",
95
+ "beginCaptures": {
96
+ "0": {
97
+ "name": "punctuation.section.embedded.begin.php"
98
+ }
99
+ },
100
+ "end": ">",
101
+ "endCaptures": {
102
+ "0": {
103
+ "name": "punctuation.section.embedded.end.php"
104
+ }
105
+ },
106
+ "name": "invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php",
107
+ "patterns": [
108
+ {
109
+ "captures": {
110
+ "1": {
111
+ "name": "source.php"
112
+ },
113
+ "2": {
114
+ "name": "punctuation.section.embedded.end.php"
115
+ },
116
+ "3": {
117
+ "name": "source.php"
118
+ }
119
+ },
120
+ "match": "\\G(\\s*)((\\?))(?=>)",
121
+ "name": "meta.special.empty-tag.php"
122
+ },
123
+ {
124
+ "begin": "\\G",
125
+ "contentName": "source.php",
126
+ "end": "(\\?)(?=>)",
127
+ "endCaptures": {
128
+ "0": {
129
+ "name": "punctuation.section.embedded.end.php"
130
+ },
131
+ "1": {
132
+ "name": "source.php"
133
+ }
134
+ },
135
+ "patterns": [
136
+ {
137
+ "include": "#language"
138
+ }
139
+ ]
140
+ }
141
+ ]
142
+ }
143
+ ]
22
144
  },
23
145
  {
24
146
  "begin": "(?<!@){{{",
25
- "captures": {
147
+ "beginCaptures": {
148
+ "0": {
149
+ "name": "support.function.construct.begin.blade"
150
+ }
151
+ },
152
+ "contentName": "source.php",
153
+ "end": "(})}}",
154
+ "endCaptures": {
26
155
  "0": {
27
- "name": "support.punctuation.blade"
156
+ "name": "support.function.construct.end.blade"
28
157
  },
29
158
  "1": {
30
159
  "name": "source.php"
31
160
  }
32
161
  },
33
- "contentName": "source.php",
34
- "end": "(})}}",
35
- "name": "meta.embedded.echo.blade",
162
+ "name": "meta.function.echo.blade",
36
163
  "patterns": [
37
164
  {
38
165
  "include": "#language"
@@ -41,17 +168,22 @@
41
168
  },
42
169
  {
43
170
  "begin": "(?<![@{]){{",
44
- "captures": {
171
+ "beginCaptures": {
172
+ "0": {
173
+ "name": "support.function.construct.begin.blade"
174
+ }
175
+ },
176
+ "contentName": "source.php",
177
+ "end": "(})}",
178
+ "endCaptures": {
45
179
  "0": {
46
- "name": "support.punctuation.blade"
180
+ "name": "support.function.construct.end.blade"
47
181
  },
48
182
  "1": {
49
183
  "name": "source.php"
50
184
  }
51
185
  },
52
- "contentName": "source.php",
53
- "end": "(})}",
54
- "name": "meta.embedded.echo.blade",
186
+ "name": "meta.function.echo.blade",
55
187
  "patterns": [
56
188
  {
57
189
  "include": "#language"
@@ -60,17 +192,22 @@
60
192
  },
61
193
  {
62
194
  "begin": "(?<!@){!!",
63
- "captures": {
195
+ "beginCaptures": {
196
+ "0": {
197
+ "name": "support.function.construct.begin.blade"
198
+ }
199
+ },
200
+ "contentName": "source.php",
201
+ "end": "(!)!}",
202
+ "endCaptures": {
64
203
  "0": {
65
- "name": "support.punctuation.blade"
204
+ "name": "support.function.construct.end.blade"
66
205
  },
67
206
  "1": {
68
207
  "name": "source.php"
69
208
  }
70
209
  },
71
- "contentName": "source.php",
72
- "end": "(!)!}",
73
- "name": "meta.embedded.echo.blade",
210
+ "name": "meta.function.echo.blade",
74
211
  "patterns": [
75
212
  {
76
213
  "include": "#language"
@@ -78,7 +215,7 @@
78
215
  ]
79
216
  },
80
217
  {
81
- "begin": "(?<![A-z0-9_@])@(break|c(hoice|ontinue)|each|hasSection|(else)?(if|can(not)?)|in(ject|clude(If)?)|extends|for(e(ach|lse))?|lang|p(hp|ush)|section|stack|un(less|set)|while|yield)\\s*(?=\\()",
218
+ "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to opening parentheses\n break\n|can\n|cannot\n|choice\n|continue\n|each\n|elsecan\n|elsecannot\n|elseif\n|extends\n|for\n|foreach\n|forelse\n|hasSection\n|if\n|include\n|includeIf\n|inject\n|lang\n|php\n|push\n|section\n|stack\n|unless\n|unset\n|while\n|yield\n)\n\\s* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
82
219
  "beginCaptures": {
83
220
  "0": {
84
221
  "name": "keyword.blade"
@@ -86,7 +223,7 @@
86
223
  },
87
224
  "contentName": "source.php",
88
225
  "end": "(?<=\\))(?!.*\\))",
89
- "name": "meta.embedded.blade",
226
+ "name": "meta.directive.blade",
90
227
  "patterns": [
91
228
  {
92
229
  "include": "#language"
@@ -94,19 +231,35 @@
94
231
  ]
95
232
  },
96
233
  {
97
- "match": "(?<![A-z0-9_@])@(append|break|continue|empty|else|end(can(not)?|for(each|else)?|i(f|nject)|p(hp|ush)|section|unless|verbatim|while)|overwrite|s(how|top)|verbatim)\\b|(?<!@)@parent",
98
- "name": "meta.embedded.keyword.blade"
234
+ "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to opening parentheses\n append\n|else\n|empty\n|endcan\n|endcannot\n|endfor\n|endforeach\n|endforelse\n|endif\n|endphp\n|endpush\n|endsection\n|endunless\n|endwhile\n|overwrite\n|show\n|stop\n)\n\\s* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
235
+ "beginCaptures": {
236
+ "0": {
237
+ "name": "keyword.blade"
238
+ }
239
+ },
240
+ "contentName": "comment.blade",
241
+ "end": "(?<=\\))(?!.*\\))",
242
+ "name": "meta.directive.blade"
243
+ },
244
+ {
245
+ "match": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n append\n|break\n|continue\n|else\n|empty\n|endcan\n|endcannot\n|endfor\n|endforeach\n|endforelse\n|endif\n|endinject\n|endphp\n|endpush\n|endsection\n|endunless\n|endverbatim\n|endwhile\n|overwrite\n|show\n|stop\n|verbatim\n)\n\\b\n|\n(?<!@) # @parent can only be escaped using another @\n@parent",
246
+ "name": "keyword.blade"
99
247
  },
100
248
  {
101
- "begin": "(?<![A-z0-9_@])@\\w+\\s*(?=\\()",
249
+ "begin": "(?<![A-Za-z0-9_@])@php",
250
+ "end": "(?<![A-Za-z0-9_@])@endphp",
102
251
  "beginCaptures": {
103
252
  "0": {
104
- "name": "entity.blade"
253
+ "name": "keyword.begin.blade"
254
+ }
255
+ },
256
+ "endCaptures": {
257
+ "0": {
258
+ "name": "keyword.end.blade"
105
259
  }
106
260
  },
107
261
  "contentName": "source.php",
108
- "end": "(?<=\\))(?!.*\\))",
109
- "name": "meta.embedded.blade",
262
+ "name": "meta.embedded.block.blade",
110
263
  "patterns": [
111
264
  {
112
265
  "include": "#language"
@@ -114,20 +267,15 @@
114
267
  ]
115
268
  },
116
269
  {
117
- "begin": "(?<![A-z0-9_@])@php",
118
- "end": "(?<![A-z0-9_@])@endphp",
270
+ "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n\\w+(?:::w+)? # Any number/letter sequence, can also be postfixed by ::someOtherString\n\\s* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
119
271
  "beginCaptures": {
120
272
  "0": {
121
- "name": "meta.embedded.keyword.blade"
122
- }
123
- },
124
- "endCaptures": {
125
- "0": {
126
- "name": "meta.embedded.keyword.blade"
273
+ "name": "entity.name.function.blade"
127
274
  }
128
275
  },
129
276
  "contentName": "source.php",
130
- "name": "meta.embedded.blade",
277
+ "end": "(?<=\\))(?!.*\\))",
278
+ "name": "meta.directive.custom.blade",
131
279
  "patterns": [
132
280
  {
133
281
  "include": "#language"
@@ -135,8 +283,8 @@
135
283
  ]
136
284
  },
137
285
  {
138
- "match": "(?<![A-z0-9_@])@(?!(choice|each|(else)?(if|can(not)?)|extends|for(e(ach|lse))?|hasSection|in(clude(If)?|ject)|lang|p(hp|ush)|section|stack|un(less|set)|while|yield)\\b)\\w+\\b",
139
- "name": "meta.embedded.entity.blade"
286
+ "match": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n\\w+(?:::w+)? # Any number/letter sequence, can also be postfixed by ::someOtherString\n\\b # Bounded by word boundary",
287
+ "name": "entity.name.function.blade"
140
288
  },
141
289
  {
142
290
  "begin": "(^\\s*)(?=<\\?(?![^?]*\\?>))",
@@ -1954,6 +2102,9 @@
1954
2102
  },
1955
2103
  "name": "string.regexp.single-quoted.php",
1956
2104
  "patterns": [
2105
+ {
2106
+ "include": "#single_quote_regex_escape"
2107
+ },
1957
2108
  {
1958
2109
  "captures": {
1959
2110
  "1": {
@@ -1974,28 +2125,18 @@
1974
2125
  }
1975
2126
  },
1976
2127
  "end": "\\]",
1977
- "name": "string.regexp.character-class.php",
1978
- "patterns": [
1979
- {
1980
- "include": "#single_quote_regex_escape"
1981
- }
1982
- ]
2128
+ "name": "string.regexp.character-class.php"
1983
2129
  },
1984
2130
  {
1985
2131
  "match": "[$^+*]",
1986
2132
  "name": "keyword.operator.regexp.php"
1987
- },
1988
- {
1989
- "include": "#single_quote_regex_escape"
1990
- }
1991
- ],
1992
- "repository": {
1993
- "single_quote_regex_escape": {
1994
- "comment": "Support both PHP string and regex escaping",
1995
- "match": "(?x) \\\\ (?: \\\\ (?: \\\\ [\\\\']? | [^'] ) | . )",
1996
- "name": "constant.character.escape.php"
1997
2133
  }
1998
- }
2134
+ ]
2135
+ },
2136
+ "single_quote_regex_escape": {
2137
+ "comment": "Support both PHP string and regex escaping",
2138
+ "match": "(?x) \\\\ (?: \\\\ (?: \\\\ [\\\\']? | [^'] ) | . )",
2139
+ "name": "constant.character.escape.php"
1999
2140
  },
2000
2141
  "sql-string-double-quoted": {
2001
2142
  "begin": "\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\\b)",
@@ -871,13 +871,13 @@
871
871
  "begin": "\\{\\{\\{?",
872
872
  "beginCaptures": {
873
873
  "0": {
874
- "name": "punctuation.definition.tag.begin.html"
874
+ "name": "punctuation.definition.generic.begin.html"
875
875
  }
876
876
  },
877
877
  "end": "\\}\\}\\}?",
878
878
  "endCaptures": {
879
879
  "0": {
880
- "name": "punctuation.definition.tag.end.html"
880
+ "name": "punctuation.definition.generic.end.html"
881
881
  }
882
882
  },
883
883
  "name": "expression.embbeded.vue",