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
@@ -7,15 +7,15 @@
7
7
  },
8
8
  {
9
9
  "name": "keyword.control.chapel",
10
- "match": "\\b(align|as|atomic|begin|borrowed|break|by|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|index|inline|in|inout|iter|label|lambda|let|local|module|new|noinit|on|only|otherwise|out|override|owned|pragma|private|proc|prototype|public|record|reduce|ref|require|return|scan|select|serial|shared|sync|then|throw|throws|try|union|unmanaged|use|var|when|where|while|with|yield|zip)\\b"
10
+ "match": "\\b(align|as|atomic|begin|borrowed|break|by|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|index|inline|in|inout|iter|label|lambda|let|lifetime|local|module|new|noinit|on|only|otherwise|out|override|owned|pragma|private|proc|prototype|public|record|reduce|require|return|scan|select|serial|shared|sync|then|throw|throws|try|union|unmanaged|use|when|where|while|with|yield|zip)\\b"
11
11
  },
12
12
  {
13
13
  "name": "storage.type.chapel",
14
- "match": "\\b(bool|complex|dmap|domain|imag|int|opaque|range|real|string|subdomain|tuple|uint)\\b"
14
+ "match": "\\b(bool|bytes|complex|dmap|domain|imag|int|nothing|opaque|range|real|string|subdomain|tuple|uint|void)\\b"
15
15
  },
16
16
  {
17
17
  "name": "storage.modifier.chapel",
18
- "match": "\\b(borrowed|config|const|enum|owned|param|private|public|single|shared|sparse|sync|type|unmanaged)\\b"
18
+ "match": "\\b(borrowed|config|const|enum|owned|param|private|public|ref|single|shared|sparse|sync|type|unmanaged|var)\\b"
19
19
  },
20
20
  {
21
21
  "name": "constant.language.chapel",
@@ -236,7 +236,7 @@
236
236
  },
237
237
  "illegal_names": {
238
238
  "name": "invalid.illegal.name.chapel",
239
- "match": "\\b(align|as|atomic|begin|borrowed|break|by|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|index|inline|in|inout|iter|label|lambda|let|local|module|new|noinit|on|only|otherwise|out|override|owned|pragma|private|proc|public|record|reduce|ref|require|return|scan|select|serial|shared|single|sync|then|throw|throws|try|union|unmanaged|use|var|when|where|while|with|yield|zip)\\b"
239
+ "match": "\\b(align|as|atomic|begin|borrowed|break|by|bytes|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|index|inline|in|inout|iter|label|lambda|let|lifetime|local|module|new|noinit|nothing|on|only|otherwise|out|override|owned|pragma|private|proc|public|record|reduce|ref|require|return|scan|select|serial|shared|single|sync|then|throw|throws|try|union|unmanaged|use|var|void|when|where|while|with|yield|zip)\\b"
240
240
  },
241
241
  "string_escaped_char": {
242
242
  "patterns": [
@@ -602,7 +602,7 @@
602
602
  "match": "\\bp\\d+\\b"
603
603
  },
604
604
  {
605
- "match": "(?:\\b(ATS(?:add(?:(?:nz)?)|bufread|cross|in(?:fo|terpread)|partialtap|read(?:(?:nz)?)|sinnoi)|FL(?:b(?:ox|ut(?:Bank|ton))|c(?:loseButton|o(?:lor(?:(?:2)?)|unt))|execButton|g(?:etsnap|roup(?:(?:(?:E|_e)nd)?))|h(?:ide|vsBox(?:(?:SetValue)?))|joy|k(?:eyIn|nob)|l(?:abel|oadsnap)|mouse|p(?:a(?:ck(?:(?:(?:E|_e)nd)?)|nel(?:(?:(?:E|_e)nd)?))|rintk(?:(?:2)?))|r(?:oller|un)|s(?:avesnap|croll(?:(?:(?:E|_e)nd)?)|et(?:Align|Box|Color(?:(?:2)?)|Font|Position|S(?:ize|napGroup)|Text(?:(?:Color|(?:Siz|Typ)e)?)|Val(?:(?:(?:(?:_)?)i)?)|snap)|how|lid(?:Bnk(?:(?:2(?:(?:Set(?:(?:k)?))?)|GetHandle|Set(?:(?:k)?))?)|er))|t(?:abs(?:(?:(?:E|_e)nd)?)|ext)|update|v(?:alue|keybd|slidBnk(?:(?:2)?))|xyin)|Jacko(?:Audio(?:In(?:(?:Connect)?)|Out(?:(?:Connect)?))|Freewheel|In(?:fo|it)|Midi(?:(?:InConnec|Ou(?:(?:tConnec)?))t)|NoteOut|On|Transport)|K35_(?:(?:[hl])pf)|Mixer(?:Clear|GetLevel|Receive|Se(?:nd|tLevel(?:(?:_i)?)))|OSC(?:bundle|count|init(?:(?:M)?)|listen|raw|send(?:(?:_lo)?))|STK(?:B(?:andedWG|eeThree|low(?:Botl|Hole)|owed|rass)|Clarinet|Drummer|F(?:MVoices|lute)|HevyMetl|M(?:andolin|o(?:dalBar|og))|P(?:ercFlut|lucked)|R(?:esonate|hodey)|S(?:axofony|hakers|i(?:mple|tar)|tifKarp)|TubeBell|VoicForm|W(?:histle|urley))|a(?:bs|ctive|ds(?:r|yn(?:(?:t(?:(?:2)?))?))|ftouch|l(?:pass|wayson)|mp(?:db(?:(?:fs)?)|midi(?:(?:d)?))|reson(?:(?:k)?)|tone(?:(?:[kx])?))|b(?:a(?:bo|lance(?:(?:2)?)|mboo|rmodel)|bcut(?:[ms])|e(?:adsynt|osc|(?:tara|xpr)nd)|form(?:(?:de|en)c1)|i(?:nit|quad(?:(?:a)?)|rnd)|pf(?:(?:cos)?)|qrez|u(?:t(?:b(?:[pr])|hp|lp|t(?:er(?:b(?:[pr])|(?:[hl])p)|on))|zz))|c(?:2r|a(?:basa|uchy(?:(?:i)?))|brt|e(?:il|ll|nt(?:(?:roid)?)|ps(?:(?:inv)?))|h(?:an(?:ctrl|ged(?:(?:2)?)|[io])|e(?:byshevpoly|ckbox)|n(?:_(?:[Sak])|clear|export|get(?:(?:ks)?)|mix|params|set(?:(?:ks)?))|uap)|l(?:ear|filt|ip|ocko(?:ff|n))|mp(?:(?:lxprod)?)|o(?:m(?:b(?:(?:inv)?)|p(?:ile(?:csd|orc|str)|ress(?:(?:2)?)))|n(?:nect|trol|v(?:(?:l|olv)e))|py(?:a2ftab|f2array)|s(?:(?:h|inv|seg(?:(?:[br])?))?))|p(?:s(?:2pch|midi(?:(?:b|nn)?)|oct|pch|t(?:mid|un(?:(?:i)?))|xpch)|u(?:meter|prc))|r(?:oss(?:2|fm(?:(?:i|pm(?:(?:i)?))?)|pm(?:(?:i)?))|unch)|t(?:lchn|rl(?:14|21|7|init))|userrnd)|d(?:a(?:m|te(?:(?:s)?))|b(?:(?:(?:(?:fs)?)amp)?)|c(?:block(?:(?:2)?)|onv|t(?:(?:inv)?))|e(?:interleave|l(?:ay(?:(?:[1krw])?)|tap(?:(?:xw|[3inx])?))|norm)|i(?:ff|ode_ladder|rectory|s(?:k(?:grain|in(?:(?:2)?))|p(?:fft|lay)|tort(?:(?:1)?))|vz)|o(?:ppler|t|wnsamp)|ripwater|ssi(?:a(?:ctivate|udio)|ctls|(?:ini|lis)t)|u(?:mpk(?:(?:[234])?)|s(?:errnd|t(?:(?:2)?))))|e(?:nvlpx(?:(?:r)?)|phasor|qfil|v(?:alstr|ent(?:(?:_i)?))|x(?:citer|itnow|p(?:(?:curve|on|rand(?:(?:i)?)|seg(?:(?:ba|[abr])?))?)))|f(?:a(?:reylen(?:(?:i)?)|ust(?:audio|c(?:ompile|tl)|dsp|gen|play))|ft(?:(?:inv)?)|i(?:close|l(?:e(?:bit|len|nchnls|peak|s(?:cal|r)|valid)|larray|ter2)|n(?:(?:[ik])?)|open)|l(?:a(?:nger|shtxt)|oo(?:per(?:(?:2)?)|r))|m(?:a(?:nal|x)|b(?:3|ell)|in|metal|od|percfl|(?:rhod|voic|wurli)e)|o(?:f(?:2|ilter)|l(?:d|low(?:(?:2)?))|scil(?:(?:i)?)|ut(?:(?:ir|[ik])?)|[fg])|print(?:(?:(?:k)?)s)|r(?:a(?:c(?:(?:talnoise)?)|mebuffer)|eeverb)|t(?:audio|c(?:hnls|onv|ps)|free|gen(?:(?:once|tmp)?)|l(?:en|oad(?:(?:k)?)|ptim)|morf|om|print|resize(?:(?:i)?)|s(?:a(?:mplebank|ve(?:(?:k)?))|lice|r)))|g(?:a(?:in(?:(?:slider)?)|uss(?:(?:i|trig)?))|buzz|e(?:n(?:array(?:(?:_i)?)|dy(?:(?:[cx])?))|t(?:c(?:fg|ol)|ftargs|row(?:(?:lin)?)|seed))|ogobel|ra(?:in(?:(?:[23])?)|nule)|uiro)|h(?:armon(?:(?:[234])?)|df5(?:read|write)|ilbert(?:(?:2)?)|rtf(?:early|move(?:(?:2)?)|reverb|stat)|sboscil|vs(?:[123])|ypot)|i(?:hold|mage(?:create|free|getpixel|load|s(?:ave|etpixel|ize))|n(?:(?:32|ch|it(?:(?:c(?:14|21|7))?)|let(?:kid|[afkv])|rg|s(?:global|remot)|te(?:g|r(?:leave|p))|value|[hoqstxz])?))|j(?:acktransport|itter(?:(?:2)?)|oystick|spline)|l(?:a_(?:i_(?:a(?:dd_(?:m(?:[cr])|v(?:[cr]))|ssign_(?:m(?:[cr])|t|v(?:[cr])))|conjugate_(?:m(?:[cr])|v(?:[cr]))|d(?:i(?:stance_v(?:[cr])|vide_(?:m(?:[cr])|v(?:[cr])))|ot_(?:m(?:c_vc|r_vr|[cr])|v(?:[cr])))|get_(?:m(?:[cr])|v(?:[cr]))|invert_m(?:[cr])|l(?:ower_solve_m(?:[cr])|u_(?:det_m(?:[cr])|factor_m(?:[cr])|solve_m(?:[cr])))|m(?:c_(?:create|set)|r_(?:create|set)|ultiply_(?:m(?:[cr])|v(?:[cr])))|norm(?:1_(?:m(?:[cr])|v(?:[cr]))|_(?:euclid_(?:m(?:[cr])|v(?:[cr]))|inf_(?:m(?:[cr])|v(?:[cr]))|max_m(?:[cr])))|print_(?:m(?:[cr])|v(?:[cr]))|qr_(?:eigen_m(?:[cr])|factor_m(?:[cr])|sym_eigen_m(?:[cr]))|random_(?:m(?:[cr])|v(?:[cr]))|s(?:ize_(?:m(?:[cr])|v(?:[cr]))|ubtract_(?:m(?:[cr])|v(?:[cr])))|t(?:_assign|ra(?:ce_m(?:[cr])|nspose_m(?:[cr])))|upper_solve_m(?:[cr])|v(?:c_(?:create|set)|r_(?:create|set)))|k_(?:a(?:_assign|dd_(?:m(?:[cr])|v(?:[cr]))|ssign_(?:m(?:[cr])|v(?:[cr])|[aft]))|c(?:onjugate_(?:m(?:[cr])|v(?:[cr]))|urrent_(?:f|vr))|d(?:i(?:stance_v(?:[cr])|vide_(?:m(?:[cr])|v(?:[cr])))|ot_(?:m(?:c_vc|r_vr|[cr])|v(?:[cr])))|f_assign|get_(?:m(?:[cr])|v(?:[cr]))|invert_m(?:[cr])|l(?:ower_solve_m(?:[cr])|u_(?:det_m(?:[cr])|factor_m(?:[cr])|solve_m(?:[cr])))|m(?:c_set|r_set|ultiply_(?:m(?:[cr])|v(?:[cr])))|norm(?:1_(?:m(?:[cr])|v(?:[cr]))|_(?:euclid_(?:m(?:[cr])|v(?:[cr]))|inf_(?:m(?:[cr])|v(?:[cr]))|max_m(?:[cr])))|qr_(?:eigen_m(?:[cr])|factor_m(?:[cr])|sym_eigen_m(?:[cr]))|random_(?:m(?:[cr])|v(?:[cr]))|subtract_(?:m(?:[cr])|v(?:[cr]))|t(?:_assign|race_m(?:[cr]))|upper_solve_m(?:[cr])|v(?:(?:[cr])_set)))|enarray|fo|i(?:mit(?:(?:1)?)|n(?:cos|e(?:(?:n(?:(?:r)?)|to)?)|k_(?:beat_(?:force|(?:ge|reques)t)|create|enable|is_enabled|metro|peers|tempo_(?:(?:[gs])et))|lin|rand|seg(?:(?:[br])?))|veconv)|o(?:cs(?:end|ig)|g(?:(?:10|2|btwo|curve)?)|op(?:seg(?:(?:p)?)|(?:[tx])seg)|renz|scil(?:(?:(?:(?:3)?)phs|[3x])?)|w(?:pass2|res(?:(?:x)?)))|p(?:f(?:18|orm|reson)|hasor|interp|oscil(?:(?:sa(?:(?:2)?)|[3a])?)|re(?:ad|son)|s(?:hold(?:(?:p)?)|lot))|ua_(?:exec|i(?:aopcall(?:(?:_off)?)|kopcall(?:(?:_off)?)|opcall(?:(?:_off)?))|opdef))|m(?:a(?:ca|dsr|gs|nd(?:(?:[eo])l)|parray(?:(?:_i)?)|rimba|ssign|x(?:_k|a(?:bs(?:(?:accum)?)|ccum|lloc|rray))|[cx])|clock|delay|e(?:dian(?:(?:k)?)|tro)|fb|i(?:d(?:global|i(?:arp|c(?:14|21|7|h(?:annelaftertouch|n)|ontrolchange|trl)|default|filestatus|in|noteo(?:ff|n(?:cps|key|oct|pch))|o(?:n(?:(?:2)?)|ut(?:(?:_i)?))|p(?:gm|itchbend|olyaftertouch|rogramchange)|tempo)|remot)|n(?:(?:a(?:bs(?:(?:accum)?)|ccum|rray)|cer)?)|rror)|o(?:d(?:e|matrix)|nitor|og(?:(?:ladder(?:(?:2)?)|vcf(?:(?:2)?))?)|scil)|p(?:3(?:bitrate|in|len|nchnls|s(?:cal|r))|ulse)|rtmsg|to(?:[fn])|u(?:ltitap|te)|vc(?:hpf|lpf(?:[1234]))|xadsr)|n(?:chnls_hw|estedap|l(?:alp|filt(?:(?:2)?))|o(?:ise|t(?:eo(?:ff|n(?:(?:dur(?:(?:2)?))?))|num))|r(?:everb|pn)|s(?:amp|t(?:ance|rnum))|t(?:om|rpol)|xtpow2)|o(?:ct(?:ave|cps|midi(?:(?:b|nn)?)|pch)|labuffer|sc(?:bnk|il(?:(?:1i|ikt(?:(?:[ps])?)|[13insx])?))|ut(?:(?:32|ch|i(?:at|c(?:(?:14)?)|p(?:at|[bc]))|k(?:at|c(?:(?:14)?)|p(?:at|[bc]))|let(?:kid|[afkv])|q(?:[1234])|rg|s(?:[12])|value|[choqsxz])?))|p(?:5g(?:connect|data)|a(?:n(?:(?:2)?)|r(?:eq|t(?:2txt|i(?:als|kkel(?:(?:get|s(?:et|ync))?))))|ssign|ulstretch)|c(?:auchy|h(?:bend|midi(?:(?:b|nn)?)|oct|tom)|o(?:nvolve|unt))|d(?:clip|half(?:(?:y)?))|eak|gm(?:(?:assig|ch)n)|h(?:as(?:er(?:[12])|or(?:(?:bnk)?))|s)|i(?:n(?:dex|k(?:er|ish))|tch(?:(?:a(?:c|mdf))?))|l(?:a(?:net|terev)|(?:ltra|u)ck)|o(?:isson|l(?:2rect|y(?:aft|nomial))|rt(?:(?:k)?)|scil(?:(?:3)?)|w(?:(?:ershape|oftwo|s)?))|r(?:e(?:alloc|piano)|int(?:(?:_type|array|f_i|k(?:s2|[2s])|[fks])?)|oduct)|set|t(?:able(?:(?:iw|[3iw])?)|rack)|uts|v(?:add|bufread|cross|interp|oc|read|s(?:2(?:array|tab)|a(?:dsyn|nal|rp)|b(?:and(?:[pr])|in|lur|uf(?:fer|read(?:(?:2)?)))|c(?:ale|e(?:nt|ps)|ross)|d(?:emix|is(?:kin|p))|envftw|f(?:ilter|r(?:e(?:ad|eze)|omarray)|t(?:[rw])|write)|gain|hift|i(?:fd|n(?:(?:fo|it)?))|lock|m(?:aska|ix|o(?:(?:ot|rp)h))|o(?:sc|ut)|pitch|t(?:anal|encil|race)|voc|warp|ynth))|wd|y(?:assign(?:(?:[it])?)|call(?:(?:1(?:[it])|2(?:[it])|3(?:[it])|4(?:[it])|5(?:[it])|6(?:[it])|7(?:[it])|8(?:[it])|ni|[12345678int])?)|e(?:val(?:(?:[it])?)|xec(?:(?:[it])?))|init|l(?:assign(?:(?:[it])?)|call(?:(?:1(?:[it])|2(?:[it])|3(?:[it])|4(?:[it])|5(?:[it])|6(?:[it])|7(?:[it])|8(?:[it])|ni|[12345678int])?)|e(?:val(?:(?:[it])?)|xec(?:(?:[it])?))|run(?:(?:[it])?))|run(?:(?:[it])?)))|q(?:inf|nan)|r(?:2c|and(?:(?:om(?:(?:[hi])?)|[hi])?)|bjeq|e(?:ad(?:clock|fi|k(?:[234s])|sc(?:ore|ratch)|[fk])|ct2pol|lease|mo(?:teport|ve)|pluck|s(?:hapearray|on(?:(?:xk|[krxyz])?)|yn)|verb(?:(?:2|sc)?)|windscore|zzy)|fft|ifft|ms|nd(?:(?:31)?)|ound|spline|tclock)|s(?:16b14|32b14|a(?:mphold|ndpaper)|c(?:_(?:lag(?:(?:ud)?)|phasor|trig)|a(?:le(?:(?:array)?)|n(?:hammer|table|[su]))|hed(?:kwhen(?:(?:named)?)|ule|when)|oreline(?:(?:_i)?))|e(?:ed|kere|lect|mitone|nse(?:(?:key)?)|qtime(?:(?:2)?)|rial(?:Begin|End|Flush|Print|Read|Write(?:(?:_i)?))|t(?:c(?:(?:o|tr)l)|ksmps|row|scorepos))|f(?:i(?:list|nstr(?:(?:3m|[3m])?))|lo(?:ad|oper)|p(?:assign|l(?:ay(?:(?:3m|[3m])?)|ist)|reset))|h(?:aker|ift(?:in|out))|i(?:gnum|n(?:(?:h|inv|syn)?))|l(?:eighbells|i(?:cearray(?:(?:_i)?)|der(?:16(?:(?:f|table(?:(?:f)?))?)|32(?:(?:f|table(?:(?:f)?))?)|64(?:(?:f|table(?:(?:f)?))?)|8(?:(?:f|table(?:(?:f)?))?)|Kawai)))|nd(?:loop|warp(?:(?:st)?))|o(?:ck(?:recv(?:(?:s)?)|send(?:(?:s)?))|rt(?:[ad])|undin)|p(?:a(?:ce|t3d(?:(?:[it])?))|dist|litrig|rintf(?:(?:k)?)|send)|q(?:rt|uinewave)|t(?:atevar|ix|r(?:c(?:at(?:(?:k)?)|har(?:(?:k)?)|mp(?:(?:k)?)|py(?:(?:k)?))|e(?:cv|son)|fromurl|get|index(?:(?:k)?)|l(?:en(?:(?:k)?)|ower(?:(?:k)?))|rindex(?:(?:k)?)|s(?:et|ub(?:(?:k)?))|to(?:(?:[dl])k|[dl])|upper(?:(?:k)?))|send)|u(?:binstr(?:(?:init)?)|m(?:(?:array)?))|vfilter|y(?:nc(?:grain|loop|phasor)|stem(?:(?:_i)?)))|t(?:a(?:b(?:2(?:array|pvs)|_i|ifd|le(?:(?:3kt|copy|filter(?:(?:i)?)|gpw|i(?:copy|gpw|kt|mix|w)|kt|mix|ng|ra|s(?:eg|huffle(?:(?:i)?))|w(?:a|kt)|x(?:kt|seg)|[3iw])?)|morph(?:(?:ak|[ai])?)|play|r(?:ec|owlin)|sum|w(?:(?:_i)?))|mbourine|n(?:h|inv(?:(?:2)?))|[bn])|bvcf|emp(?:est|o(?:(?:(?:sc|v)al)?))|i(?:me(?:dseq|inst(?:[ks])|[ks])|val)|lineto|one(?:(?:[kx])?)|r(?:a(?:dsyn|n(?:dom|seg(?:(?:[br])?)))|cross|filter|highest|i(?:g(?:ger|seq)|m(?:(?:_i)?)|rand)|lowest|mix|s(?:cale|(?:hif|pli)t))|urno(?:ff(?:(?:2)?)|n)|vconv)|u(?:n(?:irand|wrap)|psamp|r(?:andom|d))|v(?:a(?:ctrol|dd(?:(?:_i|v(?:(?:_i)?))?)|get|lpass|set)|bap(?:(?:gmove|lsinit|(?:(?:z)?)move|[gz])?)|c(?:ella|o(?:(?:2(?:(?:(?:f|i(?:f|ni))t)?)|mb|py(?:(?:_i)?))?))|d(?:el(?:_k|ay(?:(?:x(?:w(?:[qs])|[qsw])|[3kx])?))|ivv(?:(?:_i)?))|e(?:cdelay|loc|xp(?:(?:_i|seg|v(?:(?:_i)?))?))|i(?:b(?:es|r(?:(?:ato)?))|ncr)|l(?:i(?:mit|nseg)|owres)|m(?:ap|irror|ult(?:(?:_i|v(?:(?:_i)?))?))|o(?:ice|sim)|p(?:haseseg|o(?:rt|w(?:(?:_i|v(?:(?:_i)?))?))|voc)|rand(?:[hi])|subv(?:(?:_i)?)|tab(?:le(?:1k|w(?:[aik])|[aik])|w(?:[aik])|[aik])|wrap)|w(?:aveset|e(?:bsocket|ibull)|g(?:b(?:ow(?:(?:edbar)?)|rass)|clar|flute|pluck(?:(?:2)?)|uide(?:[12]))|i(?:i(?:connect|data|range|send)|ndow)|r(?:ap|itescratch)|terrain)|x(?:adsr|in|out|scan(?:map|smap|[su])|tratim|yscale)|z(?:a(?:cl|kinit|mod|rg|wm|[rw])|df_(?:1pole(?:(?:_mode)?)|2pole(?:(?:_mode)?)|ladder)|filter2|i(?:wm|[rw])|k(?:cl|mod|wm|[rw]))|[Saikp])\\b|\\b(array|bform(?:(?:de|en)c)|copy2(?:(?:[ft])tab)|hrtfer|ktableseg|lentab|m(?:(?:ax|in)tab)|p(?:op(?:(?:_f)?)|ush(?:(?:_f)?))|s(?:calet|ndload|oundout(?:(?:s)?)|pec(?:addm|di(?:ff|sp)|filt|hist|ptrk|s(?:cal|um)|trum)|tack|umtab)|t(?:ab(?:gen|map(?:(?:_i)?)|slice)|b(?:0_init|1(?:(?:(?:[012345])?)_init|[012345])|(?:[23456789])_init|[0123456789]))|vbap(?:16|(?:[48])move|[48])|xyin)\\b)(?:(\\:)([A-Za-z]))?",
605
+ "match": "(?:\\b(ATS(?:add(?:(?:nz)?)|bufread|cross|in(?:fo|terpread)|partialtap|read(?:(?:nz)?)|sinnoi)|FL(?:b(?:ox|ut(?:Bank|ton))|c(?:loseButton|o(?:lor(?:(?:2)?)|unt))|execButton|g(?:etsnap|roup(?:(?:(?:E|_e)nd)?))|h(?:ide|vsBox(?:(?:SetValue)?))|joy|k(?:eyIn|nob)|l(?:abel|oadsnap)|mouse|p(?:a(?:ck(?:(?:(?:E|_e)nd)?)|nel(?:(?:(?:E|_e)nd)?))|rintk(?:(?:2)?))|r(?:oller|un)|s(?:avesnap|croll(?:(?:(?:E|_e)nd)?)|et(?:Align|Box|Color(?:(?:2)?)|Font|Position|S(?:ize|napGroup)|Text(?:(?:Color|(?:Siz|Typ)e)?)|Val(?:(?:(?:(?:_)?)i)?)|snap)|how|lid(?:Bnk(?:(?:2(?:(?:Set(?:(?:k)?))?)|GetHandle|Set(?:(?:k)?))?)|er))|t(?:abs(?:(?:(?:E|_e)nd)?)|ext)|update|v(?:alue|keybd|slidBnk(?:(?:2)?))|xyin)|Jacko(?:Audio(?:In(?:(?:Connect)?)|Out(?:(?:Connect)?))|Freewheel|In(?:fo|it)|Midi(?:(?:InConnec|Ou(?:(?:tConnec)?))t)|NoteOut|On|Transport)|K35_(?:(?:[hl])pf)|Mixer(?:Clear|GetLevel|Receive|Se(?:nd|tLevel(?:(?:_i)?)))|OSC(?:bundle|count|init(?:(?:M)?)|listen|raw|send(?:(?:_lo)?))|STK(?:B(?:andedWG|eeThree|low(?:Botl|Hole)|owed|rass)|Clarinet|Drummer|F(?:MVoices|lute)|HevyMetl|M(?:andolin|o(?:dalBar|og))|P(?:ercFlut|lucked)|R(?:esonate|hodey)|S(?:axofony|hakers|i(?:mple|tar)|tifKarp)|TubeBell|VoicForm|W(?:histle|urley))|a(?:bs|ctive|ds(?:r|yn(?:(?:t(?:(?:2)?))?))|ftouch|l(?:pass|wayson)|mp(?:db(?:(?:fs)?)|midi(?:(?:curve|d)?))|reson(?:(?:k)?)|tone(?:(?:[kx])?))|b(?:a(?:bo|lance(?:(?:2)?)|mboo|rmodel)|bcut(?:[ms])|e(?:adsynt|osc|(?:tara|xpr)nd)|form(?:(?:de|en)c1)|i(?:nit|quad(?:(?:a)?)|rnd)|pf(?:(?:cos)?)|qrez|u(?:t(?:b(?:[pr])|hp|lp|t(?:er(?:b(?:[pr])|(?:[hl])p)|on))|zz))|c(?:2r|a(?:basa|uchy(?:(?:i)?))|brt|e(?:il|ll|nt(?:(?:roid)?)|ps(?:(?:inv)?))|h(?:an(?:ctrl|ged2|[io])|e(?:byshevpoly|ckbox)|n(?:_(?:[Sak])|clear|export|get(?:(?:ks|[aiks])?)|mix|params|set(?:(?:ks|[aiks])?))|uap)|l(?:ear|filt|ip|ocko(?:ff|n))|mp(?:(?:lxprod)?)|o(?:m(?:b(?:(?:inv)?)|p(?:ile(?:csd|orc|str)|ress(?:(?:2)?)))|n(?:nect|trol|v(?:(?:l|olv)e))|py(?:a2ftab|f2array)|s(?:(?:h|inv|seg(?:(?:[br])?))?))|p(?:s(?:2pch|midi(?:(?:b|nn)?)|oct|pch|t(?:mid|un(?:(?:i)?))|xpch)|u(?:meter|prc))|r(?:oss(?:2|fm(?:(?:i|pm(?:(?:i)?))?)|pm(?:(?:i)?))|unch)|t(?:lchn|rl(?:14|21|7|init))|userrnd)|d(?:a(?:m|te(?:(?:s)?))|b(?:(?:(?:(?:fs)?)amp)?)|c(?:block(?:(?:2)?)|onv|t(?:(?:inv)?))|e(?:interleave|l(?:ay(?:(?:[1krw])?)|tap(?:(?:xw|[3inx])?))|norm)|i(?:ff|ode_ladder|rectory|s(?:k(?:grain|in(?:(?:2)?))|p(?:fft|lay)|tort(?:(?:1)?))|vz)|o(?:ppler|t|wnsamp)|ripwater|ssi(?:a(?:ctivate|udio)|ctls|(?:ini|lis)t)|u(?:mpk(?:(?:[234])?)|s(?:errnd|t(?:(?:2)?))))|e(?:nvlpx(?:(?:r)?)|phasor|qfil|v(?:alstr|ent(?:(?:_i)?))|x(?:citer|itnow|p(?:(?:curve|on|rand(?:(?:i)?)|seg(?:(?:ba|[abr])?))?)))|f(?:a(?:reylen(?:(?:i)?)|ust(?:audio|c(?:ompile|tl)|dsp|gen|play))|ft(?:(?:inv)?)|i(?:close|l(?:e(?:bit|len|nchnls|peak|s(?:cal|r)|valid)|larray|ter2)|n(?:(?:[ik])?)|open)|l(?:a(?:nger|shtxt)|oo(?:per(?:(?:2)?)|r)|uid(?:AllOut|C(?:C(?:[ik])|ontrol)|Engine|Info|Load|Note|Out|ProgramSelect|SetInterpMethod))|m(?:a(?:nal|x)|b(?:3|ell)|in|metal|od|percfl|(?:rhod|voic|wurli)e)|o(?:f(?:2|ilter)|l(?:d|low(?:(?:2)?))|scil(?:(?:i)?)|ut(?:(?:ir|[ik])?)|[fg])|print(?:(?:(?:k)?)s)|r(?:a(?:c(?:(?:talnoise)?)|mebuffer)|eeverb)|t(?:audio|c(?:hnls|onv|ps)|exists|free|gen(?:(?:once|tmp)?)|l(?:en|oad(?:(?:k)?)|ptim)|morf|om|print|resize(?:(?:i)?)|s(?:a(?:mplebank|ve(?:(?:k)?))|lice|r)))|g(?:a(?:in(?:(?:slider)?)|uss(?:(?:i|trig)?))|buzz|e(?:n(?:array(?:(?:_i)?)|dy(?:(?:[cx])?))|t(?:c(?:fg|ol)|ftargs|row(?:(?:lin)?)|seed))|ogobel|ra(?:in(?:(?:[23])?)|nule)|tf|uiro)|h(?:armon(?:(?:[234])?)|df5(?:read|write)|ilbert(?:(?:2)?)|rtf(?:early|move(?:(?:2)?)|reverb|stat)|sboscil|vs(?:[123])|ypot)|i(?:hold|mage(?:create|free|getpixel|load|s(?:ave|etpixel|ize))|n(?:(?:32|ch|it(?:(?:c(?:14|21|7))?)|let(?:kid|[afkv])|rg|s(?:global|remot)|te(?:g|r(?:leave|p))|value|[hoqstxz])?))|j(?:acktransport|itter(?:(?:2)?)|oystick|spline)|l(?:a(?:_(?:i_(?:a(?:dd_(?:m(?:[cr])|v(?:[cr]))|ssign_(?:m(?:[cr])|t|v(?:[cr])))|conjugate_(?:m(?:[cr])|v(?:[cr]))|d(?:i(?:stance_v(?:[cr])|vide_(?:m(?:[cr])|v(?:[cr])))|ot_(?:m(?:c_vc|r_vr|[cr])|v(?:[cr])))|get_(?:m(?:[cr])|v(?:[cr]))|invert_m(?:[cr])|l(?:ower_solve_m(?:[cr])|u_(?:det_m(?:[cr])|factor_m(?:[cr])|solve_m(?:[cr])))|m(?:c_(?:create|set)|r_(?:create|set)|ultiply_(?:m(?:[cr])|v(?:[cr])))|norm(?:1_(?:m(?:[cr])|v(?:[cr]))|_(?:euclid_(?:m(?:[cr])|v(?:[cr]))|inf_(?:m(?:[cr])|v(?:[cr]))|max_m(?:[cr])))|print_(?:m(?:[cr])|v(?:[cr]))|qr_(?:eigen_m(?:[cr])|factor_m(?:[cr])|sym_eigen_m(?:[cr]))|random_(?:m(?:[cr])|v(?:[cr]))|s(?:ize_(?:m(?:[cr])|v(?:[cr]))|ubtract_(?:m(?:[cr])|v(?:[cr])))|t(?:_assign|ra(?:ce_m(?:[cr])|nspose_m(?:[cr])))|upper_solve_m(?:[cr])|v(?:c_(?:create|set)|r_(?:create|set)))|k_(?:a(?:_assign|dd_(?:m(?:[cr])|v(?:[cr]))|ssign_(?:m(?:[cr])|v(?:[cr])|[aft]))|c(?:onjugate_(?:m(?:[cr])|v(?:[cr]))|urrent_(?:f|vr))|d(?:i(?:stance_v(?:[cr])|vide_(?:m(?:[cr])|v(?:[cr])))|ot_(?:m(?:c_vc|r_vr|[cr])|v(?:[cr])))|f_assign|get_(?:m(?:[cr])|v(?:[cr]))|invert_m(?:[cr])|l(?:ower_solve_m(?:[cr])|u_(?:det_m(?:[cr])|factor_m(?:[cr])|solve_m(?:[cr])))|m(?:c_set|r_set|ultiply_(?:m(?:[cr])|v(?:[cr])))|norm(?:1_(?:m(?:[cr])|v(?:[cr]))|_(?:euclid_(?:m(?:[cr])|v(?:[cr]))|inf_(?:m(?:[cr])|v(?:[cr]))|max_m(?:[cr])))|qr_(?:eigen_m(?:[cr])|factor_m(?:[cr])|sym_eigen_m(?:[cr]))|random_(?:m(?:[cr])|v(?:[cr]))|subtract_(?:m(?:[cr])|v(?:[cr]))|t(?:_assign|race_m(?:[cr]))|upper_solve_m(?:[cr])|v(?:(?:[cr])_set)))|stcycle)|enarray|fo|i(?:mit(?:(?:1)?)|n(?:cos|e(?:(?:n(?:(?:r)?)|to)?)|k_(?:beat_(?:force|(?:ge|reques)t)|create|enable|is_enabled|metro|peers|tempo_(?:(?:[gs])et))|lin|rand|seg(?:(?:[br])?))|veconv)|o(?:cs(?:end|ig)|g(?:(?:10|2|btwo|curve)?)|op(?:seg(?:(?:p)?)|(?:[tx])seg)|renz|scil(?:(?:(?:(?:3)?)phs|[3x])?)|w(?:pass2|res(?:(?:x)?)))|p(?:f(?:18|orm|reson)|hasor|interp|oscil(?:(?:sa(?:(?:2)?)|[3a])?)|re(?:ad|son)|s(?:hold(?:(?:p)?)|lot))|ua_(?:exec|i(?:aopcall(?:(?:_off)?)|kopcall(?:(?:_off)?)|opcall(?:(?:_off)?))|opdef))|m(?:a(?:ca|dsr|gs|nd(?:(?:[eo])l)|parray(?:(?:_i)?)|rimba|ssign|x(?:_k|a(?:bs(?:(?:accum)?)|ccum|lloc|rray))|[cx])|clock|delay|e(?:dian(?:(?:k)?)|tro(?:(?:2)?))|fb|i(?:d(?:global|i(?:arp|c(?:14|21|7|h(?:annelaftertouch|n)|ontrolchange|trl)|default|filestatus|in|noteo(?:ff|n(?:cps|key|oct|pch))|o(?:n(?:(?:2)?)|ut(?:(?:_i)?))|p(?:gm|itchbend|olyaftertouch|rogramchange)|tempo)|remot)|n(?:(?:a(?:bs(?:(?:accum)?)|ccum|rray)|cer)?)|rror)|o(?:d(?:e|matrix)|nitor|og(?:(?:ladder(?:(?:2)?)|vcf(?:(?:2)?))?)|scil)|p(?:3(?:bitrate|in|len|nchnls|s(?:cal|r))|ulse)|rtmsg|to(?:[fn])|u(?:ltitap|te)|vc(?:hpf|lpf(?:[1234]))|xadsr)|n(?:chnls_hw|estedap|l(?:alp|filt(?:(?:2)?))|o(?:ise|t(?:eo(?:ff|n(?:(?:dur(?:(?:2)?))?))|num))|r(?:everb|pn)|s(?:amp|t(?:ance|r(?:num|str)))|t(?:o(?:[fm])|rpol)|xtpow2)|o(?:ct(?:ave|cps|midi(?:(?:b|nn)?)|pch)|labuffer|sc(?:bnk|il(?:(?:1i|ikt(?:(?:[ps])?)|[13insx])?))|ut(?:(?:32|ch|i(?:at|c(?:(?:14)?)|p(?:at|[bc]))|k(?:at|c(?:(?:14)?)|p(?:at|[bc]))|let(?:kid|[afkv])|q(?:[1234])|rg|s(?:[12])|value|[choqsxz])?))|p(?:5g(?:connect|data)|a(?:n(?:(?:2)?)|r(?:eq|t(?:2txt|i(?:als|kkel(?:(?:get|s(?:et|ync))?))))|ssign|ulstretch)|c(?:auchy|h(?:bend|midi(?:(?:b|nn)?)|oct|tom)|o(?:nvolve|unt))|d(?:clip|half(?:(?:y)?))|eak|gm(?:(?:assig|ch)n)|h(?:as(?:er(?:[12])|or(?:(?:bnk)?))|s)|i(?:n(?:dex|k(?:er|ish))|tch(?:(?:a(?:c|mdf))?))|l(?:a(?:net|terev)|(?:ltra|u)ck)|o(?:isson|l(?:2rect|y(?:aft|nomial))|rt(?:(?:k)?)|scil(?:(?:3)?)|w(?:(?:ershape|oftwo|s)?))|r(?:e(?:alloc|piano)|int(?:(?:_type|array|f_i|k(?:s2|[2s])|[fks])?)|oduct)|set|t(?:able(?:(?:[3iw])?)|rack)|uts|v(?:add|bufread|cross|interp|oc|read|s(?:2(?:array|tab)|a(?:dsyn|nal|rp)|b(?:and(?:[pr])|in|lur|uf(?:fer|read(?:(?:2)?)))|c(?:ale|e(?:nt|ps)|ross)|d(?:emix|is(?:kin|p))|envftw|f(?:ilter|r(?:e(?:ad|eze)|omarray)|t(?:[rw])|write)|gain|hift|i(?:fd|n(?:(?:fo|it)?))|lock|m(?:aska|ix|o(?:(?:ot|rp)h))|o(?:sc|ut)|pitch|t(?:anal|encil|race)|voc|warp|ynth))|wd|y(?:assign(?:(?:[it])?)|call(?:(?:1(?:[it])|2(?:[it])|3(?:[it])|4(?:[it])|5(?:[it])|6(?:[it])|7(?:[it])|8(?:[it])|ni|[12345678int])?)|e(?:val(?:(?:[it])?)|xec(?:(?:[it])?))|init|l(?:assign(?:(?:[it])?)|call(?:(?:1(?:[it])|2(?:[it])|3(?:[it])|4(?:[it])|5(?:[it])|6(?:[it])|7(?:[it])|8(?:[it])|ni|[12345678int])?)|e(?:val(?:(?:[it])?)|xec(?:(?:[it])?))|run(?:(?:[it])?))|run(?:(?:[it])?)))|q(?:inf|nan)|r(?:2c|and(?:(?:om(?:(?:[hi])?)|[chi])?)|bjeq|e(?:ad(?:clock|fi|k(?:[234s])|sc(?:ore|ratch)|[fk])|ct2pol|lease|mo(?:teport|ve)|pluck|s(?:hapearray|on(?:(?:xk|[krxyz])?)|yn)|verb(?:(?:2|sc)?)|windscore|zzy)|fft|ifft|ms|nd(?:(?:31)?)|ound|spline|tclock)|s(?:16b14|32b14|a(?:mphold|ndpaper)|c(?:_(?:lag(?:(?:ud)?)|phasor|trig)|a(?:le(?:(?:array)?)|n(?:hammer|table|[su]))|hed(?:kwhen(?:(?:named)?)|ule(?:(?:k)?)|when)|oreline(?:(?:_i)?))|e(?:ed|kere|lect|mitone|nse(?:(?:key)?)|qtime(?:(?:2)?)|rial(?:Begin|End|Flush|Print|Read|Write(?:(?:_i)?))|t(?:c(?:(?:o|tr)l)|ksmps|row|scorepos))|f(?:i(?:list|nstr(?:(?:3m|[3m])?))|lo(?:ad|oper)|p(?:assign|l(?:ay(?:(?:3m|[3m])?)|ist)|reset))|h(?:aker|ift(?:in|out))|i(?:gnum|n(?:(?:h|inv|syn)?))|l(?:eighbells|i(?:cearray(?:(?:_i)?)|der(?:16(?:(?:f|table(?:(?:f)?))?)|32(?:(?:f|table(?:(?:f)?))?)|64(?:(?:f|table(?:(?:f)?))?)|8(?:(?:f|table(?:(?:f)?))?)|Kawai)))|nd(?:loop|warp(?:(?:st)?))|o(?:ck(?:recv(?:(?:s)?)|send(?:(?:s)?))|rt(?:[ad])|undin)|p(?:a(?:ce|t3d(?:(?:[it])?))|dist|litrig|rintf(?:(?:k)?)|send)|q(?:rt|uinewave)|t(?:atevar|ix|r(?:c(?:at(?:(?:k)?)|har(?:(?:k)?)|mp(?:(?:k)?)|py(?:(?:k)?))|e(?:cv|son)|fromurl|get|in(?:dex(?:(?:k)?)|g2array)|l(?:en(?:(?:k)?)|ower(?:(?:k)?))|rindex(?:(?:k)?)|s(?:et|trip|ub(?:(?:k)?))|to(?:(?:[dl])k|[dl])|upper(?:(?:k)?))|send)|u(?:binstr(?:(?:init)?)|m(?:(?:array)?))|vfilter|y(?:nc(?:grain|loop|phasor)|stem(?:(?:_i)?)))|t(?:a(?:b(?:2(?:array|pvs)|_i|ifd|le(?:(?:3kt|copy|filter(?:(?:i)?)|gpw|i(?:copy|gpw|kt|mix)|kt|mix|ng|ra|s(?:eg|huffle(?:(?:i)?))|w(?:a|kt)|x(?:kt|seg)|[3iw])?)|morph(?:(?:ak|[ai])?)|play|r(?:ec|owlin)|sum|w(?:(?:_i)?))|mbourine|n(?:h|inv(?:(?:2)?))|[bn])|bvcf|emp(?:est|o(?:(?:(?:sc|v)al)?))|i(?:me(?:dseq|inst(?:[ks])|[ks])|val)|lineto|one(?:(?:[kx])?)|r(?:a(?:dsyn|n(?:dom|seg(?:(?:[br])?)))|cross|filter|highest|i(?:g(?:ger|seq)|m(?:(?:_i)?)|rand)|lowest|mix|s(?:cale|(?:hif|pli)t))|urno(?:ff(?:(?:2)?)|n)|vconv)|u(?:n(?:irand|wrap)|psamp|r(?:andom|d))|v(?:a(?:ctrol|dd(?:(?:_i|v(?:(?:_i)?))?)|get|lpass|set)|bap(?:(?:gmove|lsinit|(?:(?:z)?)move|[gz])?)|c(?:ella|o(?:(?:2(?:(?:(?:f|i(?:f|ni))t)?)|mb|py(?:(?:_i)?))?))|d(?:el(?:_k|ay(?:(?:x(?:w(?:[qs])|[qsw])|[3kx])?))|ivv(?:(?:_i)?))|e(?:cdelay|loc|xp(?:(?:_i|seg|v(?:(?:_i)?))?))|i(?:b(?:es|r(?:(?:ato)?))|ncr)|l(?:i(?:mit|nseg)|owres)|m(?:ap|irror|ult(?:(?:_i|v(?:(?:_i)?))?))|o(?:ice|sim)|p(?:haseseg|o(?:rt|w(?:(?:_i|v(?:(?:_i)?))?))|voc)|rand(?:[hi])|subv(?:(?:_i)?)|tab(?:le(?:1k|w(?:[aik])|[aik])|w(?:[aik])|[aik])|wrap)|w(?:aveset|e(?:bsocket|ibull)|g(?:b(?:ow(?:(?:edbar)?)|rass)|clar|flute|pluck(?:(?:2)?)|uide(?:[12]))|i(?:i(?:connect|data|range|send)|ndow)|r(?:ap|itescratch)|terrain)|x(?:adsr|in|out|scan(?:map|smap|[su])|tratim|yscale)|z(?:a(?:cl|kinit|mod|rg|wm|[rw])|df_(?:1pole(?:(?:_mode)?)|2pole(?:(?:_mode)?)|ladder)|filter2|i(?:wm|[rw])|k(?:cl|mod|wm|[rw]))|[Saikp])\\b|\\b(array|bform(?:(?:de|en)c)|c(?:hanged|opy2(?:(?:[ft])tab))|hrtfer|ktableseg|lentab|m(?:(?:ax|in)tab)|p(?:op(?:(?:_f)?)|tableiw|ush(?:(?:_f)?))|s(?:calet|ndload|oundout(?:(?:s)?)|pec(?:addm|di(?:ff|sp)|filt|hist|ptrk|s(?:cal|um)|trum)|tack|umtab)|t(?:ab(?:gen|leiw|map(?:(?:_i)?)|slice)|b(?:0_init|1(?:(?:(?:[012345])?)_init|[012345])|(?:[23456789])_init|[0123456789]))|vbap(?:16|(?:[48])move|[48])|xyin)\\b)(?:(\\:)([A-Za-z]))?",
606
606
  "captures": {
607
607
  "1": {
608
608
  "name": "support.function.csound"
@@ -1259,7 +1259,7 @@
1259
1259
  "name": "support.type.property-name.media.css"
1260
1260
  },
1261
1261
  "2": {
1262
- "name": "invalid.deprecated.media.css"
1262
+ "name": "support.type.property-name.media.css"
1263
1263
  },
1264
1264
  "3": {
1265
1265
  "name": "support.type.vendored.property-name.media.css"
@@ -1416,7 +1416,7 @@
1416
1416
  "patterns": [
1417
1417
  {
1418
1418
  "name": "support.type.property-name.css",
1419
- "match": "(?xi) (?\u003c![\\w-])\n(?:\n # Standard CSS\n additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction\n | animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state\n | animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode\n | background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]\n | background-repeat|background-size|block-size|border|border-block-end|border-block-end-color|border-block-end-style\n | border-block-end-width|border-block-start|border-block-start-color|border-block-start-style\n | border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius\n | border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset\n | border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end\n | border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start\n | border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color\n | border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style\n | border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius\n | border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break\n | box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|clip-path|color\n | column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width\n | column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display\n | empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float\n | font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-size|font-size-adjust\n | font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps\n | font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-weight\n | grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap\n | grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas\n | grid-template-columns|grid-template-rows|height|hyphens|image-orientation|image-rendering|image-resolution\n | ime-mode|inline-size|isolation|justify-content|left|letter-spacing|line-break|line-height|list-style\n | list-style-image|list-style-position|list-style-type|margin|margin-block-end|margin-block-start|margin-bottom\n | margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|mask|mask-clip|mask-composite\n | mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height\n | max-inline-size|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode\n | negative|object-fit|object-position|offset-block-end|offset-block-start|offset-inline-end|offset-inline-start\n | opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow\n | overflow-wrap|overflow-[xy]|pad|padding|padding-block-end|padding-block-start|padding-bottom|padding-inline-end\n | padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside\n | perspective|perspective-origin|pointer-events|position|prefix|quotes|range|resize|right|ruby-align|ruby-merge\n | ruby-position|scroll-behavior|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-type|shape-image-threshold\n | shape-margin|shape-outside|speak-as|src|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last\n | text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-emphasis\n | text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-orientation|text-overflow\n | text-rendering|text-shadow|text-transform|text-underline-position|top|touch-action|transform|transform-box\n | transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property\n | transition-timing-function|unicode-bidi|unicode-range|user-zoom|vertical-align|visibility|white-space|widows\n | width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom\n\n # SVG attributes\n | alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile\n | color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity\n | glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid\n | marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap\n | stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y\n\n # Not listed on MDN; presumably deprecated\n | adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break\n | balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length\n | bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction\n | box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column\n | column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break\n | delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust\n | drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position\n | flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before\n | hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust\n | initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count\n | justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift\n | line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed\n | marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group\n | orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range\n | play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim\n | radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness\n | right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color\n | rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral\n | speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch\n | string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height\n | text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style\n | top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range\n | voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap\n)\n(?![\\w-])"
1419
+ "match": "(?xi) (?\u003c![\\w-])\n(?:\n # Standard CSS\n additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction\n | animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state\n | animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode\n | background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]\n | background-repeat|background-size|block-size|border|border-block-end|border-block-end-color|border-block-end-style\n | border-block-end-width|border-block-start|border-block-start-color|border-block-start-style\n | border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius\n | border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset\n | border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end\n | border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start\n | border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color\n | border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style\n | border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius\n | border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break\n | box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|clip-path|color\n | column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width\n | column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display\n | empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float\n | font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-size|font-size-adjust\n | font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps\n | font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-weight\n | grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap\n | grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas\n | grid-template-columns|grid-template-rows|height|hyphens|image-orientation|image-rendering|image-resolution\n | ime-mode|inline-size|isolation|justify-content|left|letter-spacing|line-break|line-height|list-style\n | list-style-image|list-style-position|list-style-type|margin|margin-block-end|margin-block-start|margin-bottom\n | margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|mask|mask-clip|mask-composite\n | mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height\n | max-inline-size|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode\n | negative|object-fit|object-position|offset-block-end|offset-block-start|offset-inline-end|offset-inline-start\n | opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow\n | overflow-wrap|overflow-[xy]|pad|padding|padding-block-end|padding-block-start|padding-bottom|padding-inline-end\n | padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside\n | perspective|perspective-origin|place-content|place-items|place-self|pointer-events|position|prefix|quotes|range\n | resize|right|row-gap|ruby-align|ruby-merge|ruby-position|scroll-behavior|scroll-snap-coordinate\n | scroll-snap-destination|scroll-snap-type|shape-image-threshold|shape-margin|shape-outside|speak-as|src|suffix\n | symbols|system|tab-size|table-layout|text-align|text-align-last|text-combine-upright|text-decoration\n | text-decoration-color|text-decoration-line|text-decoration-style|text-emphasis|text-emphasis-color\n | text-emphasis-position|text-emphasis-style|text-indent|text-orientation|text-overflow|text-rendering\n | text-shadow|text-transform|text-underline-position|top|touch-action|transform|transform-box\n | transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property\n | transition-timing-function|unicode-bidi|unicode-range|user-zoom|vertical-align|visibility|white-space|widows\n | width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom\n\n # SVG attributes\n | alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile\n | color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity\n | glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid\n | marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap\n | stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y\n\n # Not listed on MDN; presumably deprecated\n | adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break\n | balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length\n | bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction\n | box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column\n | column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break\n | delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust\n | drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position\n | flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before\n | hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust\n | initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count\n | justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift\n | line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed\n | marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group\n | orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range\n | play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim\n | radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness\n | right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color\n | rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral\n | speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch\n | string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height\n | text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style\n | top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range\n | voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap\n)\n(?![\\w-])"
1420
1420
  },
1421
1421
  {
1422
1422
  "name": "support.type.vendored.property-name.css",
@@ -5,6 +5,12 @@
5
5
  {
6
6
  "include": "#variable_setting"
7
7
  },
8
+ {
9
+ "include": "#at_rule_forward"
10
+ },
11
+ {
12
+ "include": "#at_rule_use"
13
+ },
8
14
  {
9
15
  "include": "#at_rule_include"
10
16
  },
@@ -257,6 +263,55 @@
257
263
  }
258
264
  }
259
265
  },
266
+ "at_rule_forward": {
267
+ "name": "meta.at-rule.forward.scss",
268
+ "begin": "\\s*((@)forward\\b)\\s*",
269
+ "end": "\\s*(?=;)",
270
+ "patterns": [
271
+ {
272
+ "name": "keyword.control.operator",
273
+ "match": "\\b(as|hide|show)\\b"
274
+ },
275
+ {
276
+ "match": "\\b([\\w-]+)(\\*)",
277
+ "captures": {
278
+ "1": {
279
+ "name": "entity.other.attribute-name.module.scss"
280
+ },
281
+ "2": {
282
+ "name": "punctuation.definition.wildcard.scss"
283
+ }
284
+ }
285
+ },
286
+ {
287
+ "name": "entity.name.function.scss",
288
+ "match": "\\b[\\w-]+\\b"
289
+ },
290
+ {
291
+ "include": "#variable"
292
+ },
293
+ {
294
+ "include": "#string_single"
295
+ },
296
+ {
297
+ "include": "#string_double"
298
+ },
299
+ {
300
+ "include": "#comment_line"
301
+ },
302
+ {
303
+ "include": "#comment_block"
304
+ }
305
+ ],
306
+ "captures": {
307
+ "1": {
308
+ "name": "keyword.control.at-rule.forward.scss"
309
+ },
310
+ "2": {
311
+ "name": "punctuation.definition.keyword.scss"
312
+ }
313
+ }
314
+ },
260
315
  "at_rule_function": {
261
316
  "patterns": [
262
317
  {
@@ -355,7 +410,7 @@
355
410
  "patterns": [
356
411
  {
357
412
  "name": "meta.at-rule.include.scss",
358
- "begin": "(?\u003c=@include)\\s+([\\w-]+)\\s*(\\()",
413
+ "begin": "(?\u003c=@include)\\s+(?:([\\w-]+)\\s*(\\.))?([\\w-]+)\\s*(\\()",
359
414
  "end": "\\)",
360
415
  "patterns": [
361
416
  {
@@ -364,9 +419,15 @@
364
419
  ],
365
420
  "beginCaptures": {
366
421
  "1": {
367
- "name": "entity.name.function.scss"
422
+ "name": "variable.scss"
368
423
  },
369
424
  "2": {
425
+ "name": "punctuation.access.module.scss"
426
+ },
427
+ "3": {
428
+ "name": "entity.name.function.scss"
429
+ },
430
+ "4": {
370
431
  "name": "punctuation.definition.parameters.begin.bracket.round.scss"
371
432
  }
372
433
  },
@@ -377,12 +438,18 @@
377
438
  }
378
439
  },
379
440
  {
380
- "match": "(?\u003c=@include)\\s+([\\w-]+)",
441
+ "match": "(?\u003c=@include)\\s+(?:([\\w-]+)\\s*(\\.))?([\\w-]+)",
381
442
  "captures": {
382
443
  "0": {
383
444
  "name": "meta.at-rule.include.scss"
384
445
  },
385
446
  "1": {
447
+ "name": "variable.scss"
448
+ },
449
+ "2": {
450
+ "name": "punctuation.access.module.scss"
451
+ },
452
+ "3": {
386
453
  "name": "entity.name.function.scss"
387
454
  }
388
455
  }
@@ -788,6 +855,64 @@
788
855
  }
789
856
  }
790
857
  },
858
+ "at_rule_use": {
859
+ "name": "meta.at-rule.use.scss",
860
+ "begin": "\\s*((@)use\\b)\\s*",
861
+ "end": "\\s*(?=;)",
862
+ "patterns": [
863
+ {
864
+ "name": "keyword.control.operator",
865
+ "match": "\\b(as|with)\\b"
866
+ },
867
+ {
868
+ "name": "variable.scss",
869
+ "match": "\\b[\\w-]+\\b"
870
+ },
871
+ {
872
+ "name": "variable.language.expanded-namespace.scss",
873
+ "match": "\\*"
874
+ },
875
+ {
876
+ "include": "#string_single"
877
+ },
878
+ {
879
+ "include": "#string_double"
880
+ },
881
+ {
882
+ "include": "#comment_line"
883
+ },
884
+ {
885
+ "include": "#comment_block"
886
+ },
887
+ {
888
+ "begin": "\\(",
889
+ "end": "\\)",
890
+ "patterns": [
891
+ {
892
+ "include": "#function_attributes"
893
+ }
894
+ ],
895
+ "beginCaptures": {
896
+ "0": {
897
+ "name": "punctuation.definition.parameters.begin.bracket.round.scss"
898
+ }
899
+ },
900
+ "endCaptures": {
901
+ "0": {
902
+ "name": "punctuation.definition.parameters.end.bracket.round.scss"
903
+ }
904
+ }
905
+ }
906
+ ],
907
+ "captures": {
908
+ "1": {
909
+ "name": "keyword.control.at-rule.use.scss"
910
+ },
911
+ "2": {
912
+ "name": "punctuation.definition.keyword.scss"
913
+ }
914
+ }
915
+ },
791
916
  "at_rule_warn": {
792
917
  "name": "meta.at-rule.warn.scss",
793
918
  "begin": "\\s*((@)(warn|debug|error)\\b)\\s*",
@@ -898,7 +1023,7 @@
898
1023
  "match": "!default"
899
1024
  },
900
1025
  "constant_functions": {
901
- "begin": "([\\w-]+)(\\()",
1026
+ "begin": "(?:([\\w-]+)(\\.))?([\\w-]+)(\\()",
902
1027
  "end": "(\\))",
903
1028
  "patterns": [
904
1029
  {
@@ -907,9 +1032,15 @@
907
1032
  ],
908
1033
  "beginCaptures": {
909
1034
  "1": {
910
- "name": "support.function.misc.scss"
1035
+ "name": "variable.scss"
911
1036
  },
912
1037
  "2": {
1038
+ "name": "punctuation.access.module.scss"
1039
+ },
1040
+ "3": {
1041
+ "name": "support.function.misc.scss"
1042
+ },
1043
+ "4": {
913
1044
  "name": "punctuation.section.function.scss"
914
1045
  }
915
1046
  },
@@ -1048,10 +1179,10 @@
1048
1179
  "end": "}",
1049
1180
  "patterns": [
1050
1181
  {
1051
- "include": "#property_values"
1182
+ "include": "#variable"
1052
1183
  },
1053
1184
  {
1054
- "include": "#variable"
1185
+ "include": "#property_values"
1055
1186
  }
1056
1187
  ],
1057
1188
  "beginCaptures": {
@@ -1102,10 +1233,10 @@
1102
1233
  "include": "#map"
1103
1234
  },
1104
1235
  {
1105
- "include": "#property_values"
1236
+ "include": "#variable"
1106
1237
  },
1107
1238
  {
1108
- "include": "#variable"
1239
+ "include": "#property_values"
1109
1240
  }
1110
1241
  ],
1111
1242
  "beginCaptures": {
@@ -1345,7 +1476,7 @@
1345
1476
  },
1346
1477
  "selector_attribute": {
1347
1478
  "name": "meta.attribute-selector.scss",
1348
- "match": "(?xi)\n(\\[)\n\\s*\n(\n (?:\n [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+?\n)\n(?:\n \\s*([~|^$*]?=)\\s*\n (?:\n (\n (?:\n [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n )\n |\n ((\")(.*?)(\"))\n |\n ((')(.*?)('))\n )\n)?\n\\s*\n(\\])",
1479
+ "match": "(?xi)\n(\\[)\n\\s*\n(\n (?:\n [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.?\\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+?\n)\n(?:\n \\s*([~|^$*]?=)\\s*\n (?:\n (\n (?:\n [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.?\\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n )\n |\n ((\")(.*?)(\"))\n |\n ((')(.*?)('))\n )\n)?\n\\s*\n(\\])",
1349
1480
  "captures": {
1350
1481
  "1": {
1351
1482
  "name": "punctuation.definition.attribute-selector.begin.bracket.square.scss"
@@ -1440,7 +1571,7 @@
1440
1571
  },
1441
1572
  "selector_class": {
1442
1573
  "name": "entity.other.attribute-name.class.css",
1443
- "match": "(?x)\n(\\.) # Valid class-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= $ # - End of the line\n | [\\s,.\\#)\\[:{\u003e+~|] # - Another selector\n | /\\* # - A block comment\n)",
1574
+ "match": "(?x)\n(\\.) # Valid class-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.?\\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= $ # - End of the line\n | [\\s,\\#)\\[:{\u003e+~|] # - Another selector\n | \\.[^$] # - Class selector, negating module variable\n | /\\* # - A block comment\n | ; # - A semicolon\n)",
1444
1575
  "captures": {
1445
1576
  "1": {
1446
1577
  "name": "punctuation.definition.entity.css"
@@ -1468,7 +1599,7 @@
1468
1599
  },
1469
1600
  "selector_id": {
1470
1601
  "name": "entity.other.attribute-name.id.css",
1471
- "match": "(?x)\n(\\#) # Valid id-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= $ # - End of the line\n | [\\s,.\\#)\\[:{\u003e+~|] # - Another selector\n | /\\* # - A block comment\n)",
1602
+ "match": "(?x)\n(\\#) # Valid id-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.?\\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= $ # - End of the line\n | [\\s,\\#)\\[:{\u003e+~|] # - Another selector\n | \\.[^$] # - Class selector, negating module variable\n | /\\* # - A block comment\n)",
1472
1603
  "captures": {
1473
1604
  "1": {
1474
1605
  "name": "punctuation.definition.entity.css"
@@ -1492,7 +1623,7 @@
1492
1623
  },
1493
1624
  "selector_placeholder": {
1494
1625
  "name": "entity.other.attribute-name.placeholder.css",
1495
- "match": "(?x)\n(%) # Valid placeholder-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= ; # - End of statement\n | $ # - End of the line\n | [\\s,.\\#)\\[:{\u003e+~|] # - Another selector\n | /\\* # - A block comment\n)",
1626
+ "match": "(?x)\n(%) # Valid placeholder-name\n(\n (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters\n | \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence\n | \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)\n | \\.\\$ # Possible start of interpolation module scope variable\n | \\$ # Possible start of interpolation variable\n | } # Possible end of interpolation\n )+\n) # Followed by either:\n(?= ; # - End of statement\n | $ # - End of the line\n | [\\s,\\#)\\[:{\u003e+~|] # - Another selector\n | \\.[^$] # - Class selector, negating module variable\n | /\\* # - A block comment\n)",
1496
1627
  "captures": {
1497
1628
  "1": {
1498
1629
  "name": "punctuation.definition.entity.css"
@@ -1717,8 +1848,26 @@
1717
1848
  }
1718
1849
  },
1719
1850
  "variables": {
1720
- "name": "variable.scss",
1721
- "match": "(\\$|\\-\\-)[A-Za-z0-9_-]+\\b"
1851
+ "patterns": [
1852
+ {
1853
+ "match": "\\b([\\w-]+)(\\.)(\\$[\\w-]+)\\b",
1854
+ "captures": {
1855
+ "1": {
1856
+ "name": "variable.scss"
1857
+ },
1858
+ "2": {
1859
+ "name": "punctuation.access.module.scss"
1860
+ },
1861
+ "3": {
1862
+ "name": "variable.scss"
1863
+ }
1864
+ }
1865
+ },
1866
+ {
1867
+ "name": "variable.scss",
1868
+ "match": "(\\$|\\-\\-)[A-Za-z0-9_-]+\\b"
1869
+ }
1870
+ ]
1722
1871
  }
1723
1872
  }
1724
1873
  }
@@ -7,6 +7,65 @@
7
7
  }
8
8
  ],
9
9
  "repository": {
10
+ "auth": {
11
+ "patterns": [
12
+ {
13
+ "match": "([^\\s:;]+)(:)([^\\s=:;]*)",
14
+ "captures": {
15
+ "1": {
16
+ "name": "constant.other.auth-info.curlrc"
17
+ },
18
+ "2": {
19
+ "patterns": [
20
+ {
21
+ "include": "etc#colon"
22
+ }
23
+ ]
24
+ },
25
+ "3": {
26
+ "name": "constant.other.auth-info.curlrc"
27
+ }
28
+ }
29
+ },
30
+ {
31
+ "match": "(:)([^\\s:;]*)",
32
+ "captures": {
33
+ "1": {
34
+ "patterns": [
35
+ {
36
+ "include": "etc#colon"
37
+ }
38
+ ]
39
+ },
40
+ "2": {
41
+ "name": "constant.other.auth-info.curlrc"
42
+ }
43
+ }
44
+ }
45
+ ]
46
+ },
47
+ "authProtocol": {
48
+ "match": "(?:\\G|^)([^\\\\:\\s/]*)(://|:)",
49
+ "captures": {
50
+ "1": {
51
+ "name": "entity.other.protocol.curlrc"
52
+ },
53
+ "2": {
54
+ "name": "keyword.operator.protocol.separator.curlrc"
55
+ }
56
+ }
57
+ },
58
+ "autoRefer": {
59
+ "match": "(;)(auto)\\b",
60
+ "captures": {
61
+ "1": {
62
+ "name": "punctuation.separator.key-value.semicolon.curlrc"
63
+ },
64
+ "2": {
65
+ "name": "variable.assignment.parameter.name.curlrc"
66
+ }
67
+ }
68
+ },
10
69
  "comment": {
11
70
  "name": "comment.line.number-sign.curlrc",
12
71
  "begin": "^#",
@@ -17,24 +76,526 @@
17
76
  }
18
77
  }
19
78
  },
20
- "cookieField": {
21
- "name": "meta.cookie.curlrc",
22
- "match": "([^\\s=;]+)(=)([^\\s=;]*)(;)?",
79
+ "header": {
80
+ "match": "(?:\\G|^)\\s*([-A-Za-z0-9]+)\\s*(?:(:)\\s*(.*)|(;))",
23
81
  "captures": {
24
82
  "1": {
25
- "name": "variable.assignment.cookie.name.curlrc"
83
+ "name": "entity.name.header.curlrc"
26
84
  },
27
85
  "2": {
28
86
  "patterns": [
29
87
  {
30
- "include": "etc#eql"
88
+ "include": "etc#colon"
89
+ }
90
+ ]
91
+ },
92
+ "3": {
93
+ "name": "string.unquoted.header-value.curlrc"
94
+ },
95
+ "4": {
96
+ "name": "punctuation.terminator.statement.semicolon.curlrc"
97
+ }
98
+ }
99
+ },
100
+ "longOptions": {
101
+ "patterns": [
102
+ {
103
+ "name": "meta.option.long.curlrc",
104
+ "match": "(?x)\n(?:\\G|^) \\s*\n(\n\t(--)?\n\t(?:anyauth|append|basic|cert-status|compressed-ssh|compressed|create-dirs|crlf|digest\n\t|disable-eprt|disable-epsv|disable|disallow-username-in-url|fail-early|fail|false-start\n\t|ftp-create-dirs|ftp-pasv|ftp-pret|ftp-skip-pasv-ip|ftp-ssl-ccc|ftp-ssl-control|get\n\t|globoff|haproxy-protocol|head|help|http1\\.[01]|http2(?:-prior-knowledge)?\n\t|ignore-content-length|include|insecure|ipv[46]|junk-session-cookies|list-only\n\t|location-trusted|location|manual|metalink|negotiate|netrc-optional|netrc|next\n\t|no-alpn|no-buffer|no-keepalive|no-npn|no-sessionid|ntlm-wb|ntlm|path-as-is|post30[1-3]\n\t|progress-bar|proxy-anyauth|proxy-basic|proxy-digest|proxy-insecure|proxy-negotiate\n\t|proxy-ntlm|proxy-ssl-allow-beast|proxy-tlsv1|proxytunnel|quote|raw|remote-header-name\n\t|remote-name-all|remote-name|remote-time|request-target|retry-connrefused|sasl-ir\n\t|show-error|silent|socks5-(?:basic|gssapi-nec|gssapi)|ssl-allow-beast|ssl-no-revoke\n\t|ssl-reqd|sslv[23]|ssl|stderr|styled-output|suppress-connect-headers\n\t|tcp-fastopen|tcp-nodelay|tftp-no-options|tlspassword|tlsv1\\.[0-3]\n\t|tlsv1|tr-encoding|trace-time|use-ascii|verbose|version|xattr)\n)\n(?=\\s|$)",
105
+ "captures": {
106
+ "1": {
107
+ "name": "entity.long.option.name.curlrc"
108
+ },
109
+ "2": {
110
+ "name": "punctuation.definition.dash.long.option.curlrc"
111
+ }
112
+ }
113
+ },
114
+ {
115
+ "name": "meta.option.long.curlrc",
116
+ "begin": "(?x) (?:\\G|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n((--)?(?:doh-url|mail-auth|mail-from|mail-rcpt|noproxy|referer|url))\n(?:\\s*(=|:)|(?=\\s|$))",
117
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))",
118
+ "beginCaptures": {
119
+ "1": {
120
+ "name": "entity.long.option.name.curlrc"
121
+ },
122
+ "2": {
123
+ "name": "punctuation.definition.dash.long.option.curlrc"
124
+ },
125
+ "3": {
126
+ "patterns": [
127
+ {
128
+ "include": "#separators"
129
+ }
130
+ ]
131
+ }
132
+ },
133
+ "endCaptures": {
134
+ "1": {
135
+ "name": "string.quoted.double.curlrc"
136
+ },
137
+ "2": {
138
+ "name": "punctuation.definition.string.begin.curlrc"
139
+ },
140
+ "3": {
141
+ "patterns": [
142
+ {
143
+ "include": "#url"
144
+ }
145
+ ]
146
+ },
147
+ "4": {
148
+ "name": "punctuation.definition.string.end.curlrc"
149
+ },
150
+ "5": {
151
+ "name": "string.unquoted.curlrc",
152
+ "patterns": [
153
+ {
154
+ "include": "#url"
155
+ }
156
+ ]
157
+ }
158
+ }
159
+ },
160
+ {
161
+ "name": "meta.option.long.curlrc",
162
+ "begin": "(?x) (?:\\G|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n((--)?(?:header|proxy-header))\n(?:\\s*(=|:)|(?=\\s|$))",
163
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))",
164
+ "beginCaptures": {
165
+ "1": {
166
+ "name": "entity.long.option.name.curlrc"
167
+ },
168
+ "2": {
169
+ "name": "punctuation.definition.dash.long.option.curlrc"
170
+ },
171
+ "3": {
172
+ "patterns": [
173
+ {
174
+ "include": "#separators"
175
+ }
176
+ ]
177
+ }
178
+ },
179
+ "endCaptures": {
180
+ "1": {
181
+ "name": "string.quoted.double.curlrc"
182
+ },
183
+ "2": {
184
+ "name": "punctuation.definition.string.begin.curlrc"
185
+ },
186
+ "3": {
187
+ "patterns": [
188
+ {
189
+ "include": "#header"
190
+ },
191
+ {
192
+ "include": "etc#bareword"
193
+ }
194
+ ]
195
+ },
196
+ "4": {
197
+ "name": "punctuation.definition.string.end.curlrc"
198
+ },
199
+ "5": {
200
+ "patterns": [
201
+ {
202
+ "include": "#header"
203
+ },
204
+ {
205
+ "include": "etc#bareword"
206
+ }
207
+ ]
208
+ }
209
+ }
210
+ },
211
+ {
212
+ "name": "meta.option.long.curlrc",
213
+ "begin": "(?x) (?:\\G|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n((--)?(?:cookie|form-string|form|telnet-option))\n(?:\\s*(=|:)|(?=\\s|$))",
214
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))",
215
+ "beginCaptures": {
216
+ "1": {
217
+ "name": "entity.long.option.name.curlrc"
218
+ },
219
+ "2": {
220
+ "name": "punctuation.definition.dash.long.option.curlrc"
221
+ },
222
+ "3": {
223
+ "patterns": [
224
+ {
225
+ "include": "#separators"
226
+ }
227
+ ]
228
+ }
229
+ },
230
+ "endCaptures": {
231
+ "1": {
232
+ "name": "string.quoted.double.curlrc"
233
+ },
234
+ "2": {
235
+ "name": "punctuation.definition.string.begin.curlrc"
236
+ },
237
+ "3": {
238
+ "patterns": [
239
+ {
240
+ "include": "#params"
241
+ }
242
+ ]
243
+ },
244
+ "4": {
245
+ "name": "punctuation.definition.string.end.curlrc"
246
+ },
247
+ "5": {
248
+ "patterns": [
249
+ {
250
+ "include": "#params"
251
+ }
252
+ ]
253
+ }
254
+ }
255
+ },
256
+ {
257
+ "name": "meta.option.long.curlrc",
258
+ "begin": "(?:\\G|^)(?!\\s*--\\w[-\\w]*\\s*[=:])\\s*((--)?(?:proto-default|proto-redir|proto))(?:\\s*(=|:)|(?=\\s|$))",
259
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))",
260
+ "beginCaptures": {
261
+ "1": {
262
+ "name": "entity.long.option.name.curlrc"
263
+ },
264
+ "2": {
265
+ "name": "punctuation.definition.dash.long.option.curlrc"
266
+ },
267
+ "3": {
268
+ "patterns": [
269
+ {
270
+ "include": "#separators"
271
+ }
272
+ ]
273
+ }
274
+ },
275
+ "endCaptures": {
276
+ "1": {
277
+ "name": "string.quoted.double.curlrc"
278
+ },
279
+ "2": {
280
+ "name": "punctuation.definition.string.begin.curlrc"
281
+ },
282
+ "3": {
283
+ "patterns": [
284
+ {
285
+ "include": "#protocols"
286
+ }
287
+ ]
288
+ },
289
+ "4": {
290
+ "name": "punctuation.definition.string.end.curlrc"
291
+ },
292
+ "5": {
293
+ "patterns": [
294
+ {
295
+ "include": "#protocols"
296
+ }
297
+ ]
298
+ }
299
+ }
300
+ },
301
+ {
302
+ "name": "meta.option.long.curlrc",
303
+ "begin": "(?:\\G|^)(?!\\s*--\\w[-\\w]*\\s*[=:])\\s*((--)?ftp-port)(?:\\s*(=|:)|(?=\\s|$))",
304
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))",
305
+ "beginCaptures": {
306
+ "1": {
307
+ "name": "entity.long.option.name.curlrc"
308
+ },
309
+ "2": {
310
+ "name": "punctuation.definition.dash.long.option.curlrc"
311
+ },
312
+ "3": {
313
+ "patterns": [
314
+ {
315
+ "include": "#separators"
316
+ }
317
+ ]
318
+ }
319
+ },
320
+ "endCaptures": {
321
+ "1": {
322
+ "name": "string.quoted.double.curlrc"
323
+ },
324
+ "2": {
325
+ "name": "punctuation.definition.string.begin.curlrc"
326
+ },
327
+ "3": {
328
+ "name": "constant.other.port-address.curlrc",
329
+ "patterns": [
330
+ {
331
+ "include": "etc#esc"
332
+ }
333
+ ]
334
+ },
335
+ "4": {
336
+ "name": "punctuation.definition.string.end.curlrc"
337
+ },
338
+ "5": {
339
+ "name": "constant.other.port-address.curlrc"
340
+ }
341
+ }
342
+ },
343
+ {
344
+ "name": "meta.option.long.curlrc",
345
+ "begin": "(?:\\G|^)(?!\\s*--\\w[-\\w]*\\s*[=:])\\s*((--)?hostpubmd5)(?:\\s*(=|:)|(?=\\s|$))",
346
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))",
347
+ "beginCaptures": {
348
+ "1": {
349
+ "name": "entity.long.option.name.curlrc"
350
+ },
351
+ "2": {
352
+ "name": "punctuation.definition.dash.long.option.curlrc"
353
+ },
354
+ "3": {
355
+ "patterns": [
356
+ {
357
+ "include": "#separators"
358
+ }
359
+ ]
360
+ }
361
+ },
362
+ "endCaptures": {
363
+ "1": {
364
+ "name": "string.quoted.double.curlrc"
365
+ },
366
+ "2": {
367
+ "name": "punctuation.definition.string.begin.curlrc"
368
+ },
369
+ "3": {
370
+ "name": "constant.other.md5.checksum.curlrc",
371
+ "patterns": [
372
+ {
373
+ "include": "etc#esc"
374
+ }
375
+ ]
376
+ },
377
+ "4": {
378
+ "name": "punctuation.definition.string.end.curlrc"
379
+ },
380
+ "5": {
381
+ "name": "constant.other.md5.checksum.curlrc"
382
+ }
383
+ }
384
+ },
385
+ {
386
+ "name": "meta.option.long.curlrc",
387
+ "begin": "(?:\\G|^)(?!\\s*--\\w[-\\w]*\\s*[=:])\\s*((--)?(?:local-port|range))(?:\\s*(=|:)|(?=\\s|$))",
388
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))",
389
+ "beginCaptures": {
390
+ "1": {
391
+ "name": "entity.long.option.name.curlrc"
392
+ },
393
+ "2": {
394
+ "name": "punctuation.definition.dash.long.option.curlrc"
395
+ },
396
+ "3": {
397
+ "patterns": [
398
+ {
399
+ "include": "#separators"
400
+ }
401
+ ]
402
+ }
403
+ },
404
+ "endCaptures": {
405
+ "1": {
406
+ "name": "string.quoted.double.curlrc"
407
+ },
408
+ "2": {
409
+ "name": "punctuation.definition.string.begin.curlrc"
410
+ },
411
+ "3": {
412
+ "patterns": [
413
+ {
414
+ "include": "#range"
415
+ },
416
+ {
417
+ "include": "etc#esc"
418
+ },
419
+ {
420
+ "include": "etc#bareword"
421
+ }
422
+ ]
423
+ },
424
+ "4": {
425
+ "name": "punctuation.definition.string.end.curlrc"
426
+ },
427
+ "5": {
428
+ "patterns": [
429
+ {
430
+ "include": "#range"
431
+ },
432
+ {
433
+ "include": "etc#bareword"
434
+ }
435
+ ]
436
+ }
437
+ }
438
+ },
439
+ {
440
+ "name": "meta.option.long.curlrc",
441
+ "begin": "(?x) (?:\\G|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:](?=\\s)) \\s*\n(\n\t(--)?\n\t(?:cert|connect-to|preproxy|proxy-cert|proxy-user|proxy1\\.0\n\t|proxy|resolve|socks4a?|socks5-hostname|socks5|user)\n)\n(?:\\s*(=|:)|(?=\\s|$))",
442
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))",
443
+ "beginCaptures": {
444
+ "1": {
445
+ "name": "entity.long.option.name.curlrc"
446
+ },
447
+ "2": {
448
+ "name": "punctuation.definition.dash.long.option.curlrc"
449
+ },
450
+ "3": {
451
+ "patterns": [
452
+ {
453
+ "include": "#separators"
454
+ }
455
+ ]
456
+ }
457
+ },
458
+ "endCaptures": {
459
+ "1": {
460
+ "name": "string.quoted.double.curlrc"
461
+ },
462
+ "2": {
463
+ "name": "punctuation.definition.string.begin.curlrc"
464
+ },
465
+ "3": {
466
+ "patterns": [
467
+ {
468
+ "include": "#auth"
469
+ },
470
+ {
471
+ "include": "etc#bareword"
472
+ }
473
+ ]
474
+ },
475
+ "4": {
476
+ "name": "punctuation.definition.string.end.curlrc"
477
+ },
478
+ "5": {
479
+ "patterns": [
480
+ {
481
+ "include": "#auth"
482
+ },
483
+ {
484
+ "include": "etc#bareword"
485
+ }
486
+ ]
487
+ }
488
+ }
489
+ },
490
+ {
491
+ "name": "meta.option.long.curlrc",
492
+ "begin": "(?x) (?:\\G|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:](?=\\s)) \\s*\n(\n\t(--)?\n\t(?:abstract-unix-socket|cacert|capath|cert-type|ciphers|config|cookie-jar|crlfile|data-ascii\n\t|data-binary|data-raw|data-urlencode|data|delegation|dns-interface|dns-ipv[46]-addr|dns-servers\n\t|dump-header|egd-file|engine|ftp-(?:account|alternative-to-user|ssl-ccc-mode|method)|interface\n\t|key-type|key|krb|libcurl|login-options|netrc-file|oauth2-bearer|output|pass|proxy-(?:cacert\n\t|capath|cert-type|crlfile|key-type|key|pass|service-name|tlsauthtype|tlspassword|tlsuser)\n\t|pinnedpubkey|proxy-ciphers|proxy-pinnedpubkey|pubkey|random-file|proxy-tls13-ciphers|request\n\t|service-name|socks5-gssapi-service|tls13-ciphers|tlsauthtype|tls-max|tlsuser|trace-ascii\n\t|trace|unix-socket|upload-file|user-agent|write-out)\n)\n(?:\\s*(=|:)|(?=\\s|$))",
493
+ "end": "$|(?:(=)?|(?:([-A-Za-z0-9%_]+)(=)?)?([@\u003c]))?(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))",
494
+ "beginCaptures": {
495
+ "1": {
496
+ "name": "entity.long.option.name.curlrc"
497
+ },
498
+ "2": {
499
+ "name": "punctuation.definition.dash.long.option.curlrc"
500
+ },
501
+ "3": {
502
+ "patterns": [
503
+ {
504
+ "include": "#separators"
505
+ }
506
+ ]
507
+ }
508
+ },
509
+ "endCaptures": {
510
+ "1": {
511
+ "name": "keyword.operator.encoding-modifier.curlrc"
512
+ },
513
+ "2": {
514
+ "name": "entity.name.form-field.curlrc"
515
+ },
516
+ "3": {
517
+ "patterns": [
518
+ {
519
+ "include": "etc#eql"
520
+ }
521
+ ]
522
+ },
523
+ "4": {
524
+ "name": "keyword.operator.source-modifier.curlrc"
525
+ },
526
+ "5": {
527
+ "name": "string.quoted.double.curlrc"
528
+ },
529
+ "6": {
530
+ "name": "punctuation.definition.string.begin.curlrc"
531
+ },
532
+ "7": {
533
+ "patterns": [
534
+ {
535
+ "include": "etc#esc"
536
+ }
537
+ ]
538
+ },
539
+ "8": {
540
+ "name": "punctuation.definition.string.end.curlrc"
541
+ },
542
+ "9": {
543
+ "name": "string.unquoted.curlrc"
31
544
  }
32
- ]
545
+ }
33
546
  },
34
- "3": {
35
- "name": "constant.other.cookie.value.curlrc"
547
+ {
548
+ "name": "meta.option.long.curlrc",
549
+ "begin": "(?x) (?:\\G|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:])\n\\s*\n(\n\t(--)?\n\t(?:connect-timeout|continue-at|expect100-timeout|happy-eyeballs-timeout-ms|keepalive-time\n\t|limit-rate|max-filesize|max-redirs|max-time|retry-delay|retry-max-time|retry|speed-limit\n\t|speed-time|tftp-blksize|time-cond)\n) (?:\\s*(=|:)|(?=\\s|$))",
550
+ "end": "$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))",
551
+ "beginCaptures": {
552
+ "1": {
553
+ "name": "entity.long.option.name.curlrc"
554
+ },
555
+ "2": {
556
+ "name": "punctuation.definition.dash.long.option.curlrc"
557
+ },
558
+ "3": {
559
+ "patterns": [
560
+ {
561
+ "include": "#separators"
562
+ }
563
+ ]
564
+ }
565
+ },
566
+ "endCaptures": {
567
+ "1": {
568
+ "name": "string.quoted.double.curlrc"
569
+ },
570
+ "2": {
571
+ "name": "punctuation.definition.string.begin.curlrc"
572
+ },
573
+ "3": {
574
+ "patterns": [
575
+ {
576
+ "include": "etc#num"
577
+ },
578
+ {
579
+ "include": "etc#bareword"
580
+ }
581
+ ]
582
+ },
583
+ "4": {
584
+ "name": "punctuation.definition.string.end.curlrc"
585
+ },
586
+ "5": {
587
+ "patterns": [
588
+ {
589
+ "include": "etc#num"
590
+ },
591
+ {
592
+ "include": "etc#bareword"
593
+ }
594
+ ]
595
+ }
596
+ }
36
597
  }
37
- }
598
+ ]
38
599
  },
39
600
  "main": {
40
601
  "patterns": [
@@ -43,110 +604,304 @@
43
604
  },
44
605
  {
45
606
  "include": "#shortOptions"
607
+ },
608
+ {
609
+ "include": "#longOptions"
46
610
  }
47
611
  ]
48
612
  },
49
- "separators": {
613
+ "params": {
50
614
  "patterns": [
51
615
  {
52
- "include": "etc#eql"
616
+ "include": "#autoRefer"
53
617
  },
54
618
  {
55
- "include": "etc#colon"
56
- }
57
- ]
58
- },
59
- "shortOptions": {
60
- "patterns": [
619
+ "name": "keyword.operator.encoding-modifier.curlrc",
620
+ "match": "(?:\\G|^|(?\u003c=\\G\"|^\"))="
621
+ },
61
622
  {
62
- "match": "^(-)?([:#012346aBfgGhiIjJklLMnNOpqQRsSvV])(?=\\s|$)",
623
+ "match": "(?:\\G|^|(?\u003c=\\G\"|^\"))(;)([^\\s=;\"]+(?=\"?(?:\\s|$)))?",
63
624
  "captures": {
64
625
  "1": {
65
- "name": "punctuation.definition.dash.short.option.curlrc"
626
+ "name": "punctuation.separator.key-value.semicolon.curlrc"
66
627
  },
67
628
  "2": {
68
- "name": "entity.short.option.name.curlrc"
629
+ "name": "variable.assignment.parameter.name.curlrc"
69
630
  }
70
631
  }
71
632
  },
72
633
  {
73
- "name": "meta.option.$2.curlrc",
74
- "begin": "^(-)?([cDdKoT])(\\s*=|\\s*:|\\s+)",
75
- "end": "$",
76
- "patterns": [
77
- {
78
- "include": "#string"
634
+ "match": "(?:\\G|^|(?\u003c=\\G\"|^\"))(?:([-A-Za-z0-9%_]+)(=)?)?([@\u003c])",
635
+ "captures": {
636
+ "1": {
637
+ "name": "entity.name.form-field.curlrc"
79
638
  },
80
- {
81
- "include": "etc#bareword"
639
+ "2": {
640
+ "patterns": [
641
+ {
642
+ "include": "etc#eql"
643
+ }
644
+ ]
645
+ },
646
+ "3": {
647
+ "name": "keyword.operator.source-modifier.curlrc"
82
648
  }
83
- ],
84
- "beginCaptures": {
649
+ }
650
+ },
651
+ {
652
+ "name": "meta.parameter.curlrc",
653
+ "match": "([^\\s=;]+)(=)([^\\s=;]*)(;)?",
654
+ "captures": {
85
655
  "1": {
86
- "name": "punctuation.definition.dash.short.option.curlrc"
656
+ "name": "variable.assignment.parameter.name.curlrc"
87
657
  },
88
658
  "2": {
89
- "name": "entity.short.option.name.curlrc"
659
+ "patterns": [
660
+ {
661
+ "include": "etc#eql"
662
+ }
663
+ ]
90
664
  },
91
665
  "3": {
666
+ "name": "constant.other.parameter.value.curlrc"
667
+ },
668
+ "4": {
669
+ "name": "punctuation.separator.key-value.semicolon.curlrc"
670
+ }
671
+ }
672
+ },
673
+ {
674
+ "match": "(?\u003c=@)(\"(?:[^\\\\\"]|\\\\.)++\"|(?:[^\"\\s;\\\\]|\\\\.)++)(?:(;)|(?=$|\\s))",
675
+ "captures": {
676
+ "1": {
677
+ "name": "variable.assignment.parameter.name.curlrc",
92
678
  "patterns": [
93
679
  {
94
- "include": "#separators"
680
+ "include": "etc#esc"
95
681
  }
96
682
  ]
683
+ },
684
+ "2": {
685
+ "name": "punctuation.separator.key-value.semicolon.curlrc"
97
686
  }
98
687
  }
99
688
  },
100
689
  {
101
- "name": "meta.option.$2.curlrc",
102
- "begin": "^(-)?(b)(\\s*=|\\s*:|\\s+)",
103
- "end": "$",
104
- "patterns": [
105
- {
106
- "name": "string.quoted.double.cookie-data.curlrc",
107
- "begin": "\"(?=[^\"=]*=)",
108
- "end": "\"|(?=$)",
690
+ "include": "etc#esc"
691
+ },
692
+ {
693
+ "include": "etc#bareword"
694
+ }
695
+ ]
696
+ },
697
+ "protocols": {
698
+ "patterns": [
699
+ {
700
+ "name": "constant.other.protocol-name.curlrc",
701
+ "match": "[^\\s,+=-]+"
702
+ },
703
+ {
704
+ "name": "keyword.control.permit-protocol.curlrc",
705
+ "match": "\\+"
706
+ },
707
+ {
708
+ "name": "keyword.control.deny-protocol.curlrc",
709
+ "match": "-"
710
+ },
711
+ {
712
+ "name": "keyword.control.permit-protocol.only.curlrc",
713
+ "match": "="
714
+ },
715
+ {
716
+ "include": "etc#comma"
717
+ }
718
+ ]
719
+ },
720
+ "range": {
721
+ "patterns": [
722
+ {
723
+ "name": "meta.byte-range.curlrc",
724
+ "match": "([0-9]+)(-)([0-9]+)?|(-)([0-9]+)",
725
+ "captures": {
726
+ "1": {
727
+ "name": "constant.numeric.integer.int.decimal.dec.range.start.curlrc"
728
+ },
729
+ "2": {
730
+ "name": "punctuation.separator.range.dash.curlrc"
731
+ },
732
+ "3": {
733
+ "name": "constant.numeric.integer.int.decimal.dec.range.end.curlrc"
734
+ },
735
+ "4": {
736
+ "name": "punctuation.separator.range.dash.curlrc"
737
+ },
738
+ "5": {
739
+ "name": "constant.numeric.integer.int.decimal.dec.range.end.curlrc"
740
+ }
741
+ }
742
+ },
743
+ {
744
+ "include": "etc#comma"
745
+ },
746
+ {
747
+ "include": "etc#int"
748
+ }
749
+ ]
750
+ },
751
+ "separators": {
752
+ "patterns": [
753
+ {
754
+ "include": "etc#eql"
755
+ },
756
+ {
757
+ "include": "etc#colon"
758
+ }
759
+ ]
760
+ },
761
+ "shortOptions": {
762
+ "patterns": [
763
+ {
764
+ "name": "meta.option.short.curlrc",
765
+ "begin": "^\\s*((-)[:#012346BGIJLMNOQRSVafghijklnpqsv]*[ACDEFHKPTUXYbcdemortuwxyz])",
766
+ "end": "(?x)\n$\n|\n\n# Numbers\n(?\u003c=[CYmyz])\\G\\s*\n([-+]?[0-9.]+)\n\n|\n\n# Byte range\n(?\u003c=r)\\G\\s*\n([-0-9,]+)\n\n|\n\n# “key=value” pairs\n(?\u003c=[Fbt])\\G\\s*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))\n\t|\n\t([^\\s]+)\n)\n\n|\n\n# “key:value” pairs\n(?\u003c=[EUux])\\G\\s*\n([^\\\\:\\s/]*://)?\n(\n\t(?:[^\\\\:\\s]|\\\\.)+\n\t(?::(?:[^\\\\:\\s]|\\\\.)+)*\n\t:?\n)\n\n|\n\n# Headers\n(?\u003c=H)\\G\\s*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))\n\t|\n\t([^\\s]+)\n)\n\n|\n\n# URLs\n(?\u003c=e)\\G\\s*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))\n\t|\n\t([^\\s]+)\n)\n\n|\n\n# Anything else\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))\n\t|\n\t([^\\s]+)\n)",
767
+ "beginCaptures": {
768
+ "1": {
769
+ "name": "entity.short.option.name.curlrc"
770
+ },
771
+ "2": {
772
+ "name": "punctuation.definition.dash.short.option.curlrc"
773
+ }
774
+ },
775
+ "endCaptures": {
776
+ "1": {
109
777
  "patterns": [
110
778
  {
111
- "include": "#cookieField"
112
- },
779
+ "include": "etc#num"
780
+ }
781
+ ]
782
+ },
783
+ "10": {
784
+ "name": "meta.http-headers.curlrc"
785
+ },
786
+ "11": {
787
+ "name": "punctuation.definition.string.begin.curlrc"
788
+ },
789
+ "12": {
790
+ "patterns": [
113
791
  {
114
- "include": "etc#bareword"
792
+ "include": "#header"
115
793
  }
116
- ],
117
- "beginCaptures": {
118
- "0": {
119
- "name": "punctuation.definition.string.begin.curlrc"
794
+ ]
795
+ },
796
+ "13": {
797
+ "name": "punctuation.definition.string.end.curlrc"
798
+ },
799
+ "14": {
800
+ "patterns": [
801
+ {
802
+ "include": "#header"
120
803
  }
121
- },
122
- "endCaptures": {
123
- "0": {
124
- "name": "punctuation.definition.string.end.curlrc"
804
+ ]
805
+ },
806
+ "15": {
807
+ "name": "meta.url-string.curlrc"
808
+ },
809
+ "16": {
810
+ "name": "punctuation.definition.string.begin.curlrc"
811
+ },
812
+ "17": {
813
+ "patterns": [
814
+ {
815
+ "include": "#url"
125
816
  }
126
- }
817
+ ]
127
818
  },
128
- {
129
- "include": "#cookieField"
819
+ "18": {
820
+ "name": "punctuation.definition.string.end.curlrc"
130
821
  },
131
- {
132
- "include": "etc#bareword"
133
- }
134
- ],
135
- "beginCaptures": {
136
- "1": {
137
- "name": "punctuation.definition.dash.short.option.curlrc"
822
+ "19": {
823
+ "patterns": [
824
+ {
825
+ "include": "#url"
826
+ }
827
+ ]
138
828
  },
139
829
  "2": {
140
- "name": "entity.short.option.name.curlrc"
830
+ "patterns": [
831
+ {
832
+ "include": "#range"
833
+ }
834
+ ]
835
+ },
836
+ "20": {
837
+ "name": "string.quoted.double.curlrc"
838
+ },
839
+ "21": {
840
+ "name": "punctuation.definition.string.begin.curlrc"
841
+ },
842
+ "22": {
843
+ "patterns": [
844
+ {
845
+ "include": "etc#esc"
846
+ }
847
+ ]
848
+ },
849
+ "23": {
850
+ "name": "punctuation.definition.string.end.curlrc"
851
+ },
852
+ "24": {
853
+ "name": "string.unquoted.curlrc"
141
854
  },
142
855
  "3": {
856
+ "name": "meta.parameter-string.curlrc"
857
+ },
858
+ "4": {
859
+ "name": "punctuation.definition.string.begin.curlrc"
860
+ },
861
+ "5": {
143
862
  "patterns": [
144
863
  {
145
- "include": "#separators"
864
+ "include": "#params"
865
+ }
866
+ ]
867
+ },
868
+ "6": {
869
+ "name": "punctuation.definition.string.end.curlrc"
870
+ },
871
+ "7": {
872
+ "patterns": [
873
+ {
874
+ "include": "#params"
875
+ }
876
+ ]
877
+ },
878
+ "8": {
879
+ "patterns": [
880
+ {
881
+ "include": "#authProtocol"
882
+ }
883
+ ]
884
+ },
885
+ "9": {
886
+ "patterns": [
887
+ {
888
+ "include": "#auth"
146
889
  }
147
890
  ]
148
891
  }
149
892
  }
893
+ },
894
+ {
895
+ "name": "meta.option.short.curlrc",
896
+ "match": "^\\s*((-)[:#012346BGIJLMNOQRSVafghijklnpqsv]+)",
897
+ "captures": {
898
+ "1": {
899
+ "name": "entity.short.option.name.curlrc"
900
+ },
901
+ "2": {
902
+ "name": "punctuation.definition.dash.short.option.curlrc"
903
+ }
904
+ }
150
905
  }
151
906
  ]
152
907
  },
@@ -160,7 +915,7 @@
160
915
  "match": "(\\\\)[\\\\\"tnrv]",
161
916
  "captures": {
162
917
  "1": {
163
- "name": "punctuation.definition.escape.backslash.gitconfig"
918
+ "name": "punctuation.definition.escape.backslash.curlrc"
164
919
  }
165
920
  }
166
921
  }
@@ -175,6 +930,55 @@
175
930
  "name": "punctuation.definition.string.end.curlrc"
176
931
  }
177
932
  }
933
+ },
934
+ "url": {
935
+ "patterns": [
936
+ {
937
+ "include": "#autoRefer"
938
+ },
939
+ {
940
+ "include": "etc#comma"
941
+ },
942
+ {
943
+ "match": "(?\u003c=\\G\"|^\")((?:[^\"\\\\]|\\\\.)*)(?=$|\"|;)|(?:\\G(?\u003c!\")|^)([^\\s,]+?)(?=$|\\s|;|,)",
944
+ "captures": {
945
+ "1": {
946
+ "patterns": [
947
+ {
948
+ "include": "etc#url"
949
+ },
950
+ {
951
+ "include": "#urlNoSchema"
952
+ }
953
+ ]
954
+ },
955
+ "2": {
956
+ "patterns": [
957
+ {
958
+ "include": "etc#url"
959
+ },
960
+ {
961
+ "include": "#urlNoSchema"
962
+ }
963
+ ]
964
+ }
965
+ }
966
+ },
967
+ {
968
+ "include": "#params"
969
+ },
970
+ {
971
+ "include": "etc#bareword"
972
+ }
973
+ ]
974
+ },
975
+ "urlNoSchema": {
976
+ "match": "(?:\\G|^)\\s*([-a-zA-Z0-9]+(?:\\.|@)[-a-zA-Z0-9]+.*)\\s*",
977
+ "captures": {
978
+ "1": {
979
+ "name": "constant.other.reference.link.underline.url.curlrc"
980
+ }
981
+ }
178
982
  }
179
983
  }
180
984
  }