github-linguist 6.0.1 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +13 -4
  3. data/grammars/hint.haskell.json +13 -4
  4. data/grammars/hint.message.haskell.json +13 -4
  5. data/grammars/hint.type.haskell.json +13 -4
  6. data/grammars/source.angelscript.json +1 -1
  7. data/grammars/source.ballerina.json +25 -2
  8. data/grammars/source.batchfile.json +69 -38
  9. data/grammars/source.c.json +1 -1
  10. data/grammars/source.clarion.json +4 -4
  11. data/grammars/source.cs.json +3952 -780
  12. data/grammars/source.elixir.json +7 -7
  13. data/grammars/source.fortran.json +38 -35
  14. data/grammars/source.fortran.modern.json +6 -6
  15. data/grammars/source.graphql.json +55 -2
  16. data/grammars/source.haskell.json +13 -4
  17. data/grammars/source.hsig.json +13 -4
  18. data/grammars/source.hx.json +2309 -0
  19. data/grammars/source.hxml.json +37 -5
  20. data/grammars/source.isabelle.theory.json +7 -7
  21. data/grammars/source.js.json +39 -54
  22. data/grammars/source.js.regexp.json +11 -5
  23. data/grammars/source.julia.json +16 -5
  24. data/grammars/{source.Kotlin.json → source.kotlin.json} +118 -33
  25. data/grammars/source.mathematica.json +0 -1
  26. data/grammars/source.meson.json +4 -0
  27. data/grammars/source.mupad.json +36 -12
  28. data/grammars/source.netlinx.erb.json +1 -2
  29. data/grammars/source.netlinx.json +0 -3
  30. data/grammars/source.nextflow.json +7 -7
  31. data/grammars/source.perl.json +1 -1
  32. data/grammars/source.renpy.json +436 -648
  33. data/grammars/source.scala.json +133 -87
  34. data/grammars/source.sed.json +1520 -0
  35. data/grammars/source.shell.json +17 -17
  36. data/grammars/source.solidity.json +1 -1
  37. data/grammars/source.swift.json +1 -1
  38. data/grammars/source.terraform.json +1 -1
  39. data/grammars/source.ts.json +493 -122
  40. data/grammars/source.tsx.json +568 -191
  41. data/grammars/source.x86.json +295 -0
  42. data/grammars/source.yaml.json +41 -21
  43. data/grammars/source.yara.json +1 -1
  44. data/grammars/text.haml.json +15 -0
  45. data/grammars/text.html.creole.json +1 -1
  46. data/grammars/text.html.php.blade.json +2 -2
  47. data/grammars/text.html.php.json +55 -134
  48. data/grammars/text.html.smarty.json +25 -1
  49. data/grammars/text.html.vue.json +0 -6
  50. data/grammars/text.restructuredtext.json +110 -17
  51. data/grammars/text.tex.latex.haskell.json +13 -4
  52. data/lib/linguist/documentation.yml +1 -0
  53. data/lib/linguist/generated.rb +9 -1
  54. data/lib/linguist/heuristics.rb +2 -0
  55. data/lib/linguist/language.rb +0 -8
  56. data/lib/linguist/languages.json +1 -1
  57. data/lib/linguist/languages.yml +103 -7
  58. data/lib/linguist/linguist.bundle +0 -0
  59. data/lib/linguist/samples.json +1221 -262
  60. data/lib/linguist/shebang.rb +7 -4
  61. data/lib/linguist/strategy/extension.rb +15 -2
  62. data/lib/linguist/strategy/filename.rb +15 -2
  63. data/lib/linguist/vendor.yml +7 -0
  64. data/lib/linguist/version.rb +1 -1
  65. metadata +17 -19
  66. data/grammars/source.erazor.json +0 -118
  67. data/grammars/source.haxe.2.json +0 -1267
  68. data/grammars/source.hss.1.json +0 -442
  69. data/grammars/source.nmml.json +0 -81
  70. data/grammars/source.sbt.json +0 -39
@@ -0,0 +1,295 @@
1
+ {
2
+ "name": "GAS/AT\u0026T x86/x64",
3
+ "scopeName": "source.x86",
4
+ "patterns": [
5
+ {
6
+ "name": "entity.name.function.instructions",
7
+ "match": "\\b(?i:aa[adms]|adc[bwlq]?|x?add[bwlq]?|and[bwlq]?|arpl|bound[wl]?|bs[fr][wlq]?|bswap[lq]?|bt[crs]?[wlq]?|call[wlq]?|clc|cld|cli|cltd[dqw]?|clts|cmc|cmov(?:n?[abgl]e?|n?[ceosz]|np|p[eo]?)?[lqw]?|cmp[bwlq]?|cmps[bwdlq]?|cmpxchg[bwlq]?|cmpxchg(?:8|16)b|cpuid|c[lw]td[bwlq]?|daa|das|dec[bwlq]?|div[bwlq]?|enter[wl]?|esc|hlt|idiv[bwlq]?|imul[bwlq]?|in[bwlq]?|inc[bwlq]?|insd?[bwlq]?|int(?:\\s*3|o)?|inv(?:d|pcid)?|invlpg|iret[dfwq]?|j(?:n?[abgl]e?|n?[ceosz]|np|p[eo]?)|jmp[lq]?|j[er]?cxz|[ls]ahf|lar|lcall[wlq]?|l[d-gs]s[wl]|lea[bwlq]?|leave[lwq]?|l[defgs]s|[ls][gil]dt[wl]?|ljmp[wl]?|lmsw|loadall|lods[bwdlq]?|loop(?:n?[ez][dw]?)?|loopw|lret|lsl|ltr|mov(?:(s?(?:b[lwq]?|w[lq]?|lq?|q)?)|(?:z?(?:b[lwq]|w[lq]|l|q)))?|movd|movabs[bwlq]?A?|movs(?:x?d|w)|mov[sz]x[bwl]?|movzb|mul[bwlq]?|neg[bwlq]?|nop|not[bwlq]?|x?or[bwlq]?|out[bwlq]?|outs[bdwl]?|pop[bwlq]?|popal?|pop[af]d|popf[wlq]?|push[bwlq]?|pushal?|push[af]d|pushf[wlq]?|rc[lr][bwlq]?|(?:rd|wr)msr|rdtscp?|ret[fw]?[ql]?|ro[lr][bwlq]?|rsm|sa[lr][bwlq]?|sbb[bwlq]?|scas[bwdlq]?|set(?:n?[abgl]e?|n?[ceosz]|np|p[eo]?)b?|sh[lr]d?[bwlq]?|smsw|stc|std|sti|stos[bdqlw]?|str|sub[bwlq]?|swapgs|syscall|sysret|sysenter|sysexit|test[bwlq]?|ud1|ud2[ab]?|ver[rw]|fwait|wbinvd|xchg[bwlq]?A?|x[gs]etbv|xlatb?|xsave[cs]?(?:64)?|xrstors?(?:64)?)(?!:)\\b"
8
+ },
9
+ {
10
+ "name": "entity.name.function.conversion.instructions",
11
+ "match": "\\b(?i:cbw|cdqe?|cwde?|cdo|cqo|cbtw|cwt[ld]|clt[dq]|cqto)(?!:)\\b"
12
+ },
13
+ {
14
+ "name": "keyword.name.function.prefixes",
15
+ "match": "\\b(?i:rep(?:n?[ez])?|[c-gs]s|(?:addr|data)(?:16|32)|lock|wait|rex(?:64(?:xyz)?)?)(?!:)\\b"
16
+ },
17
+ {},
18
+ {
19
+ "name": "entity.name.function.mmx_instructions",
20
+ "match": "\\b(?i:emms|movdq|mov[dq]b|pack(?:ssdw|[us]swb)|padd(?:[bdw]|u?s[bw])|pandn?|pcmp(?:eq|gt)[bdw]|pmaddwd|pmul[hl]w|psll[dqw]|psr(?:a[dw]|l[dqw])|psub(?:[bdw]|u?s[bw])|punpck[hl](?:bw|dq|wd)|px?or|rdpmc)(?!:)\\b"
21
+ },
22
+ {
23
+ "name": "entity.name.function.sse",
24
+ "match": "\\b(?i:maskmovq|movntps|movntq|prefetcht[012]|prefetchnta|sfence)(?!:)\\b"
25
+ },
26
+ {
27
+ "name": "entity.name.function.sse_simd",
28
+ "match": "\\b(?i:add[sp]s|cmp[ps]s|u?comiss|cvt(?:p(?:i2ps|s2pi)|s(?:i2ss|s2sd)q?|t(?:ps2pi|s[sd]2siq?))|div[ps]s|ldmxcsr|(?:max|min)[ps]s|mov(?:a|hl?|lh?|msk|nt)ps|v?mov(?:s|up)s|mul[ps]s|rcp[ps]s|r?sqrt[ps]s|shufps|stmxcsr|sub[ps]s|unpck[hl]ps|andn?ps|x?orps|pavg[bw]|pextrw|pminsrw|p(?:max|min)(?:sw|ub)|pmovmskb|pmulhuw|psadbw|pshufw)(?!:)\\b"
29
+ },
30
+ {
31
+ "name": "entity.name.function.sse2",
32
+ "match": "\\b(?i:clflush|[lm]fence|maskmovdqu|v?movnt(?:dq|i[lw]?|pd)|pause)(?!:)\\b"
33
+ },
34
+ {
35
+ "name": "entity.name.function.sse2_simd",
36
+ "match": "\\b(?i:v?add[ps][ds]|andn?pd|bzhi[wl]?|cmp[ps]d|u?comisd|cvtdq2p[ds]|cvtt?pd2(?:dq|pi)|cvtpd2ps|cvtp[is]2pd|cvtt?ps2dq|cvtt?sd2s[is]|cvts[is]2sd|div[ps][ds]|v?(?:max|min)[ps][ds]|v?mov[ahlu]pd|v?movmskpd|v?mul[ps]d|x?orpd|shufpd|sqrt[ps]d|sub[ps]d|unpck[hl]pd|unpcklpd|movdq(?:2q|[au])|movq2dq|paddq|psubq|pmuludq|pshuf(?:[hl]w|d)|ps[lr]ldq|punpck[hl]qdq)(?!:)\\b"
37
+ },
38
+ {
39
+ "name": "entity.name.function.sse3",
40
+ "match": "\\b(?i:lddqu|monitor|mwait)(?!:)\\b"
41
+ },
42
+ {
43
+ "name": "entity.name.function.ssse3_simd",
44
+ "match": "\\b(?i:addsubp[ds]|haddp[ds]|hsubp[ds]|v?mov(?:d|s[hl])dup|psign[bdw]|pshufb|pmulhrsw|pmaddubsw|phsub(?:s?w|d)|phadd(?:s?w|d)|palignr|pabs[bdw])(?!:)\\b"
45
+ },
46
+ {
47
+ "name": "entity.name.function.sse4_simd",
48
+ "match": "\\b(?i:v?mpsadbw|phminposuw|pmul(?:ld|dq)|dpp[ds]|blendv?p[ds]|pblendvb|pblendw|pswapd|p(?:max|min)(?:s[bd]|u[wd])|roundp[ds]|rounds[ds]|insertps|pinsr[bwdq]|extractps|pextr[bdq]|pmov[sz]xb[dwq]|pmov[sz]xw[dq]|pmov[sz]xdq|pmov[sz]x|ptest|pcmpeqq|packusdw|v?movntdqa|lzcnt|popcnt|extrq|insertq|movnts[ds]|crc32|pcmp[ei]str[im]|pcmpgtq)(?!:)\\b"
49
+ },
50
+ {
51
+ "name": "entity.name.function.fpu_x87",
52
+ "match": "\\b(?i:f(?:2xm1|abs|add[psl]?|bld|b?stp|chs|n?clex|fcomp?l|u?comp{0,2}|decstp|n?disi|divr?[psl]?|n?eni|nsetpm|rstpm|free(?:p|\\s*ST)?|iadd[sl]?|icomp?|idivr?[sl]?|ildl?|imul[sl]?|incstp|n?init|ist(?:(?:pl?|l)|tp)?|isubr?[sl]?|ld[1slt]?|ldcw|ldenv[dw]?|ldl2[et]|ldl[gn]2|ldpi|ldz|mul[psl]?|nop|n?stenv[wd]?|n?stsw|pa?tan|prem1?|rndint|rstor[dw]?|n?savew?|scale|sqrt|st(?:p?[slt])|n?stcw|subr?[psl]?|tst|wait|xam|xch|xtract|yl2x(?:p1)?|setpm|cos|saved|sin(?:cos)?|cmovn?b?e?|cmovn?u|u?comip?|xrstor(?:64)?|xsave(?:64)?))(?!:)\\b"
53
+ },
54
+ {
55
+ "name": "entity.name.function.aes_functions",
56
+ "match": "\\b(?i:v?aes(?:en|de)c(?:last)?|v?aeskeygenassist|aesimc)(?!:)\\b"
57
+ },
58
+ {
59
+ "name": "entity.name.function.sha_functions",
60
+ "match": "\\b(?i:sha(?:(?:1|256)msg[12]|1nexte|1rnds4|256rnds2))(?!:)\\b"
61
+ },
62
+ {
63
+ "name": "entity.name.function.bmi1",
64
+ "match": "\\b(?i:andn[lq]?|bextr[lq]?|blsi[lq]?|blsmsk[lq]?|blsr[dlq]?|tzcnt[wlq]?)(?!:)\\b"
65
+ },
66
+ {
67
+ "name": "entity.name.function.bmi2",
68
+ "match": "\\b(?i:mulx[lq]?|pdep[lq]?|pext[lq]?|rorx[lq]?|s(?:h[lr]|ar)x)(?!:)\\b"
69
+ },
70
+ {
71
+ "name": "entity.name.function.adx",
72
+ "match": "\\b(?i:ad[co]x)l?(?!:)\\b"
73
+ },
74
+ {
75
+ "name": "entity.name.function.clmul",
76
+ "match": "\\b(?i:pclmulqdq)(?!:)\\b"
77
+ },
78
+ {
79
+ "name": "entity.name.function.prefetchwt",
80
+ "match": "\\b(?i:prefetchw(t1)?)(?!:)\\b"
81
+ },
82
+ {
83
+ "name": "entity.name.function.amd3DNow",
84
+ "match": "\\b(?i:prefetch|femms|pavgusb|pf2id|pfacc|pfadd|pfcmpeq|pfcmpge|pfcmpgt|pfmax|pfmin|pfmul|pfrcp|pfrcpit[12]|pfrsqit1|pfrsqrt|pfsubr?|pi2fd|pmulhrw)\\b"
85
+ },
86
+ {
87
+ "name": "entity.name.function.amdnops",
88
+ "match": "\\b(?:nop[lwq])"
89
+ },
90
+ {
91
+ "name": "entity.name.function.clflushopt",
92
+ "match": "\\b(?i:clflushopt)(?!:)\\b"
93
+ },
94
+ {
95
+ "name": "entity.name.function.rdseed",
96
+ "match": "\\b(?i:rdseed)(?!:)\\b"
97
+ },
98
+ {
99
+ "name": "entity.name.function.mpx",
100
+ "match": "\\b(?i:bnd(?:c[uln]|mk|stx))(?!:)\\b"
101
+ },
102
+ {
103
+ "name": "entity.name.function.fsgsbase",
104
+ "match": "\\b(?i:(?:rd|wr)[fg]sbase)(?!:)\\b"
105
+ },
106
+ {
107
+ "name": "entity.name.function.rdrand",
108
+ "match": "\\b(?i:rdrand)(?!:)\\b"
109
+ },
110
+ {
111
+ "name": "entity.name.function.AVX",
112
+ "match": "\\b(?i:vadd(?:sub)?p[ds]|vandn?p[ds]|vblendv?p[ds]|vbroadcastf128|vbroadcasts[ds]|vroundp[ds]|vcmp[ps][ds]|vcvtdq2p[ds]|vcvtpd2(?:dq|ps)[xy]?|vcvtps2(?:dq|pd)|vcvttpd2dq[xy]?|vcvttps2dq|vdivp[ds]|vdpps|vextractf128|vh(?:add|sub)p[ds]|vinsertf128|vlddqu|vmovap[ds]|vmovd(?:q[au])?|vmovup[ds]|vmaskmovp[ds]|v(?:max|min)p[ds]|vmov(?:d|s[hl])?dup|vmovmskp[ds]|vmulp[ds]|vx?orp[ds]|vpermilp[ds]|vperm2f128|vrcpps|vrsqrtps|vpxor|vshufp[ds]|vsqrtp[ds]|vmovntp[ds]|vmovntdq|vsubp[ds]|vtestp[ds]|vptest|vunpck[lh]p[ds]|vzero(?:all|upper)|vpcmp[ei]str[im])(?!:)\\b"
113
+ },
114
+ {
115
+ "name": "entity.name.function.AVX2",
116
+ "match": "\\b(?i:vpabs[bdw]|vpadd[bdqw]|vpaddu?s[bw]|vpalignr|vpandn?|vpavg[bw]|vpblend[dw]|vpblendvb|vpbroadcast[bdqw]|movddup|vbroadcasts[ds]|vbroadcasti128|vps[lr]ldq|vpcmp(?:eq|gt)[bdqw]|vpmovsx(?:wd|wq|dq|bw)|v(?:extract|insert)i128|vperm2i128|vph(?:add|sub)(?:d|s?w)|vpmaskmov[dq]|vpmovmskb|vpor|vpsign[bdw]|vp(?:ext|ins)rq|vphminposuw|vaesimc)(?!:)\\b"
117
+ },
118
+ {
119
+ "name": "entity.name.function.AVX512",
120
+ "match": "\\b(?i:vpabs[bdqw]|vpandn?[dq]|vpadd[bdwq]|valignq|vpblendm[bdqw]|vbroadcast[if]32x[248]|vbroadcast[if]64x[24]|vpbroadcastm(?:b2q|w2d)|vpcmpu?[bdqw]|vcomis[ds]|vpcompress[dq]|vcompressp[ds]|vpconflict[dq]|vcvtqq2ps[xy]?|vcvtqq2pd|vcvtudq2p[ds]|vcvtuqq2pd|vcvtuqq2ps[xy]|vcvtsi2sd|vcvtsi2ssl?|vcvtt?p[ds]2u?[dq]q|vcvtt?sd2(?:u?si|s[is])|vcvtss2u?si|vcvtss2s[di]|vcvtusi2s[sd]l?|vpmov[sz]x(?:w[dq]|dq|b[wdq])|vpmovu?s?(?:wb|d[wb]|q[wdb])|vcvtts[ds]2u?si|vdbpsadbw|vdiv[ps][ds]|vexp2p[ds]|vpexpand[dq]|vexpandp[ds]|v(?:extract|insert)[fi]32x[48]|v(?:extract|insert)[if]64x[24]|vfixupimm[ps][ds]|vfpclassp[ds][xyz]?|vfpclasss[ds]|vgetexp[ps][ds]|vgetmant[ps][ds]|vp?(?:gather|scatter)[dq](?:ps|[qd]|pd)|kandn?w|kmovw|knotw|k(?:xn?)?orw|kortestw|kunpck(?:bw|dq|wd)|vmovq|vmovdqa(?:32|64)|vmovs[ds]|vmovdqu(?:8|16|32|64)|vplzcnt[dq]|vpmadd(?:wd|52[hl]uq|ubsw)|vp(?:max|min)[su][bdqw]|vpmov[bdqw]2m|vpmovm2[bdqw]|vpmulu?dq|vmulss|vpmulhu?w|vpmulhrsw|vpmull[dqw]|vpmultishiftqb|vpor[dq]|vpack[us]s(?:wb|dw)|vperm[bdqw]|vpermp[ds]|vperm[it]2[bdqw]|vperm[it]2p[ds]|v(?:gather|scatter)pf[01][dq]p[ds]|v(?:range|reduce)[ps][ds]|vrcp(?:14|28)[ps][ds]|vpro[lr]v?[dq]|vrndscale[ps][ds]|vrsqrt(?:14|28)[ps][ds]|vpsadbw|vscalef[ps][ds]|vpxor[dq]|vpshuf[bd]|vshuf[if]32x4|vshuf[if]64x2|vpshuf[hl]w|vpsllv?[wdq]|vsqrts[ds]|vpsr[al]v?[dqw]|vpsub[bdqw]|vsubs[ds]|vpsubu?s[bw]|vpternlog[dq]|vptestn?m[bdqw]|vpunpck[hl](?:wd|q?dq|bw)|vpxord|vucomis[ds]|vcvtpd2udq[xy]|vpclmul[lh]q[lh]qdq)(?!:)\\b"
121
+ },
122
+ {
123
+ "name": "entity.name.function.AVX512BW",
124
+ "match": "\\b(?i:k(?:andn?|or|xn?or|not|ortest|test|shift[rl]w?|mov[qd]|add)[dq]|cmp(?:eq|le|lt|neq|nle[p]s|nlt|ord|unord)[ps]s)(?!:)\\b"
125
+ },
126
+ {
127
+ "name": "entity.name.function.AVX512DQ",
128
+ "match": "\\b(?i:k(?:andn?b|orb|xn?orb|notb|ortestb|test[bw]|shift[rl]b|movb|add[bw])[bw])(?!:)\\b"
129
+ },
130
+ {
131
+ "name": "entity.name.function.F16c",
132
+ "match": "\\b(?i:vcvt(?:ph2ps|ps2ph))(?!:)\\b"
133
+ },
134
+ {
135
+ "name": "entity.name.function.FMA",
136
+ "match": "\\b(?i:vfn?m(?:(?:add(?:sub)?|sub(?:add)?)(?:(?:132|213|231)?[ps][ds])))(?!:)\\b"
137
+ },
138
+ {
139
+ "name": "entity.name.function.KNC",
140
+ "match": "\\b(?i:vpandn?[dq]|vpad[cd]d|vaddn?p[ds]|vpaddset[cs]d|vaddsetsps|valignd|vpblendm[dq]|vblendmp[ds]|clevict[01]|vpcmpu?d)(?!:)\\b"
141
+ },
142
+ {
143
+ "name": "entity.name.function.RTM",
144
+ "match": "\\b(?i:x(?:abort|begin|end|test))(?!:)\\b"
145
+ },
146
+ {
147
+ "name": "entity.name.function.HLE",
148
+ "match": "\\b(?i:x(?:acquire|release|test))(?!:)\\b"
149
+ },
150
+ {
151
+ "name": "entity.name.function.xsave",
152
+ "match": "\\b(?i:xsaveopt(?:64)?)(?!:)\\b"
153
+ },
154
+ {
155
+ "name": "entity.name.function.crc32",
156
+ "match": "\\b(?i:crc32[bwlq])(?!:)\\b"
157
+ },
158
+ {
159
+ "name": "entity.name.function.miscellaneous",
160
+ "match": "\\b(?i:xstorerng|vmxoff|getsec|vpclmulqdq|movbe|invept|invvpid|vmload|blcfill|v(?:ld|st)mxcsr)(?!:)\\b"
161
+ },
162
+ {},
163
+ {
164
+ "name": "comment.define",
165
+ "match": "^\\s*##.*$"
166
+ },
167
+ {
168
+ "name": "variable.parameter.other_keywords",
169
+ "match": "(?:#(?:alloc|write|execinstr|exclude|tls)|@(?:(?:prog|no)bits|note|(?:(?:pre)?init|fini)_array)|[#@%](?:(?:gnu_indirect_)?function|(?:tls_)?object|common|notype|gnu_unique_object)|comdat|\\.gnu\\.linkonce|discard|one_only|same_(?:size|contents)|STT_(?:(?:GNU_I)?FUNC|OBJECT|TLS|COMMON|NOTYPE))\\b"
170
+ },
171
+ {
172
+ "name": "support.constant.preprocessor",
173
+ "match": "^\\s*(?\u003c!#)(?:#(?:#(?!#)|(?:un)?assert|define|elif|else|endif|error|ident|(?:ifn?|un)?def|if|import|include(?:_next)?|line|pragma|sccs|warning))|__(?:FILE|LINE|DATE|TIME(?:STAMP)?|STDC_(?:VERSION|HOSTED)?|GNUC|GNUC_MINOR|GNUC_PATCHLEVEL|VERSION|STRICT_ANSI|BASE_FILE|INCLUDE_LEVEL|OPTIMIZE|OPTIMIZE_SIZE|NO_INLINE|CHAR_UNSIGNED|CHAR_BIT|INT_SHORT|SCHAR_MAX|SHRT_MAX|INT_MAX|LONG_MAX|LONG_LONG_MAX|REGISTER_PREFIX|USER_LABEL_PREFIX)__\\b"
174
+ },
175
+ {
176
+ "name": "invalid.warnings",
177
+ "match": "^\\s*(?:#\\s+(?:(?:un)?assert|define|elif|else|endif|error|ident|(?:ifn?|un)?def|if|import|include(?:_next)?|line|pragma|sccs|warning)\\b).*"
178
+ },
179
+ {
180
+ "name": "comment.assembly",
181
+ "match": "(?:#|//).*$"
182
+ },
183
+ {
184
+ "name": "comment.multiline",
185
+ "begin": "\\s*/\\*",
186
+ "end": "\\*/"
187
+ },
188
+ {
189
+ "name": "comment.slashes",
190
+ "match": "^[ \\t]*/.*$"
191
+ },
192
+ {
193
+ "name": "label.assembly",
194
+ "match": "((\\s+|;|^)(([A-Za-z$_.0-9]|C-[BA])+[:]))",
195
+ "captures": {
196
+ "3": {
197
+ "name": "keyword.label.assembly"
198
+ }
199
+ }
200
+ },
201
+ {
202
+ "name": "support.constant.alternatives",
203
+ "match": "\\b(?\u003c!\\.if )([A-Za-z$_.0-9]+)\\s*(==?)\\s*",
204
+ "captures": {
205
+ "0": {
206
+ "name": "variable.parameter.symbol"
207
+ },
208
+ "1": {
209
+ "name": "keyword.operator.assignment"
210
+ }
211
+ }
212
+ },
213
+ {
214
+ "name": "constant.numeric.float",
215
+ "match": "(?\u003c!\\w)(?i)0[DFT][+-]?(?:\\d+(?:\\.\\d*)|\\.\\d+)(?:e[+-]?[0-9]+)?"
216
+ },
217
+ {
218
+ "name": "constant.other.float",
219
+ "match": "(?\u003c!\\w)[$](?i)0[DFT][+-]?(?:\\d+(?:\\.\\d*)|\\.\\d+)(?:e[+-]?[0-9]+)?"
220
+ },
221
+ {
222
+ "name": "constant.numeric.hex",
223
+ "match": "(?\u003c!\\w)[-+~]?(?i)(?:0x)[A-F0-9]+\\b"
224
+ },
225
+ {
226
+ "name": "constant.other.hex",
227
+ "match": "(?\u003c!\\w)[$][-+~]?(?i)(?:0x)[A-F0-9]+\\b"
228
+ },
229
+ {
230
+ "name": "constant.numeric.binary",
231
+ "match": "(?\u003c!\\w)[-+~]?(?:0[Bb])[01]+\\b"
232
+ },
233
+ {
234
+ "name": "constant.other.binary",
235
+ "match": "(?\u003c!\\w)[$][-+~]?(?:0[Bb])[01]+\\b"
236
+ },
237
+ {
238
+ "name": "constant.numeric.octal",
239
+ "match": "(?\u003c!\\w)[-+~]?0[0-7]*\\b"
240
+ },
241
+ {
242
+ "name": "constant.other.octal",
243
+ "match": "(?\u003c!\\w)[$][-+~]?0[0-7]*\\b"
244
+ },
245
+ {
246
+ "name": "constant.numeric.decimal",
247
+ "match": "(?\u003c!\\w)[-+~]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?[0-9]+)?(?=[-\\s,;\u003c\u003e/+~$%(?:)]|$)"
248
+ },
249
+ {
250
+ "name": "constant.other.decimal",
251
+ "match": "(?\u003c!\\w)[$][-+~]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?[0-9]+)?(?=[-\\s,;\u003c\u003e/+~$%(?:){}]|$)"
252
+ },
253
+ {
254
+ "name": "constant.character",
255
+ "match": "(?\u003c!\\w)[$]?(?i)'(?:[!-\\[\\]-~]|\\\\(?:[\\\\bfnrt]|x[0-9a-f]{1,2}|[0-9]{3}))(?!')"
256
+ },
257
+ {
258
+ "name": "string.quoted",
259
+ "match": "(?:\".*?(?:[^\\\\](?:[\\\\][\\\\])*)\"|\u003c.*?(?:[^\\\\](?:[\\\\][\\\\])*)\u003e)"
260
+ },
261
+ {
262
+ "name": "variable.parameter.registers",
263
+ "match": "%\\s*(?i:[er]?[a-d]x|[a-d][lh]|[re]?s[ip]|s[ip]l|[re]?di|dil|[re]?bp|bpl|[c-gs]s|[re]?ip|e?flags|db(?:[0236-9]|1[0-5]?)|tr[0267]?|st(?!\\(?:(?:[89]|\\d{2,})\\))|esp[0-2]|[xy]?mm(?:[02-9]|1[0-5]?)|zmm(?:[4-9]|[12][0-9]?|3[10]?)|xmcrt|[gli]dtr|[cd]r(?:[02-9]|1[0-5]?)|msr|r(?:[89]|1[0-5])[dwb]?|[cst]w|fp_(?:[id]p|[cd]s|opc)|mxcsr|msw)\\b"
264
+ },
265
+ {
266
+ "name": "variable.parameter.opmaskregs",
267
+ "match": "%\\s*(?:k[0-7])\\b"
268
+ },
269
+ {
270
+ "name": "invalid.weirdland.eiz",
271
+ "match": "%\\s*[er]iz\\b"
272
+ },
273
+ {
274
+ "name": "invalid.instructions",
275
+ "match": "\\b(?i:movz(?:lq)?)\\b"
276
+ },
277
+ {
278
+ "name": "invalid.directives",
279
+ "match": "(?\u003c!\\w)\\.(?i:abort|line|ln|loc_mark_blocks|intel_syntax(?:\\s*(?:no)?prefix)?|att_syntax\\s*noprefix)\\b"
280
+ },
281
+ {
282
+ "name": "support.constant.subsections",
283
+ "match": "(?\u003c!\\w)(?i:\\.(?:allow_index_reg|app-file|asci[iz]|b?align|bundle_(?:align_mode|(?:un)?lock)|bss|[42]?byte|cfi_(?:sections|startproc|endproc|personality|lsda|def_cfa|def_cfa_register|def_cfa_offset|adjust_cfa_offset|offset|rel_offset|register|restore|undefined|same_value|remember_state|return_column|signal_frame|window_save|escape|val_encoded_addr)|code(?:16(?:gcc)?|32|64)|data|def|desc|dim|double|eject|else(?:if)?|end(?:[ei]f|func|[mr])?|exitm|equ(?:iv)?|eqv|err(?:or)?|extern|fail|file|fill|t?float|globa?l|hidden|hword|ident|if(?:def|eqs?|[gl][et]|n?[bc]|n(?:ot)?def|nes?)?|incbin|include|int(?:ernal)?|irpc?|l?comm|lflags|linkonce|loc(?:_mark_labels|al)?|mri|(?:no)?list|long|macro|(?:no)?altmacro|octa|operand_check|org|p2align[wl]?|(?:pop|push)?section|previous|print|protected|p?size|purgem|quad|rept|sbttl|scl|set|secrel32|short|single|skip|sleb128|space|sse_check|stab[dns]|string(?:8|16|32|64)?|struct|subsection|symver|tag|text|title|type|uleb128|val(?:ue)?|version|vtable_(?:entry|inherit)|warning|weak(?:ref)?|word|zero|att_syntax(?:\\s*prefix)?)\\b)|(?:LOCAL\\b)"
284
+ },
285
+ {
286
+ "name": "support.constant.arch_specification",
287
+ "match": "(?\u003c!\\w)\\.(?i:(arch) (i8086|i[1-6]86|pentium(pro|iii?|4)?|prescott|nocona|core(2|i7)?|[lk]1om|k6(_2)?|athlon|k8|amdfam10|bdver[1-3]|btver[12]|generic(32|64)|.(8087|[32]87|mmx|sse([235]|4(\\.[12]|a)?)?|ssse3|avx[2]?|[vs]mx|ept|clflush|movbe|xsave(opt)?|aes|pclmul|fma|fsgsbase|rdrnd|f16c|bmi2|lzcnt|invpcid|vmfunc|hle|rtm|adx|rdseed|prfchw|smap|mpx|sha|3dnowa?|syscall|rdtscp|svme|abm|lwp|fma4|xop|cx16|padlock|avx512(p?f|cd|er)?)))(,\\s*(no)?jumps)?",
288
+ "captures": {
289
+ "2": {
290
+ "name": "keyword.arch"
291
+ }
292
+ }
293
+ }
294
+ ]
295
+ }
@@ -22,8 +22,8 @@
22
22
  },
23
23
  {
24
24
  "contentName": "string.unquoted.block.yaml",
25
- "begin": "^(\\s*)(?!-\\s*)([^!@#%\u0026*\u003e,][^#]*\\S)\\s*(:)(?:\\s+((!)[^!\\s]+))?\\s+(?=\\||\u003e)",
26
- "end": "^(?!$)(?!\\1\\s+)",
25
+ "begin": "^(\\s*)(?:(-)|(?:(?:(-)(\\s*))?([^!@#%\u0026*\u003e,][^:#]*\\S)\\s*(:)))(?:\\s+((!)[^!\\s]+))?\\s+(?=\\||\u003e)",
26
+ "end": "^((?!$)(?!\\1\\s+)|(?=\\s\\4(-|[^\\s!@#%\u0026*\u003e,].*:\\s+)))",
27
27
  "patterns": [
28
28
  {
29
29
  "begin": "\\G",
@@ -43,23 +43,29 @@
43
43
  ],
44
44
  "beginCaptures": {
45
45
  "2": {
46
- "name": "entity.name.tag.yaml"
46
+ "name": "punctuation.definition.entry.yaml"
47
47
  },
48
48
  "3": {
49
+ "name": "punctuation.definition.entry.yaml"
50
+ },
51
+ "5": {
52
+ "name": "entity.name.tag.yaml"
53
+ },
54
+ "6": {
49
55
  "name": "punctuation.separator.key-value.yaml"
50
56
  },
51
- "4": {
57
+ "7": {
52
58
  "name": "keyword.other.tag.local.yaml"
53
59
  },
54
- "5": {
60
+ "8": {
55
61
  "name": "punctuation.definition.tag.local.yaml"
56
62
  }
57
63
  }
58
64
  },
59
65
  {
60
66
  "contentName": "string.unquoted.block.yaml",
61
- "begin": "^(\\s*)(?:(-)|(?:(?:(-)(\\s*))?([^!@#%\u0026*\u003e,][^#]*\\S)\\s*(:)))(?:\\s+((!)[^!\\s]+))?\\s+(?=\\||\u003e)",
62
- "end": "^((?!$)(?!\\1\\s+)|(?=\\s\\4(-|[^\\s!@#%\u0026*\u003e,].*:\\s+)))",
67
+ "begin": "^(\\s*)([^!@#%\u0026*\u003e,][^:#]*\\S)\\s*(:)(?:\\s+((!)[^!\\s]+))?\\s+(?=\\||\u003e)",
68
+ "end": "^(?!$)(?!\\1\\s+)",
63
69
  "patterns": [
64
70
  {
65
71
  "begin": "\\G",
@@ -79,21 +85,15 @@
79
85
  ],
80
86
  "beginCaptures": {
81
87
  "2": {
82
- "name": "punctuation.definition.entry.yaml"
83
- },
84
- "3": {
85
- "name": "punctuation.definition.entry.yaml"
86
- },
87
- "5": {
88
88
  "name": "entity.name.tag.yaml"
89
89
  },
90
- "6": {
90
+ "3": {
91
91
  "name": "punctuation.separator.key-value.yaml"
92
92
  },
93
- "7": {
93
+ "4": {
94
94
  "name": "keyword.other.tag.local.yaml"
95
95
  },
96
- "8": {
96
+ "5": {
97
97
  "name": "punctuation.definition.tag.local.yaml"
98
98
  }
99
99
  }
@@ -301,12 +301,32 @@
301
301
  ]
302
302
  },
303
303
  "numeric": {
304
- "match": "(((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?)\\s*($|(?=#)(?!#{))",
305
- "captures": {
306
- "1": {
307
- "name": "constant.numeric.yaml"
304
+ "patterns": [
305
+ {
306
+ "name": "constant.numeric.integer.yaml",
307
+ "match": "[-+]?[0-9]+(?=\\s*($|#(?!#{)))"
308
+ },
309
+ {
310
+ "name": "constant.numeric.octal.yaml",
311
+ "match": "0o[0-7]+(?=\\s*($|#(?!#{)))"
312
+ },
313
+ {
314
+ "name": "constant.numeric.hexadecimal.yaml",
315
+ "match": "0x[0-9a-fA-F]+(?=\\s*($|#(?!#{)))"
316
+ },
317
+ {
318
+ "name": "constant.numeric.float.yaml",
319
+ "match": "[-+]?(.[0-9]+|[0-9]+(.[0-9]*)?)([eE][-+]?[0-9]+)?(?=\\s*($|#(?!#{)))"
320
+ },
321
+ {
322
+ "name": "constant.numeric.float.yaml",
323
+ "match": "[-+]?(.inf|.Inf|.INF)(?=\\s*($|#(?!#{)))"
324
+ },
325
+ {
326
+ "name": "constant.numeric.float.yaml",
327
+ "match": "(.nan|.NaN|.NAN)(?=\\s*($|#(?!#{)))"
308
328
  }
309
- }
329
+ ]
310
330
  },
311
331
  "scalar-content": {
312
332
  "patterns": [
@@ -30,7 +30,7 @@
30
30
  },
31
31
  {
32
32
  "name": "keyword.yara",
33
- "match": "\\b(true|false|private|global|rule|strings|meta|condition|and|or|not|filesize|in|at|of|for|all|any|nocase|fullword|wide|ascii|entrypoint|them|int8|int16|int32|uint8|uint16|uint32|include|import|matches|contains)\\b"
33
+ "match": "\\b(true|false|private|global|rule|strings|meta|condition|and|or|not|filesize|in|at|of|for|all|any|nocase|fullword|wide|ascii|xor|entrypoint|them|int8|int16|int32|uint8|uint16|uint32|include|import|matches|contains)\\b"
34
34
  },
35
35
  {
36
36
  "name": "constant.numeric.yara",
@@ -285,6 +285,21 @@
285
285
  }
286
286
  }
287
287
  },
288
+ {
289
+ "name": "meta.embedded.ruby2js",
290
+ "begin": "^(\\s*)(:ruby2js)$",
291
+ "end": "^(?!\\1\\s+|\\n)",
292
+ "patterns": [
293
+ {
294
+ "include": "source.ruby"
295
+ }
296
+ ],
297
+ "captures": {
298
+ "2": {
299
+ "name": "entity.name.tag.haml"
300
+ }
301
+ }
302
+ },
288
303
  {
289
304
  "name": "meta.embedded.sass",
290
305
  "begin": "^(\\s*)(:sass)$",
@@ -98,7 +98,7 @@
98
98
  },
99
99
  "bold": {
100
100
  "name": "markup.bold.creole",
101
- "begin": "(?x)\n\t\t\t\t\t\t(\\*\\*)(?=\\S)\t\t\t\t\t\t\t\t\t# opening **\n\t\t\t\t\t\t(?=\t\t\t\t\t\t\t\t\t\t\t\t# zero-width positive lookahead\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t \u003c[^\u003e]*+\u003e\t\t\t\t\t\t# match any HTML tag\n\t\t\t\t\t\t\t | ~[\\\\*{}\\[\\]#\\|/\u003e]?+\t\t\t\t\t# or escape characters\n\t\t\t\t\t\t\t | \\[\t\t\t\t\t\t\t\t\t\t# or literal [\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t (?\u003csquare\u003e\t\t\t\t# named group\n\t\t\t\t\t\t\t\t\t\t\t[^\\[\\]~]\t\t\t\t\t# don't match these\n\t\t\t\t\t\t\t\t | ~.\t\t\t\t\t\t\t# or escaped characters\n\t\t\t\t\t\t\t\t | \\[ \\g\u003csquare\u003e*+ \\]\t# or nested group\n\t\t\t\t\t\t\t\t )*+\n\t\t\t\t\t\t\t\t\t\\]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t | (?!(?\u003c=\\S)\\1).\t\t\t\t\t\t# or everything else\n\t\t\t\t\t\t\t)++\n\t\t\t\t\t\t\t(?\u003c=\\S)\\1\t\t\t\t\t\t\t\t# closing **\n\t\t\t\t\t\t)\t\t\t\t\t\t\t\t\t\t\t\t# close positive lookahead\n\t\t\t\t\t",
101
+ "begin": "(?x)\n\t\t\t\t\t\t(?\u003c!\\*|^)(\\*\\*)(?=\\S)\t\t\t\t\t\t# opening **\n\t\t\t\t\t\t(?=\t\t\t\t\t\t\t\t\t\t\t\t# zero-width positive lookahead\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t \u003c[^\u003e]*+\u003e\t\t\t\t\t\t# match any HTML tag\n\t\t\t\t\t\t\t | ~[\\\\*{}\\[\\]#\\|/\u003e]?+\t\t\t\t\t# or escape characters\n\t\t\t\t\t\t\t | \\[\t\t\t\t\t\t\t\t\t\t# or literal [\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t (?\u003csquare\u003e\t\t\t\t# named group\n\t\t\t\t\t\t\t\t\t\t\t[^\\[\\]~]\t\t\t\t\t# don't match these\n\t\t\t\t\t\t\t\t | ~.\t\t\t\t\t\t\t# or escaped characters\n\t\t\t\t\t\t\t\t | \\[ \\g\u003csquare\u003e*+ \\]\t# or nested group\n\t\t\t\t\t\t\t\t )*+\n\t\t\t\t\t\t\t\t\t\\]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t | (?!(?\u003c=\\S)\\1).\t\t\t\t\t\t# or everything else\n\t\t\t\t\t\t\t)++\n\t\t\t\t\t\t\t(?\u003c=\\S)\\1\t\t\t\t\t\t\t\t# closing **\n\t\t\t\t\t\t)\t\t\t\t\t\t\t\t\t\t\t\t# close positive lookahead\n\t\t\t\t\t",
102
102
  "end": "(?\u003c=\\S)(\\1)",
103
103
  "patterns": [
104
104
  {
@@ -3576,7 +3576,7 @@
3576
3576
  {
3577
3577
  "name": "meta.directive.blade",
3578
3578
  "contentName": "source.php",
3579
- "begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n auth\n |break\n |can\n |cannot\n |case\n |choice\n |component\n |continue\n |dd\n |each\n |elsecan\n |elsecannot\n |elseif\n |empty\n |extends\n |for\n |foreach\n |forelse\n |guest\n |hassection\n |if\n |include\n |includefirst\n |includeif\n |includewhen\n |inject\n |isset\n |json\n |lang\n |method\n |php\n |prepend\n |push\n |section\n |slot\n |stack\n |switch\n |unless\n |unset\n |while\n |yield\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
3579
+ "begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n auth\n |break\n |can\n |cannot\n |case\n |choice\n |component\n |continue\n |dd\n |dump\n |each\n |elseauth\n |elsecan\n |elsecannot\n |elseguest\n |elseif\n |empty\n |extends\n |for\n |foreach\n |forelse\n |guest\n |hassection\n |if\n |include\n |includefirst\n |includeif\n |includewhen\n |inject\n |isset\n |json\n |lang\n |method\n |php\n |prepend\n |push\n |section\n |slot\n |stack\n |switch\n |unless\n |unset\n |while\n |yield\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
3580
3580
  "end": "\\)",
3581
3581
  "patterns": [
3582
3582
  {
@@ -3623,7 +3623,7 @@
3623
3623
  },
3624
3624
  {
3625
3625
  "name": "keyword.blade",
3626
- "match": "(?x)\n(?\u003c![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 (?i)append\n|(?i)auth\n|(?i)break\n|(?i)continue\n|(?i)csrf\n|(?i)default\n|(?i)else\n|(?i)empty\n|(?i)endauth\n|(?i)endcan\n|(?i)endcannot\n|(?i)endcomponent\n|(?i)endempty\n|(?i)endfor\n|(?i)endforeach\n|(?i)endforelse\n|(?i)endguest\n|(?i)endif\n|(?i)endisset\n|(?i)endlang\n|(?i)endprepend\n|(?i)endpush\n|(?i)endsection\n|(?i)endslot\n|(?i)endswitch\n|(?i)endunless\n|endverbatim\n|(?i)endwhile\n|(?i)guest\n|(?i)lang\n|(?i)overwrite\n|(?i)parent\n|(?i)show\n|(?i)stop\n|verbatim\n)\n\\b"
3626
+ "match": "(?x)\n(?\u003c![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 (?i)append\n|(?i)auth\n|(?i)break\n|(?i)continue\n|(?i)csrf\n|(?i)default\n|(?i)else\n|(?i)elseauth\n|(?i)elseguest\n|(?i)empty\n|(?i)endauth\n|(?i)endcan\n|(?i)endcannot\n|(?i)endcomponent\n|(?i)endempty\n|(?i)endfor\n|(?i)endforeach\n|(?i)endforelse\n|(?i)endguest\n|(?i)endif\n|(?i)endisset\n|(?i)endlang\n|(?i)endprepend\n|(?i)endpush\n|(?i)endsection\n|(?i)endslot\n|(?i)endswitch\n|(?i)endunless\n|endverbatim\n|(?i)endwhile\n|(?i)guest\n|(?i)lang\n|(?i)overwrite\n|(?i)parent\n|(?i)show\n|(?i)stop\n|verbatim\n)\n\\b"
3627
3627
  },
3628
3628
  {
3629
3629
  "name": "meta.embedded.block.blade",