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

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

316 lines 12.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "information_for_contributors": [
3 "This file has been converted from https://github.com/textmate/perl.tmbundle/blob/master/Syntaxes/Perl%206.tmLanguage",
4 "If you want to provide a fix or improvement, please create a pull request against the original repository.",
5 "Once accepted there, we are happy to receive an update request."
6 ],
7 "version": "https://github.com/textmate/perl.tmbundle/commit/d9841a0878239fa43f88c640f8d458590f97e8f5",
8 "name": "raku",
9 "scopeName": "source.perl.6",
10 "patterns": [
11 {
12 "begin": "^=begin",
13 "end": "^=end",
14 "name": "comment.block.perl"
15 },
16 {
17 "begin": "(^[ \\t]+)?(?=#)",
18 "beginCaptures": {
19 "1": {
20 "name": "punctuation.whitespace.comment.leading.perl"
21 }
22 },
23 "end": "(?!\\G)",
24 "patterns": [
25 {
26 "begin": "#",
27 "beginCaptures": {
28 "0": {
29 "name": "punctuation.definition.comment.perl"
30 }
31 },
32 "end": "\\n",
33 "name": "comment.line.number-sign.perl"
34 }
35 ]
36 },
37 {
38 "captures": {
39 "1": {
40 "name": "storage.type.class.perl.6"
41 },
42 "3": {
43 "name": "entity.name.type.class.perl.6"
44 }
45 },
46 "match": "(class|enum|grammar|knowhow|module|package|role|slang|subset)(\\s+)(((?:::|')?(?:([a-zA-Z_\\x{C0}-\\x{FF}\\$])([a-zA-Z0-9_\\x{C0}-\\x{FF}\\\\$]|[\\-'][a-zA-Z0-9_\\x{C0}-\\x{FF}\\$])*))+)",
47 "name": "meta.class.perl.6"
48 },
49 {
50 "begin": "(?<=\\s)'",
51 "beginCaptures": {
52 "0": {
53 "name": "punctuation.definition.string.begin.perl"
54 }
55 },
56 "end": "'",
57 "endCaptures": {
58 "0": {
59 "name": "punctuation.definition.string.end.perl"
60 }
61 },
62 "name": "string.quoted.single.perl",
63 "patterns": [
64 {
65 "match": "\\\\['\\\\]",
66 "name": "constant.character.escape.perl"
67 }
68 ]
69 },
70 {
71 "begin": "\"",
72 "beginCaptures": {
73 "0": {
74 "name": "punctuation.definition.string.begin.perl"
75 }
76 },
77 "end": "\"",
78 "endCaptures": {
79 "0": {
80 "name": "punctuation.definition.string.end.perl"
81 }
82 },
83 "name": "string.quoted.double.perl",
84 "patterns": [
85 {
86 "match": "\\\\[abtnfre\"\\\\]",
87 "name": "constant.character.escape.perl"
88 }
89 ]
90 },
91 {
92 "begin": "q(q|to|heredoc)*\\s*:?(q|to|heredoc)*\\s*/(.+)/",
93 "end": "\\3",
94 "name": "string.quoted.single.heredoc.perl"
95 },
96 {
97 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*{{",
98 "end": "}}",
99 "name": "string.quoted.double.heredoc.brace.perl",
100 "patterns": [
101 {
102 "include": "#qq_brace_string_content"
103 }
104 ]
105 },
106 {
107 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\(\\(",
108 "end": "\\)\\)",
109 "name": "string.quoted.double.heredoc.paren.perl",
110 "patterns": [
111 {
112 "include": "#qq_paren_string_content"
113 }
114 ]
115 },
116 {
117 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\[\\[",
118 "end": "\\]\\]",
119 "name": "string.quoted.double.heredoc.bracket.perl",
120 "patterns": [
121 {
122 "include": "#qq_bracket_string_content"
123 }
124 ]
125 },
126 {
127 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*{",
128 "end": "}",
129 "name": "string.quoted.single.heredoc.brace.perl",
130 "patterns": [
131 {
132 "include": "#qq_brace_string_content"
133 }
134 ]
135 },
136 {
137 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*/",
138 "end": "/",
139 "name": "string.quoted.single.heredoc.slash.perl",
140 "patterns": [
141 {
142 "include": "#qq_slash_string_content"
143 }
144 ]
145 },
146 {
147 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\(",
148 "end": "\\)",
149 "name": "string.quoted.single.heredoc.paren.perl",
150 "patterns": [
151 {
152 "include": "#qq_paren_string_content"
153 }
154 ]
155 },
156 {
157 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\[",
158 "end": "\\]",
159 "name": "string.quoted.single.heredoc.bracket.perl",
160 "patterns": [
161 {
162 "include": "#qq_bracket_string_content"
163 }
164 ]
165 },
166 {
167 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*'",
168 "end": "'",
169 "name": "string.quoted.single.heredoc.single.perl",
170 "patterns": [
171 {
172 "include": "#qq_single_string_content"
173 }
174 ]
175 },
176 {
177 "begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\"",
178 "end": "\"",
179 "name": "string.quoted.single.heredoc.double.perl",
180 "patterns": [
181 {
182 "include": "#qq_double_string_content"
183 }
184 ]
185 },
186 {
187 "match": "\\b\\$\\w+\\b",
188 "name": "variable.other.perl"
189 },
190 {
191 "match": "\\b(macro|sub|submethod|method|multi|proto|only|rule|token|regex|category)\\b",
192 "name": "storage.type.declare.routine.perl"
193 },
194 {
195 "match": "\\b(self)\\b",
196 "name": "variable.language.perl"
197 },
198 {
199 "match": "\\b(use|require)\\b",
200 "name": "keyword.other.include.perl"
201 },
202 {
203 "match": "\\b(if|else|elsif|unless)\\b",
204 "name": "keyword.control.conditional.perl"
205 },
206 {
207 "match": "\\b(let|my|our|state|temp|has|constant)\\b",
208 "name": "storage.type.variable.perl"
209 },
210 {
211 "match": "\\b(for|loop|repeat|while|until|gather|given)\\b",
212 "name": "keyword.control.repeat.perl"
213 },
214 {
215 "match": "\\b(take|do|when|next|last|redo|return|contend|maybe|defer|default|exit|make|continue|break|goto|leave|async|lift)\\b",
216 "name": "keyword.control.flowcontrol.perl"
217 },
218 {
219 "match": "\\b(is|as|but|trusts|of|returns|handles|where|augment|supersede)\\b",
220 "name": "storage.modifier.type.constraints.perl"
221 },
222 {
223 "match": "\\b(BEGIN|CHECK|INIT|START|FIRST|ENTER|LEAVE|KEEP|UNDO|NEXT|LAST|PRE|POST|END|CATCH|CONTROL|TEMP)\\b",
224 "name": "meta.function.perl"
225 },
226 {
227 "match": "\\b(die|fail|try|warn)\\b",
228 "name": "keyword.control.control-handlers.perl"
229 },
230 {
231 "match": "\\b(prec|irs|ofs|ors|export|deep|binary|unary|reparsed|rw|parsed|cached|readonly|defequiv|will|ref|copy|inline|tighter|looser|equiv|assoc|required)\\b",
232 "name": "storage.modifier.perl"
233 },
234 {
235 "match": "\\b(NaN|Inf)\\b",
236 "name": "constant.numeric.perl"
237 },
238 {
239 "match": "\\b(oo|fatal)\\b",
240 "name": "keyword.other.pragma.perl"
241 },
242 {
243 "match": "\\b(Object|Any|Junction|Whatever|Capture|MatchSignature|Proxy|Matcher|Package|Module|ClassGrammar|Scalar|Array|Hash|KeyHash|KeySet|KeyBagPair|List|Seq|Range|Set|Bag|Mapping|Void|UndefFailure|Exception|Code|Block|Routine|Sub|MacroMethod|Submethod|Regex|Str|str|Blob|Char|ByteCodepoint|Grapheme|StrPos|StrLen|Version|NumComplex|num|complex|Bit|bit|bool|True|FalseIncreasing|Decreasing|Ordered|Callable|AnyCharPositional|Associative|Ordering|KeyExtractorComparator|OrderingPair|IO|KitchenSink|RoleInt|int|int1|int2|int4|int8|int16|int32|int64Rat|rat|rat1|rat2|rat4|rat8|rat16|rat32|rat64Buf|buf|buf1|buf2|buf4|buf8|buf16|buf32|buf64UInt|uint|uint1|uint2|uint4|uint8|uint16|uint32uint64|Abstraction|utf8|utf16|utf32)\\b",
244 "name": "support.type.perl6"
245 },
246 {
247 "match": "\\b(div|xx|x|mod|also|leg|cmp|before|after|eq|ne|le|lt|not|gt|ge|eqv|ff|fff|and|andthen|or|xor|orelse|extra|lcm|gcd)\\b",
248 "name": "keyword.operator.perl"
249 },
250 {
251 "match": "(\\$|@|%|&)(\\*|:|!|\\^|~|=|\\?|(<(?=.+>)))?([a-zA-Z_\\x{C0}-\\x{FF}\\$])([a-zA-Z0-9_\\x{C0}-\\x{FF}\\$]|[\\-'][a-zA-Z0-9_\\x{C0}-\\x{FF}\\$])*",
252 "name": "variable.other.identifier.perl.6"
253 },
254 {
255 "match": "\\b(eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints|chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin|classify|first|sum|keys|values|pairs|defined|delete|exists|elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push|shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign|sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2|pick|chop|p5chop|chomp|p5chomp|lc|lcfirst|uc|ucfirst|capitalize|normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars|nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead|nothing|want|bless|chr|ord|gmtime|time|eof|localtime|gethost|getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs|codes|bytes|clone|print|open|read|write|readline|say|seek|close|opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink|symlink|uniq|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan|sinh|cosh|tanh|asinh|done|acos|acosh|atanh|sech|cosech|cotanh|sech|acosech|acotanh|asech|ok|nok|plan_ok|dies_ok|lives_ok|skip|todo|pass|flunk|force_todo|use_ok|isa_ok|diag|is_deeply|isnt|like|skip_rest|unlike|cmp_ok|eval_dies_ok|nok_error|eval_lives_ok|approx|is_approx|throws_ok|version_lt|plan|EVAL|succ|pred|times|nonce|once|signature|new|connect|operator|undef|undefine|sleep|from|to|infix|postfix|prefix|circumfix|postcircumfix|minmax|lazy|count|unwrap|getc|pi|e|context|void|quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity|assuming|rewind|callwith|callsame|nextwith|nextsame|attr|eval_elsewhere|none|srand|trim|trim_start|trim_end|lastcall|WHAT|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not|true|iterator|by|re|im|invert|flip|gist|flat|tree|is-prime|throws_like|trans)\\b",
256 "name": "support.function.perl"
257 }
258 ],
259 "repository": {
260 "qq_brace_string_content": {
261 "begin": "{",
262 "end": "}",
263 "patterns": [
264 {
265 "include": "#qq_brace_string_content"
266 }
267 ]
268 },
269 "qq_bracket_string_content": {
270 "begin": "\\[",
271 "end": "\\]",
272 "patterns": [
273 {
274 "include": "#qq_bracket_string_content"
275 }
276 ]
277 },
278 "qq_double_string_content": {
279 "begin": "\"",
280 "end": "\"",
281 "patterns": [
282 {
283 "include": "#qq_double_string_content"
284 }
285 ]
286 },
287 "qq_paren_string_content": {
288 "begin": "\\(",
289 "end": "\\)",
290 "patterns": [
291 {
292 "include": "#qq_paren_string_content"
293 }
294 ]
295 },
296 "qq_single_string_content": {
297 "begin": "'",
298 "end": "'",
299 "patterns": [
300 {
301 "include": "#qq_single_string_content"
302 }
303 ]
304 },
305 "qq_slash_string_content": {
306 "begin": "\\\\/",
307 "end": "\\\\/",
308 "patterns": [
309 {
310 "include": "#qq_slash_string_content"
311 }
312 ]
313 }
314 }
315 }
316