github-linguist 7.22.1 → 7.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/inline.graphql.json +1 -0
  3. data/grammars/inline.graphql.php.json +1 -0
  4. data/grammars/inline.graphql.python.json +1 -0
  5. data/grammars/inline.graphql.re.json +1 -0
  6. data/grammars/inline.graphql.res.json +1 -0
  7. data/grammars/inline.prisma.json +1 -1
  8. data/grammars/liquid.injection.json +1 -1
  9. data/grammars/markdown.graphql.codeblock.json +1 -0
  10. data/grammars/markdown.rescript.codeblock.json +1 -0
  11. data/grammars/source.abapcds.json +1 -1
  12. data/grammars/source.astro.json +1 -1
  13. data/grammars/source.bicep.json +1 -1
  14. data/grammars/source.brs.json +1 -1
  15. data/grammars/source.cobol.json +1 -1
  16. data/grammars/source.context.json +1 -0
  17. data/grammars/source.cs.json +1 -1
  18. data/grammars/source.curry.json +1 -1
  19. data/grammars/source.dart.json +1 -1
  20. data/grammars/source.ditroff.json +1 -1
  21. data/grammars/source.elvish-transcript.json +1 -0
  22. data/grammars/source.elvish.in.markdown.json +1 -0
  23. data/grammars/source.elvish.json +1 -0
  24. data/grammars/source.fsharp.json +1 -1
  25. data/grammars/source.ftl.json +1 -1
  26. data/grammars/source.gdscript.json +1 -1
  27. data/grammars/source.gdshader.json +1 -1
  28. data/grammars/source.gemini.json +1 -0
  29. data/grammars/source.graphql.json +1 -1
  30. data/grammars/source.hack.json +1 -1
  31. data/grammars/source.hocon.json +1 -0
  32. data/grammars/source.jsonnet.json +1 -1
  33. data/grammars/source.julia.json +1 -1
  34. data/grammars/source.kusto.json +1 -1
  35. data/grammars/source.mo.json +1 -1
  36. data/grammars/source.move.json +1 -1
  37. data/grammars/source.p4.json +1 -1
  38. data/grammars/source.pic.json +1 -1
  39. data/grammars/source.postscript.json +1 -1
  40. data/grammars/source.ql.json +1 -1
  41. data/grammars/source.rsc.json +1 -1
  42. data/grammars/source.scala.json +1 -1
  43. data/grammars/source.sexp.json +1 -0
  44. data/grammars/source.stan.json +1 -1
  45. data/grammars/source.ts.json +1 -1
  46. data/grammars/source.ts.prismaClientRawSQL.json +1 -0
  47. data/grammars/source.tsx.json +1 -1
  48. data/grammars/source.v.json +1 -1
  49. data/grammars/source.xojo.json +1 -1
  50. data/grammars/text.adblock.json +1 -0
  51. data/grammars/text.checksums.json +1 -1
  52. data/grammars/text.html.liquid.json +1 -1
  53. data/grammars/text.html.statamic.json +1 -1
  54. data/grammars/text.info.json +1 -1
  55. data/grammars/text.marko.json +1 -1
  56. data/grammars/text.restructuredtext.json +1 -1
  57. data/grammars/text.roff.json +1 -1
  58. data/grammars/text.texinfo.json +1 -1
  59. data/grammars/version +1 -1
  60. data/lib/linguist/VERSION +1 -1
  61. data/lib/linguist/generated.rb +2 -2
  62. data/lib/linguist/generic.yml +1 -0
  63. data/lib/linguist/heuristics.yml +50 -2
  64. data/lib/linguist/languages.json +1 -1
  65. data/lib/linguist/languages.yml +45 -1
  66. data/lib/linguist/samples.json +1 -1
  67. metadata +19 -3
@@ -1 +1 @@
1
- {"name":"PostScript","scopeName":"source.postscript","patterns":[{"name":"meta.document.pdf","begin":"\\A(?=%PDF)","end":"(?=A)B","patterns":[{"include":"#main"}]},{"name":"meta.ai-prefs.postscript","begin":"\\A(?=/(?:(?:Menus|collection1|precision) {|textImportantVisualLinesSnapping \\d)(?:\\r|$))","end":"(?=A)B","patterns":[{"include":"#main"}]},{"include":"#main"}],"repository":{"array":{"name":"meta.array.postscript","begin":"\\[","end":"\\]","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.postscript"}}},"base85":{"name":"string.other.base85.postscript","begin":"\u003c~","end":"~\u003e","patterns":[{"name":"invalid.illegal.base85.char.postscript","match":"(?:[^!-uz\\s]|~(?!\u003e))++"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"comment":{"patterns":[{"name":"punctuation.whitespace.comment.leading.postscript","match":"^[ \\t]+(?=%)"},{"include":"#dsc"},{"name":"comment.line.percentage.postscript","begin":"%","end":"(?=$|\\r|\\f)","beginCaptures":{"0":{"name":"punctuation.definition.comment.postscript"}}}]},"dictionary":{"name":"meta.dictionary.postscript","begin":"\u003c\u003c","end":"\u003e\u003e","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.postscript"}}},"dsc":{"name":"meta.Document-Structuring-Comment.postscript","contentName":"string.unquoted.DSC.postscript","begin":"(?x) ^ (%%)\n( BeginBinary\n| BeginCustomColor\n| BeginData\n| BeginDefaults\n| BeginDocument\n| BeginEmulation\n| BeginExitServer\n| BeginFeature\n| BeginFile\n| BeginFont\n| BeginObject\n| BeginPageSetup\n| BeginPaperSize\n| BeginPreview\n| BeginProcSet\n| BeginProcessColor\n| BeginProlog\n| BeginResource\n| BeginSetup\n| BoundingBox\n| CMYKCustomColor\n| ChangeFont\n| Copyright\n| CreationDate\n| Creator\n| DocumentCustomColors\n| DocumentData\n| DocumentFonts\n| DocumentMedia\n| DocumentNeededFiles\n| DocumentNeededFonts\n| DocumentNeededProcSets\n| DocumentNeededResources\n| DocumentPaperColors\n| DocumentPaperForms\n| DocumentPaperSizes\n| DocumentPaperWeights\n| DocumentPrinterRequired\n| DocumentProcSets\n| DocumentProcessColors\n| DocumentSuppliedFiles\n| DocumentSuppliedFonts\n| DocumentSuppliedProcSets\n| DocumentSuppliedResources\n| EOF\n| Emulation\n| EndBinary\n| EndComments\n| EndCustomColor\n| EndData\n| EndDefaults\n| EndDocument\n| EndEmulation\n| EndExitServer\n| EndFeature\n| EndFile\n| EndFont\n| EndObject\n| EndPageSetup\n| EndPaperSize\n| EndPreview\n| EndProcSet\n| EndProcessColor\n| EndProlog\n| EndResource\n| EndSetup\n| ExecuteFile\n| Extensions\n| Feature\n| For\n| IncludeDocument\n| IncludeFeature\n| IncludeFile\n| IncludeFont\n| IncludeProcSet\n| IncludeResource\n| LanguageLevel\n| OperatorIntervention\n| OperatorMessage\n| Orientation\n| PageBoundingBox\n| PageCustomColors\n| PageFiles\n| PageFonts\n| PageMedia\n| PageOrder\n| PageOrientation\n| PageProcessColors\n| PageRequirements\n| PageResources\n| PageTrailer\n| Pages\n| Page\n| PaperColor\n| PaperForm\n| PaperSize\n| PaperWeight\n| ProofMode\n| RGBCustomColor\n| Requirements\n| Routing\n| Title\n| Trailer\n| VMlocation\n| VMusage\n| Version\n| \\+\n| \\?BeginFeatureQuery\n| \\?BeginFileQuery\n| \\?BeginFontListQuery\n| \\?BeginFontQuery\n| \\?BeginPrinterQuery\n| \\?BeginProcSetQuery\n| \\?BeginQuery\n| \\?BeginResourceListQuery\n| \\?BeginResourceQuery\n| \\?BeginVMStatus\n| \\?EndFeatureQuery\n| \\?EndFileQuery\n| \\?EndFontListQuery\n| \\?EndFontQuery\n| \\?EndPrinterQuery\n| \\?EndProcSetQuery\n| \\?EndQuery\n| \\?EndResourceListQuery\n| \\?EndResourceQuery\n| \\?EndVMStatus\n) (:)? [^\\S\\r\\n]*","end":"(?=$|\\r|\\f)","beginCaptures":{"0":{"name":"keyword.other.DSC.postscript"},"1":{"name":"punctuation.definition.keyword.DSC.postscript"},"3":{"name":"keyword.operator.assignment.key-value.colon.postscript"}}},"embedded":{"patterns":[{"contentName":"string.unquoted.heredoc.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+((?=\\S)[^{}%]+?)\\s+(readline)(?!\\s*})\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])(?:$\\s*)?","end":"(?!\\G)$","beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"patterns":[{"include":"#main"}]},"3":{"name":"keyword.operator.postscript"}}},{"name":"meta.encrypted-source.base85.postscript","contentName":"string.other.base85.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s*((/)ASCII85Decode)\\s+(filter)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])([^}\u003e\\]%]*?(?:exec|image|readstring)\\s*)$\\s*+","end":"~\u003e|(?=cleartomark|closefile)","beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"name":"variable.other.literal.postscript"},"3":{"name":"punctuation.definition.name.postscript"},"4":{"name":"keyword.operator.postscript"},"5":{"patterns":[{"include":"#main"}]}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},{"name":"meta.encrypted-source.eexec.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+(eexec)(?:$|(?=.*[\\0-\\x08\\x14-\\x31\\x7F\\x80-\\x9F])(?=.{0,3}?[^A-Fa-f0-9]|\\b[A-Fa-f0-9]))","end":"(cleartomark|closefile)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])|(?\u003c=\\G)(?=[^\\s0-9A-Fa-f])","patterns":[{"begin":"\\G(?=\\s*$)","end":"(?=\\s*\\S)"},{"begin":"(?:\\G|(?\u003c=\\n|^))\\s*(?=\\S)","end":"(?!\\G)","patterns":[{"name":"string.other.raw.binary.postscript","contentName":"sublimelinter.gutter-mark","begin":"\\G(?!cleartomark|closefile)(?=.{0,3}?[^A-Fa-f0-9])","end":"(?=\\s*(?:cleartomark|closefile))"},{"name":"string.other.hexadecimal.postscript","begin":"\\G(?!cleartomark|closefile)(?=\\s{0,3}?(?:[A-Fa-f0-9]))","end":"(?=\\s*[^A-Fa-f0-9\\s]|cleartomark|closefile)"}]}],"beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"name":"keyword.operator.postscript"}},"endCaptures":{"1":{"name":"keyword.operator.postscript"}}}]},"embeddedRow":{"patterns":[{"name":"string.other.base85.postscript","match":"^[!-uz]{0,78}(~\u003e)","captures":{"1":{"name":"punctuation.definition.string.end.postscript"}}},{"name":"string.other.base85.postscript","begin":"(?x) ^\n(?= [^%\\[]*? \\]\n| [^%(]*? \\)\n| [^%\u003c]*? \u003e\n| .*? \u003c(?!~|\u003c) [A-Fa-f0-9]* [^~\u003eA-Fa-f0-9]\n) [!-uz]{60,80} [^\\S\\r\\n]* $","end":"^[!-uz]{0,78}(~\u003e)","endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}}]},"extensions":{"name":"keyword.operator.ghostscript.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) (?:\\b|(?=\\.))\n( \\.activatepathcontrol\n| \\.addcontrolpath\n| \\.begintransparencygroup\n| \\.begintransparencymaskgroup\n| \\.bind\n| \\.bindnow\n| \\.currentalphaisshape\n| \\.currentblendmode\n| \\.currentfillconstantalpha\n| \\.currentopacityalpha\n| \\.currentoverprintmode\n| \\.currentpathcontrolstate\n| \\.currentshapealpha\n| \\.currentstrokeconstantalpha\n| \\.currenttextknockout\n| \\.dicttomark\n| \\.endtransparencygroup\n| \\.endtransparencymask\n| \\.fileposition\n| \\.genordered\n| \\.knownget\n| \\.locksafe\n| \\.popdf14devicefilter\n| \\.pushpdf14devicefilter\n| \\.setalphaisshape\n| \\.setblendmode\n| \\.setdebug\n| \\.setfillconstantalpha\n| \\.setopacityalpha\n| \\.setoverprintmode\n| \\.setsafe\n| \\.setshapealpha\n| \\.setstrokeconstantalpha\n| \\.settextknockout\n| \\.shellarguments\n| \\.tempfile\n| %Type1BuildChar\n| %Type1BuildGlyph\n| arccos\n| arcsin\n| copydevice\n| copyscanlines\n| currentdevice\n| finddevice\n| findlibfile\n| findprotodevice\n| getdeviceprops\n| getenv\n| makeimagedevice\n| max\n| min\n| putdeviceprops\n| setdevice\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},"hex":{"name":"string.other.hexadecimal.postscript","begin":"\u003c","end":"\u003e","patterns":[{"name":"invalid.illegal.hexadecimal.char.postscript","match":"[^\u003e0-9A-Fa-f\\s]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"main":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#dictionary"},{"include":"#array"},{"include":"#procedure"},{"include":"#base85"},{"include":"#hex"},{"include":"#radix"},{"include":"#number"},{"include":"#embedded"},{"include":"#operators"},{"include":"#extensions"},{"include":"#embeddedRow"},{"include":"#names"}]},"names":{"patterns":[{"name":"variable.other.constant.immediately-evaluated.postscript","match":"(//)[^()\u003c\u003e\\[\\]{}/%\\s]*","captures":{"1":{"name":"punctuation.definition.name.postscript"}}},{"name":"variable.other.constant.literal.postscript","match":"(/)[^()\u003c\u003e\\[\\]{}/%\\s]*","captures":{"1":{"name":"punctuation.definition.name.postscript"}}},{"name":"variable.other.executable.postscript","match":"[^()\u003c\u003e\\[\\]{}/%\\s]+"}]},"number":{"name":"constant.numeric.postscript","match":"[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][-+]?\\d+)?(?=$|[\\s\\[\\]{}(/%\u003c])"},"operators":{"patterns":[{"name":"keyword.operator.level-3.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( GetHalftoneName\n| GetPageDeviceName\n| GetSubstituteCRD\n| StartData\n| StartData\n| addglyph\n| beginbfchar\n| beginbfrange\n| begincidchar\n| begincidrange\n| begincmap\n| begincodespacerange\n| beginnotdefchar\n| beginnotdefrange\n| beginrearrangedfont\n| beginusematrix\n| cliprestore\n| clipsave\n| composefont\n| currentsmoothness\n| currenttrapparams\n| endbfchar\n| endbfrange\n| endcidchar\n| endcidrange\n| endcmap\n| endcodespacerange\n| endnotdefchar\n| endnotdefrange\n| endrearrangedfont\n| endusematrix\n| findcolorrendering\n| removeall\n| removeglyphs\n| setsmoothness\n| settrapparams\n| settrapzone\n| shfill\n| usecmap\n| usefont\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},{"name":"keyword.operator.level-2.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( GlobalFontDirectory\n| ISOLatin1Encoding\n| SharedFontDirectory\n| UserObjects\n| arct\n| colorimage\n| configurationerror\n| cshow\n| currentblackgeneration\n| currentcacheparams\n| currentcmykcolor\n| currentcolorrendering\n| currentcolorscreen\n| currentcolorspace\n| currentcolortransfer\n| currentcolor\n| currentdevparams\n| currentglobal\n| currentgstate\n| currenthalftone\n| currentobjectformat\n| currentoverprint\n| currentpacking\n| currentpagedevice\n| currentshared\n| currentstrokeadjust\n| currentsystemparams\n| currentundercolorremoval\n| currentuserparams\n| defineresource\n| defineuserobject\n| deletefile\n| execform\n| execuserobject\n| filenameforall\n| fileposition\n| filter\n| findencoding\n| findresource\n| gcheck\n| globaldict\n| glyphshow\n| gstate\n| ineofill\n| infill\n| instroke\n| inueofill\n| inufill\n| inustroke\n| languagelevel\n| makepattern\n| packedarray\n| printobject\n| product\n| realtime\n| rectclip\n| rectfill\n| rectstroke\n| renamefile\n| resourceforall\n| resourcestatus\n| revision\n| rootfont\n| scheck\n| selectfont\n| serialnumber\n| setbbox\n| setblackgeneration\n| setcachedevice2\n| setcacheparams\n| setcmykcolor\n| setcolorrendering\n| setcolorscreen\n| setcolorspace\n| setcolortransfer\n| setcolor\n| setdevparams\n| setfileposition\n| setglobal\n| setgstate\n| sethalftone\n| setobjectformat\n| setoverprint\n| setpacking\n| setpagedevice\n| setpattern\n| setshared\n| setstrokeadjust\n| setsystemparams\n| setucacheparams\n| setundercolorremoval\n| setuserparams\n| setvmthreshold\n| shareddict\n| startjob\n| uappend\n| ucachestatus\n| ucache\n| ueofill\n| ufill\n| undefinedresource\n| undefinefont\n| undefineresource\n| undefineuserobject\n| undef\n| upath\n| ustrokepath\n| ustroke\n| vmreclaim\n| writeobject\n| xshow\n| xyshow\n| yshow\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},{"name":"keyword.operator.level-1.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( FontDirectory\n| StandardEncoding\n| VMerror\n| abs\n| add\n| aload\n| anchorsearch\n| and\n| arcn\n| arcto\n| arc\n| array\n| ashow\n| astore\n| atan\n| awidthshow\n| begin\n| bind\n| bitshift\n| bytesavailable\n| cachestatus\n| ceiling\n| charpath\n| cleardictstack\n| cleartomark\n| clear\n| clippath\n| clip\n| closefile\n| closepath\n| colorimage\n| concatmatrix\n| concat\n| condition\n| copypage\n| copy\n| cos\n| countdictstack\n| countexecstack\n| counttomark\n| count\n| currentcontext\n| currentdash\n| currentdict\n| currentfile\n| currentflat\n| currentfont\n| currentgray\n| currenthalftonephase\n| currenthsbcolor\n| currentlinecap\n| currentlinejoin\n| currentlinewidth\n| currentmatrix\n| currentmiterlimit\n| currentpoint\n| currentrgbcolor\n| currentscreen\n| currenttransfer\n| curveto\n| cvi\n| cvlit\n| cvn\n| cvrs\n| cvr\n| cvs\n| cvx\n| defaultmatrix\n| definefont\n| defineusername\n| def\n| detach\n| deviceinfo\n| dictfull\n| dictstackoverflow\n| dictstackunderflow\n| dictstack\n| dict\n| div\n| dtransform\n| dup\n| echo\n| eexec\n| end\n| eoclip\n| eofill\n| eoviewclip\n| eq\n| erasepage\n| errordict\n| exch\n| execstackoverflow\n| execstack\n| executeonly\n| executive\n| exec\n| exitserver\n| exit\n| exp\n| false\n| file\n| fill\n| findfont\n| flattenpath\n| floor\n| flushfile\n| flush\n| forall\n| fork\n| for\n| getinterval\n| get\n| ge\n| grestoreall\n| grestore\n| gsave\n| gt\n| handleerror\n| identmatrix\n| idiv\n| idtransform\n| ifelse\n| if\n| imagemask\n| image\n| index\n| initclip\n| initgraphics\n| initmatrix\n| initviewclip\n| internaldict\n| interrupt\n| invalidaccess\n| invalidcontext\n| invalidexit\n| invalidfileaccess\n| invalidfont\n| invalidid\n| invalidrestore\n| invertmatrix\n| ioerror\n| itransform\n| known\n| kshow\n| length\n| le\n| limitcheck\n| lineto\n| ln\n| load\n| lock\n| log\n| loop\n| lt\n| makefont\n| mark\n| matrix\n| maxlength\n| mod\n| monitor\n| moveto\n| mul\n| neg\n| newpath\n| ne\n| noaccess\n| nocurrentpoint\n| notify\n| not\n| nulldevice\n| null\n| or\n| pathbbox\n| pathforall\n| pdfmark\n| pop\n| print\n| prompt\n| pstack\n| putinterval\n| put\n| quit\n| rand\n| rangecheck\n| rcheck\n| rcurveto\n| readhexstring\n| readline\n| readonly\n| readstring\n| read\n| rectviewclip\n| repeat\n| resetfile\n| restore\n| reversepath\n| rlineto\n| rmoveto\n| roll\n| rotate\n| round\n| rrand\n| run\n| save\n| scalefont\n| scale\n| search\n| serverdict\n| setcachedevice\n| setcachelimit\n| setcharwidth\n| setdash\n| setflat\n| setfont\n| setgray\n| sethalftonephase\n| sethsbcolor\n| setlinecap\n| setlinejoin\n| setlinewidth\n| setmatrix\n| setmiterlimit\n| setrgbcolor\n| setscreen\n| settransfer\n| showpage\n| show\n| sin\n| sqrt\n| srand\n| stackoverflow\n| stackunderflow\n| stack\n| start\n| statusdict\n| status\n| stopped\n| stop\n| store\n| stringwidth\n| string\n| strokepath\n| stroke\n| sub\n| syntaxerror\n| systemdict\n| timeout\n| token\n| transform\n| translate\n| true\n| truncate\n| typecheck\n| type\n| undefinedfilename\n| undefinedresult\n| undefined\n| unmatchedmark\n| unregistered\n| userdict\n| usertime\n| version\n| viewclippath\n| viewclip\n| vmstatus\n| wait\n| wcheck\n| where\n| widthshow\n| writehexstring\n| writestring\n| write\n| wtranslation\n| xcheck\n| xor\n| yield\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])\n|\n# Stuff that starts with a non-word character\n(?\u003c=^|[/\\s{}()\u003c\u003e\\[\\]%])\n(=?=|\\$error)\n(?=$|[/\\s{}()\u003c\u003e\\[\\]%])"}]},"procedure":{"name":"meta.procedure.postscript","begin":"{","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.procedure.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.procedure.end.postscript"}}},"radix":{"name":"constant.numeric.radix.postscript","match":"[0-3]?[0-9]#[0-9a-zA-Z]+"},"specialFiles":{"patterns":[{"name":"constant.language.device-name.$2-device.postscript","match":"\\G(%)([-\\w]+)(?=%|\\)|$)(%)?","captures":{"1":{"name":"punctuation.definition.device-name.begin.postscript"},"3":{"name":"punctuation.definition.device-name.end.postscript"}}},{"name":"constant.language.special-file.stdio.$2.postscript","match":"\\G(%)(stderr|stdin|stdout)(?=\\)|$)","captures":{"1":{"name":"punctuation.definition.special-file.begin.postscript"},"3":{"name":"punctuation.definition.special-file.end.postscript"}}},{"name":"constant.language.special-file.interactive.$2.postscript","match":"\\G(%)(lineedit|statementedit)(?=\\)|$)","captures":{"1":{"name":"punctuation.definition.special-file.begin.postscript"},"3":{"name":"punctuation.definition.special-file.end.postscript"}}}]},"string":{"name":"string.other.postscript","begin":"\\(","end":"\\)","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"stringInnards":{"patterns":[{"include":"#specialFiles"},{"name":"constant.numeric.octal.postscript","match":"\\\\[0-7]{1,3}"},{"name":"constant.character.escape.postscript","match":"\\\\(\\\\|[bfnrt()]|[0-7]{1,3}|\\r?\\n)"},{"name":"invalid.illegal.unknown-escape.postscript.ignored","match":"\\\\"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#stringInnards"}]}]}},"injections":{"L:source.postscript meta.ai-prefs.postscript - (comment | string | source.embedded | text.embedded)":{"patterns":[{"name":"meta.obfuscated-setting.ai-prefs.postscript","contentName":"meta.array.postscript","begin":"^\\s*(/(?:\\\\.|[^()\u003c\u003e\\[\\]{}/%\\s])*) ((\\[) (?!0\\b)(\\d+)(?:$|\\r))","end":"^\\s*(\\])|\\G(?!$)|(?!\\G)^(?!\\s*(?:\\]|[A-Fa-f0-9]+$))","patterns":[{"name":"string.other.hexadecimal.postscript","match":"[A-Fa-f0-9]+"}],"beginCaptures":{"1":{"patterns":[{"include":"$self"}]},"2":{"name":"meta.array.postscript"},"3":{"name":"punctuation.definition.array.begin.postscript"},"4":{"name":"constant.numeric.postscript"}},"endCaptures":{"0":{"name":"meta.array.postscript"},"1":{"name":"punctuation.definition.array.end.postscript"}}},{"name":"variable.other.constant.literal.postscript","match":"(/)((?:\\\\.|[^()\u003c\u003e\\[\\]{}/%\\s])*)","captures":{"1":{"name":"punctuation.definition.name.postscript"},"2":{"patterns":[{"name":"constant.character.escape.postscript","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.postscript"}}}]}}},{"name":"constant.numeric.integer.long.postscript","match":"[0-9]+L"}]},"L:source.postscript meta.document.pdf - (meta.encrypted-source | source.embedded | text.embedded)":{"patterns":[{"name":"meta.encrypted-source.stream.pdf","begin":"(?:^|(?\u003c=\u003e\u003e)\\s*)(?=stream$)","end":"endstream|(?=endobj\\b)","patterns":[{"begin":"\\G(stream)\\s*$\\s*","end":"(?=endstream|(?=endobj\\b))","patterns":[{"contentName":"text.embedded.xml","begin":"(\u003c\\?xpacket(?=\\s)[^\u003e]+\\?\u003e)(?=$|\u003cx:xmpmeta)","end":"(\u003c\\?xpacket(?=\\s)[^\u003e]*end\\b[^\u003e]*\\?\u003e)|(?=\\s*(?:endstream|endobj\\b))","patterns":[{"include":"text.xml"}],"beginCaptures":{"1":{"name":"text.embedded.xml","patterns":[{"include":"text.xml"}]}},"endCaptures":{"1":{"name":"text.embedded.xml","patterns":[{"include":"text.xml"}]}}},{"name":"string.other.base85.pdf","begin":"(?!endstream)[!-uz]{50,80}\\s*$","end":"~\u003e|(?=\\s*(?:endstream|endobj\\b))","endCaptures":{"0":{"name":"punctuation.definition.string.end.pdf"}}},{"name":"string.other.raw.binary.pdf","contentName":"sublimelinter.gutter-mark","begin":"(?!endstream|[!-uz]{50,80}\\s*$)(?:(?\u003c=[\\n\\r]|\\G|^))(?=.)","end":"(?=\\s*(?:endstream|endobj\\b))"}],"beginCaptures":{"1":{"name":"keyword.control.stream.begin.pdf"}}}],"endCaptures":{"0":{"name":"keyword.control.stream.end.pdf"}}},{"match":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(obj)\\s*(?=\u003c\u003c|$)|(?\u003c=^|\\n|\u003e\u003e)(endobj)","captures":{"1":{"name":"keyword.control.object.begin.pdf"},"2":{"name":"keyword.control.object.end.pdf"}}},{"name":"keyword.control.$1.pdf","match":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(trailer|startxref)(?![^/\\s{}()\u003c\u003e\\[\\]%])"}]}}}
1
+ {"name":"PostScript","scopeName":"source.postscript","patterns":[{"name":"meta.document.pdf","begin":"\\A(?=%PDF)","end":"(?=A)B","patterns":[{"include":"#main"}]},{"name":"meta.ai-prefs.postscript","begin":"\\A(?=/(?:(?:Menus|collection1|precision) {|textImportantVisualLinesSnapping \\d)(?:\\r|$))","end":"(?=A)B","patterns":[{"include":"#main"}]},{"include":"#main"}],"repository":{"array":{"name":"meta.array.postscript","begin":"\\[","end":"\\]","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.postscript"}}},"base85":{"name":"string.other.base85.postscript","begin":"\u003c~","end":"~\u003e","patterns":[{"name":"invalid.illegal.base85.char.postscript","match":"(?:[^!-uz\\s]|~(?!\u003e))++"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"comment":{"patterns":[{"name":"punctuation.whitespace.comment.leading.postscript","match":"^[ \\t]+(?=%)"},{"include":"#dsc"},{"name":"comment.line.percentage.postscript","begin":"%","end":"(?=$|\\r|\\f)","beginCaptures":{"0":{"name":"punctuation.definition.comment.postscript"}}}]},"dictionary":{"name":"meta.dictionary.postscript","begin":"\u003c\u003c","end":"\u003e\u003e","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.postscript"}}},"dsc":{"name":"meta.Document-Structuring-Comment.postscript","contentName":"string.unquoted.DSC.postscript","begin":"(?x) ^ (%%)\n( BeginBinary\n| BeginCustomColor\n| BeginData\n| BeginDefaults\n| BeginDocument\n| BeginEmulation\n| BeginExitServer\n| BeginFeature\n| BeginFile\n| BeginFont\n| BeginObject\n| BeginPageSetup\n| BeginPaperSize\n| BeginPreview\n| BeginProcSet\n| BeginProcessColor\n| BeginProlog\n| BeginResource\n| BeginSetup\n| BoundingBox\n| CMYKCustomColor\n| ChangeFont\n| Copyright\n| CreationDate\n| Creator\n| DocumentCustomColors\n| DocumentData\n| DocumentFonts\n| DocumentMedia\n| DocumentNeededFiles\n| DocumentNeededFonts\n| DocumentNeededProcSets\n| DocumentNeededResources\n| DocumentPaperColors\n| DocumentPaperForms\n| DocumentPaperSizes\n| DocumentPaperWeights\n| DocumentPrinterRequired\n| DocumentProcSets\n| DocumentProcessColors\n| DocumentSuppliedFiles\n| DocumentSuppliedFonts\n| DocumentSuppliedProcSets\n| DocumentSuppliedResources\n| EOF\n| Emulation\n| EndBinary\n| EndComments\n| EndCustomColor\n| EndData\n| EndDefaults\n| EndDocument\n| EndEmulation\n| EndExitServer\n| EndFeature\n| EndFile\n| EndFont\n| EndObject\n| EndPageSetup\n| EndPaperSize\n| EndPreview\n| EndProcSet\n| EndProcessColor\n| EndProlog\n| EndResource\n| EndSetup\n| ExecuteFile\n| Extensions\n| Feature\n| For\n| IncludeDocument\n| IncludeFeature\n| IncludeFile\n| IncludeFont\n| IncludeProcSet\n| IncludeResource\n| LanguageLevel\n| OperatorIntervention\n| OperatorMessage\n| Orientation\n| PageBoundingBox\n| PageCustomColors\n| PageFiles\n| PageFonts\n| PageMedia\n| PageOrder\n| PageOrientation\n| PageProcessColors\n| PageRequirements\n| PageResources\n| PageTrailer\n| Pages\n| Page\n| PaperColor\n| PaperForm\n| PaperSize\n| PaperWeight\n| ProofMode\n| RGBCustomColor\n| Requirements\n| Routing\n| Title\n| Trailer\n| VMlocation\n| VMusage\n| Version\n| \\+\n| \\?BeginFeatureQuery\n| \\?BeginFileQuery\n| \\?BeginFontListQuery\n| \\?BeginFontQuery\n| \\?BeginPrinterQuery\n| \\?BeginProcSetQuery\n| \\?BeginQuery\n| \\?BeginResourceListQuery\n| \\?BeginResourceQuery\n| \\?BeginVMStatus\n| \\?EndFeatureQuery\n| \\?EndFileQuery\n| \\?EndFontListQuery\n| \\?EndFontQuery\n| \\?EndPrinterQuery\n| \\?EndProcSetQuery\n| \\?EndQuery\n| \\?EndResourceListQuery\n| \\?EndResourceQuery\n| \\?EndVMStatus\n) (:)? [^\\S\\r\\n]*","end":"(?=$|\\r|\\f)","beginCaptures":{"0":{"name":"keyword.other.DSC.postscript"},"1":{"name":"punctuation.definition.keyword.DSC.postscript"},"3":{"name":"keyword.operator.assignment.key-value.colon.postscript"}}},"embedded":{"patterns":[{"contentName":"string.unquoted.heredoc.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+((?=\\S)[^{}%]+?)\\s+(readline)(?!\\s*})\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])(?:$\\s*)?","end":"(?!\\G)$","beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"patterns":[{"include":"#main"}]},"3":{"name":"keyword.operator.postscript"}}},{"name":"meta.encrypted-source.base85.postscript","contentName":"string.other.base85.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s*((/)ASCII85Decode)\\s+(filter)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])([^}\u003e\\]%]*?(?:exec|image|readstring)\\s*)$\\s*+","end":"~\u003e|(?=cleartomark|closefile)","beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"name":"variable.other.literal.postscript"},"3":{"name":"punctuation.definition.name.postscript"},"4":{"name":"keyword.operator.postscript"},"5":{"patterns":[{"include":"#main"}]}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},{"name":"meta.encrypted-source.eexec.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+(eexec)(?:$|(?=.*[\\0-\\x08\\x14-\\x31\\x7F\\x80-\\x9F])(?=.{0,3}?[^A-Fa-f0-9]|\\b[A-Fa-f0-9]))","end":"(cleartomark|closefile)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])|(?\u003c=\\G)(?=[^\\s0-9A-Fa-f])","patterns":[{"begin":"\\G(?=\\s*$)","end":"(?=\\s*\\S)"},{"begin":"(?:\\G|(?\u003c=\\n|^))\\s*(?=\\S)","end":"(?!\\G)","patterns":[{"name":"string.other.raw.binary.postscript","contentName":"sublimelinter.gutter-mark","begin":"\\G(?!cleartomark|closefile)(?=.{0,3}?[^A-Fa-f0-9])","end":"(?=\\s*(?:cleartomark|closefile))"},{"name":"string.other.hexadecimal.postscript","begin":"\\G(?!cleartomark|closefile)(?=\\s{0,3}?(?:[A-Fa-f0-9]))","end":"(?=\\s*[^A-Fa-f0-9\\s]|cleartomark|closefile)"}]}],"beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"name":"keyword.operator.postscript"}},"endCaptures":{"1":{"name":"keyword.operator.postscript"}}}]},"embeddedRow":{"patterns":[{"name":"string.other.base85.postscript","match":"^[!-uz]{0,78}(~\u003e)","captures":{"1":{"name":"punctuation.definition.string.end.postscript"}}},{"name":"string.other.base85.postscript","begin":"(?x) ^\n(?= [^%\\[]*? \\]\n| [^%(]*? \\)\n| [^%\u003c]*? \u003e\n| .*? \u003c(?!~|\u003c) [A-Fa-f0-9]* [^~\u003eA-Fa-f0-9]\n) [!-uz]{60,80} [^\\S\\r\\n]* $","end":"^[!-uz]{0,78}(~\u003e)","endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}}]},"extensions":{"name":"keyword.operator.ghostscript.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) (?:\\b|(?=\\.))\n( \\.activatepathcontrol\n| \\.addcontrolpath\n| \\.begintransparencygroup\n| \\.begintransparencymaskgroup\n| \\.bind\n| \\.bindnow\n| \\.currentalphaisshape\n| \\.currentblendmode\n| \\.currentfillconstantalpha\n| \\.currentopacityalpha\n| \\.currentoverprintmode\n| \\.currentpathcontrolstate\n| \\.currentshapealpha\n| \\.currentstrokeconstantalpha\n| \\.currenttextknockout\n| \\.dicttomark\n| \\.endtransparencygroup\n| \\.endtransparencymask\n| \\.fileposition\n| \\.genordered\n| \\.knownget\n| \\.locksafe\n| \\.popdf14devicefilter\n| \\.pushpdf14devicefilter\n| \\.setalphaisshape\n| \\.setblendmode\n| \\.setdebug\n| \\.setfillconstantalpha\n| \\.setopacityalpha\n| \\.setoverprintmode\n| \\.setsafe\n| \\.setshapealpha\n| \\.setstrokeconstantalpha\n| \\.settextknockout\n| \\.shellarguments\n| \\.tempfile\n| %Type1BuildChar\n| %Type1BuildGlyph\n| arccos\n| arcsin\n| copydevice\n| copyscanlines\n| currentdevice\n| finddevice\n| findlibfile\n| findprotodevice\n| getdeviceprops\n| getenv\n| makeimagedevice\n| max\n| min\n| putdeviceprops\n| setdevice\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},"hex":{"name":"string.other.hexadecimal.postscript","begin":"\u003c","end":"\u003e","patterns":[{"name":"invalid.illegal.hexadecimal.char.postscript","match":"[^\u003e0-9A-Fa-f\\s]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"main":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#dictionary"},{"include":"#array"},{"include":"#procedure"},{"include":"#base85"},{"include":"#hex"},{"include":"#radix"},{"include":"#number"},{"include":"#embedded"},{"include":"#operators"},{"include":"#extensions"},{"include":"#embeddedRow"},{"include":"#names"}]},"names":{"patterns":[{"name":"variable.other.constant.immediately-evaluated.postscript","match":"(//)[^()\u003c\u003e\\[\\]{}/%\\s]*","captures":{"1":{"name":"punctuation.definition.name.postscript"}}},{"name":"variable.other.constant.literal.postscript","match":"(/)[^()\u003c\u003e\\[\\]{}/%\\s]*","captures":{"1":{"name":"punctuation.definition.name.postscript"}}},{"name":"variable.other.executable.postscript","match":"[^()\u003c\u003e\\[\\]{}/%\\s]+"}]},"number":{"name":"constant.numeric.postscript","match":"[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][-+]?\\d+)?(?=$|[\\s\\[\\]{}(/%\u003c])"},"operators":{"patterns":[{"name":"keyword.operator.level-3.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( GetHalftoneName\n| GetPageDeviceName\n| GetSubstituteCRD\n| StartData\n| StartData\n| addglyph\n| beginbfchar\n| beginbfrange\n| begincidchar\n| begincidrange\n| begincmap\n| begincodespacerange\n| beginnotdefchar\n| beginnotdefrange\n| beginrearrangedfont\n| beginusematrix\n| cliprestore\n| clipsave\n| composefont\n| currentsmoothness\n| currenttrapparams\n| endbfchar\n| endbfrange\n| endcidchar\n| endcidrange\n| endcmap\n| endcodespacerange\n| endnotdefchar\n| endnotdefrange\n| endrearrangedfont\n| endusematrix\n| findcolorrendering\n| removeall\n| removeglyphs\n| setsmoothness\n| settrapparams\n| settrapzone\n| shfill\n| usecmap\n| usefont\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},{"name":"keyword.operator.level-2.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( GlobalFontDirectory\n| ISOLatin1Encoding\n| SharedFontDirectory\n| UserObjects\n| arct\n| colorimage\n| configurationerror\n| cshow\n| currentblackgeneration\n| currentcacheparams\n| currentcmykcolor\n| currentcolorrendering\n| currentcolorscreen\n| currentcolorspace\n| currentcolortransfer\n| currentcolor\n| currentdevparams\n| currentglobal\n| currentgstate\n| currenthalftone\n| currentobjectformat\n| currentoverprint\n| currentpacking\n| currentpagedevice\n| currentshared\n| currentstrokeadjust\n| currentsystemparams\n| currentundercolorremoval\n| currentuserparams\n| defineresource\n| defineuserobject\n| deletefile\n| execform\n| execuserobject\n| filenameforall\n| fileposition\n| filter\n| findencoding\n| findresource\n| gcheck\n| globaldict\n| glyphshow\n| gstate\n| ineofill\n| infill\n| instroke\n| inueofill\n| inufill\n| inustroke\n| languagelevel\n| makepattern\n| packedarray\n| printobject\n| product\n| realtime\n| rectclip\n| rectfill\n| rectstroke\n| renamefile\n| resourceforall\n| resourcestatus\n| revision\n| rootfont\n| scheck\n| selectfont\n| serialnumber\n| setbbox\n| setblackgeneration\n| setcachedevice2\n| setcacheparams\n| setcmykcolor\n| setcolorrendering\n| setcolorscreen\n| setcolorspace\n| setcolortransfer\n| setcolor\n| setdevparams\n| setfileposition\n| setglobal\n| setgstate\n| sethalftone\n| setobjectformat\n| setoverprint\n| setpacking\n| setpagedevice\n| setpattern\n| setshared\n| setstrokeadjust\n| setsystemparams\n| setucacheparams\n| setundercolorremoval\n| setuserparams\n| setvmthreshold\n| shareddict\n| startjob\n| uappend\n| ucachestatus\n| ucache\n| ueofill\n| ufill\n| undefinedresource\n| undefinefont\n| undefineresource\n| undefineuserobject\n| undef\n| upath\n| ustrokepath\n| ustroke\n| vmreclaim\n| writeobject\n| xshow\n| xyshow\n| yshow\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},{"name":"keyword.operator.level-1.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( FontDirectory\n| StandardEncoding\n| VMerror\n| abs\n| add\n| aload\n| anchorsearch\n| and\n| arcn\n| arcto\n| arc\n| array\n| ashow\n| astore\n| atan\n| awidthshow\n| begin\n| bind\n| bitshift\n| bytesavailable\n| cachestatus\n| ceiling\n| charpath\n| cleardictstack\n| cleartomark\n| clear\n| clippath\n| clip\n| closefile\n| closepath\n| colorimage\n| concatmatrix\n| concat\n| condition\n| copypage\n| copy\n| cos\n| countdictstack\n| countexecstack\n| counttomark\n| count\n| currentcontext\n| currentdash\n| currentdict\n| currentfile\n| currentflat\n| currentfont\n| currentgray\n| currenthalftonephase\n| currenthsbcolor\n| currentlinecap\n| currentlinejoin\n| currentlinewidth\n| currentmatrix\n| currentmiterlimit\n| currentpoint\n| currentrgbcolor\n| currentscreen\n| currenttransfer\n| curveto\n| cvi\n| cvlit\n| cvn\n| cvrs\n| cvr\n| cvs\n| cvx\n| defaultmatrix\n| definefont\n| defineusername\n| def\n| detach\n| deviceinfo\n| dictfull\n| dictstackoverflow\n| dictstackunderflow\n| dictstack\n| dict\n| div\n| dtransform\n| dup\n| echo\n| eexec\n| end\n| eoclip\n| eofill\n| eoviewclip\n| eq\n| erasepage\n| errordict\n| exch\n| execstackoverflow\n| execstack\n| executeonly\n| executive\n| exec\n| exitserver\n| exit\n| exp\n| false\n| file\n| fill\n| findfont\n| flattenpath\n| floor\n| flushfile\n| flush\n| forall\n| fork\n| for\n| getinterval\n| get\n| ge\n| grestoreall\n| grestore\n| gsave\n| gt\n| handleerror\n| identmatrix\n| idiv\n| idtransform\n| ifelse\n| if\n| imagemask\n| image\n| index\n| initclip\n| initgraphics\n| initmatrix\n| initviewclip\n| internaldict\n| interrupt\n| invalidaccess\n| invalidcontext\n| invalidexit\n| invalidfileaccess\n| invalidfont\n| invalidid\n| invalidrestore\n| invertmatrix\n| ioerror\n| itransform\n| known\n| kshow\n| length\n| le\n| limitcheck\n| lineto\n| ln\n| load\n| lock\n| log\n| loop\n| lt\n| makefont\n| mark\n| matrix\n| maxlength\n| mod\n| monitor\n| moveto\n| mul\n| neg\n| newpath\n| ne\n| noaccess\n| nocurrentpoint\n| notify\n| not\n| nulldevice\n| null\n| or\n| pathbbox\n| pathforall\n| pdfmark\n| pop\n| print\n| prompt\n| pstack\n| putinterval\n| put\n| quit\n| rand\n| rangecheck\n| rcheck\n| rcurveto\n| readhexstring\n| readline\n| readonly\n| readstring\n| read\n| rectviewclip\n| repeat\n| resetfile\n| restore\n| reversepath\n| rlineto\n| rmoveto\n| roll\n| rotate\n| round\n| rrand\n| run\n| save\n| scalefont\n| scale\n| search\n| serverdict\n| setcachedevice\n| setcachelimit\n| setcharwidth\n| setdash\n| setflat\n| setfont\n| setgray\n| sethalftonephase\n| sethsbcolor\n| setlinecap\n| setlinejoin\n| setlinewidth\n| setmatrix\n| setmiterlimit\n| setrgbcolor\n| setscreen\n| settransfer\n| showpage\n| show\n| sin\n| sqrt\n| srand\n| stackoverflow\n| stackunderflow\n| stack\n| start\n| statusdict\n| status\n| stopped\n| stop\n| store\n| stringwidth\n| string\n| strokepath\n| stroke\n| sub\n| syntaxerror\n| systemdict\n| timeout\n| token\n| transform\n| translate\n| true\n| truncate\n| typecheck\n| type\n| undefinedfilename\n| undefinedresult\n| undefined\n| unmatchedmark\n| unregistered\n| userdict\n| usertime\n| version\n| viewclippath\n| viewclip\n| vmstatus\n| wait\n| wcheck\n| where\n| widthshow\n| writehexstring\n| writestring\n| write\n| wtranslation\n| xcheck\n| xor\n| yield\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])\n|\n# Stuff that starts with a non-word character\n(?\u003c=^|[/\\s{}()\u003c\u003e\\[\\]%])\n(=?=|\\$error)\n(?=$|[/\\s{}()\u003c\u003e\\[\\]%])"}]},"procedure":{"name":"meta.procedure.postscript","begin":"{","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.procedure.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.procedure.end.postscript"}}},"radix":{"name":"constant.numeric.radix.postscript","match":"[0-3]?[0-9]#[0-9a-zA-Z]+"},"specialFiles":{"patterns":[{"name":"constant.language.device-name.$2-device.postscript","match":"\\G(%)([-\\w]+)(?=%|\\)|$)(%)?","captures":{"1":{"name":"punctuation.definition.device-name.begin.postscript"},"3":{"name":"punctuation.definition.device-name.end.postscript"}}},{"name":"constant.language.special-file.stdio.$2.postscript","match":"\\G(%)(stderr|stdin|stdout)(?=\\)|$)","captures":{"1":{"name":"punctuation.definition.special-file.begin.postscript"},"3":{"name":"punctuation.definition.special-file.end.postscript"}}},{"name":"constant.language.special-file.interactive.$2.postscript","match":"\\G(%)(lineedit|statementedit)(?=\\)|$)","captures":{"1":{"name":"punctuation.definition.special-file.begin.postscript"},"3":{"name":"punctuation.definition.special-file.end.postscript"}}}]},"string":{"name":"string.other.postscript","begin":"\\(","end":"\\)","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"stringInnards":{"patterns":[{"include":"#specialFiles"},{"name":"constant.numeric.octal.postscript","match":"\\\\[0-7]{1,3}"},{"name":"constant.character.escape.postscript","match":"\\\\(\\\\|[bfnrt()]|[0-7]{1,3}|\\r?\\n)"},{"name":"invalid.illegal.unknown-escape.postscript.ignored","match":"\\\\"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#stringInnards"}]}]}},"injections":{"L:source.postscript meta.ai-prefs.postscript - (comment | string | source.embedded | text.embedded)":{"patterns":[{"name":"meta.obfuscated-setting.ai-prefs.postscript","contentName":"meta.array.postscript","begin":"^\\s*(/(?:\\\\.|[^()\u003c\u003e\\[\\]{}/%\\s])*) ((\\[) (?!0\\b)(\\d+)(?:$|\\r))","end":"^\\s*(\\])|\\G(?!$)|(?!\\G)^(?!\\s*(?:\\]|[A-Fa-f0-9]+$))","patterns":[{"name":"string.other.hexadecimal.postscript","match":"[A-Fa-f0-9]+"}],"beginCaptures":{"1":{"patterns":[{"include":"$self"}]},"2":{"name":"meta.array.postscript"},"3":{"name":"punctuation.definition.array.begin.postscript"},"4":{"name":"constant.numeric.postscript"}},"endCaptures":{"0":{"name":"meta.array.postscript"},"1":{"name":"punctuation.definition.array.end.postscript"}}},{"name":"variable.other.constant.literal.postscript","match":"(/)((?:\\\\.|[^()\u003c\u003e\\[\\]{}/%\\s])*)","captures":{"1":{"name":"punctuation.definition.name.postscript"},"2":{"patterns":[{"name":"constant.character.escape.postscript","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.postscript"}}}]}}},{"name":"constant.numeric.integer.long.postscript","match":"[0-9]+L"}]},"L:source.postscript meta.document.pdf - (meta.encrypted-source | source.embedded | text.embedded)":{"patterns":[{"name":"meta.encrypted-source.stream.pdf","begin":"(?:^|(?\u003c=\u003e\u003e)\\s*)(?=stream$)","end":"endstream|(?=endobj\\b)","patterns":[{"begin":"\\G(stream)\\s*$\\s*","end":"(?=endstream|(?=endobj\\b))","patterns":[{"contentName":"text.embedded.xml","begin":"(\u003c\\?xpacket(?=\\s)[^\u003e]+\\?\u003e)(?=$|\u003cx:xmpmeta)","end":"(\u003c\\?xpacket(?=\\s)[^\u003e]*end\\b[^\u003e]*\\?\u003e)|(?=\\s*(?:endstream|endobj\\b))","patterns":[{"include":"text.xml"}],"beginCaptures":{"1":{"name":"text.embedded.xml","patterns":[{"include":"text.xml"}]}},"endCaptures":{"1":{"name":"text.embedded.xml","patterns":[{"include":"text.xml"}]}}},{"name":"string.other.base85.pdf","begin":"(?!endstream)[!-uz]{50,80}\\s*$","end":"~\u003e|(?=\\s*(?:endstream|endobj\\b))","endCaptures":{"0":{"name":"punctuation.definition.string.end.pdf"}}},{"name":"string.other.raw.binary.pdf","contentName":"sublimelinter.gutter-mark","begin":"(?!endstream|[!-uz]{50,80}\\s*$)(?:(?\u003c=[\\n\\r]|\\G|^))(?=.)","end":"(?=\\s*(?:endstream|endobj\\b))"}],"beginCaptures":{"1":{"name":"keyword.control.stream.begin.pdf"}}}],"endCaptures":{"0":{"name":"keyword.control.stream.end.pdf"}}},{"match":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(obj)\\s*(?=\u003c\u003c|$)|(?\u003c=^|\\n|\u003e\u003e)(endobj)","captures":{"1":{"name":"keyword.control.object.begin.pdf"},"2":{"name":"keyword.control.object.end.pdf"}}},{"name":"keyword.control.$1.pdf","match":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(trailer|startxref)(?![^/\\s{}()\u003c\u003e\\[\\]%])"}]},"L:source.postscript meta.procedure.postscript - (comment | string | text.embedded)":{"patterns":[{"match":"\\s*(?\u003c=^|\\G|[\\[{\\s])\\b(currentfile)\\b(?=[\\[{\\s])","captures":{"1":{"name":"keyword.operator.postscript"}}}]}}}
@@ -1 +1 @@
1
- {"name":"QL","scopeName":"source.ql","patterns":[{"include":"#module-member"}],"repository":{"abstract":{"name":"storage.modifier.abstract.ql","match":"(?x)\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_])))"},"and":{"name":"keyword.other.and.ql","match":"(?x)\\b(?:and)(?:(?!(?:[0-9A-Za-z_])))"},"annotation":{"patterns":[{"include":"#bindingset-annotation"},{"include":"#language-annotation"},{"include":"#pragma-annotation"},{"include":"#annotation-keyword"}]},"annotation-keyword":{"patterns":[{"include":"#abstract"},{"include":"#bindingset"},{"include":"#cached"},{"include":"#deprecated"},{"include":"#external"},{"include":"#final"},{"include":"#language"},{"include":"#library"},{"include":"#override"},{"include":"#pragma"},{"include":"#private"},{"include":"#query"},{"include":"#transient"}]},"any":{"name":"keyword.quantifier.any.ql","match":"(?x)\\b(?:any)(?:(?!(?:[0-9A-Za-z_])))"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.ql","match":"(?x)\\+|-|\\*|/|%"},"as":{"name":"keyword.other.as.ql","match":"(?x)\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))"},"asc":{"name":"keyword.order.asc.ql","match":"(?x)\\b(?:asc)(?:(?!(?:[0-9A-Za-z_])))"},"at-lower-id":{"match":"(?x)@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"avg":{"name":"keyword.aggregate.avg.ql","match":"(?x)\\b(?:avg)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset":{"name":"storage.modifier.bindingset.ql","match":"(?x)\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset-annotation":{"name":"meta.block.bindingset-annotation.ql","begin":"(?x)((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! \\s | (?:// | /\\*) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#bindingset-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#bindingset"}]}}},"bindingset-annotation-body":{"name":"meta.block.bindingset-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"boolean":{"name":"keyword.type.boolean.ql","match":"(?x)\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_])))"},"by":{"name":"keyword.order.by.ql","match":"(?x)\\b(?:by)(?:(?!(?:[0-9A-Za-z_])))"},"cached":{"name":"storage.modifier.cached.ql","match":"(?x)\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))"},"class":{"name":"keyword.other.class.ql","match":"(?x)\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))"},"class-body":{"name":"meta.block.class-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#class-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"class-declaration":{"name":"meta.block.class-declaration.ql","begin":"(?x)((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c= \\} | ; )","patterns":[{"include":"#class-body"},{"include":"#extends-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.class.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}}},"class-member":{"patterns":[{"include":"#predicate-or-field-declaration"},{"include":"#annotation"},{"include":"#non-context-sensitive"}]},"close-brace":{"name":"punctuation.curlybrace.close.ql","match":"(?x)\\}"},"close-bracket":{"name":"punctuation.squarebracket.close.ql","match":"(?x)\\]"},"close-paren":{"name":"punctuation.parenthesis.close.ql","match":"(?x)\\)"},"comma":{"name":"punctuation.separator.comma.ql","match":"(?x),"},"comment":{"patterns":[{"name":"comment.block.documentation.ql","begin":"(?x)/\\*\\*","end":"(?x)\\*/","patterns":[{"begin":"(?x)(?\u003c=/\\*\\*)([^*]|\\*(?!/))*$","while":"(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)","patterns":[{"name":"keyword.tag.ql","match":"(?x)\\G\\s* (@\\S+)"}]}]},{"name":"comment.block.ql","begin":"(?x)/\\*","end":"(?x)\\*/"},{"name":"comment.line.double-slash.ql","match":"(?x)//.*$"}]},"comment-start":{"match":"(?x)// | /\\*"},"comparison-operator":{"name":"keyword.operator.comparison.ql","match":"(?x)=|\\!-"},"concat":{"name":"keyword.aggregate.concat.ql","match":"(?x)\\b(?:concat)(?:(?!(?:[0-9A-Za-z_])))"},"count":{"name":"keyword.aggregate.count.ql","match":"(?x)\\b(?:count)(?:(?!(?:[0-9A-Za-z_])))"},"date":{"name":"keyword.type.date.ql","match":"(?x)\\b(?:date)(?:(?!(?:[0-9A-Za-z_])))"},"deprecated":{"name":"storage.modifier.deprecated.ql","match":"(?x)\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))"},"desc":{"name":"keyword.order.desc.ql","match":"(?x)\\b(?:desc)(?:(?!(?:[0-9A-Za-z_])))"},"dont-care":{"name":"variable.language.dont-care.ql","match":"(?x)\\b(?:_)(?:(?!(?:[0-9A-Za-z_])))"},"dot":{"name":"punctuation.accessor.ql","match":"(?x)\\."},"dotdot":{"name":"punctuation.operator.range.ql","match":"(?x)\\.\\."},"else":{"name":"keyword.other.else.ql","match":"(?x)\\b(?:else)(?:(?!(?:[0-9A-Za-z_])))"},"end-of-as-clause":{"match":"(?x)(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))))"},"end-of-id":{"match":"(?x)(?!(?:[0-9A-Za-z_]))"},"exists":{"name":"keyword.quantifier.exists.ql","match":"(?x)\\b(?:exists)(?:(?!(?:[0-9A-Za-z_])))"},"expr-as-clause":{"name":"meta.block.expr-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"extends":{"name":"keyword.other.extends.ql","match":"(?x)\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))"},"extends-clause":{"name":"meta.block.extends-clause.ql","begin":"(?x)((?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#extends"}]}}},"external":{"name":"storage.modifier.external.ql","match":"(?x)\\b(?:external)(?:(?!(?:[0-9A-Za-z_])))"},"false":{"name":"constant.language.boolean.false.ql","match":"(?x)\\b(?:false)(?:(?!(?:[0-9A-Za-z_])))"},"final":{"name":"storage.modifier.final.ql","match":"(?x)\\b(?:final)(?:(?!(?:[0-9A-Za-z_])))"},"float":{"name":"keyword.type.float.ql","match":"(?x)\\b(?:float)(?:(?!(?:[0-9A-Za-z_])))"},"float-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+\\.[0-9]+(?![0-9])"},"forall":{"name":"keyword.quantifier.forall.ql","match":"(?x)\\b(?:forall)(?:(?!(?:[0-9A-Za-z_])))"},"forex":{"name":"keyword.quantifier.forex.ql","match":"(?x)\\b(?:forex)(?:(?!(?:[0-9A-Za-z_])))"},"from":{"name":"keyword.other.from.ql","match":"(?x)\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))"},"from-section":{"name":"meta.block.from-section.ql","begin":"(?x)((?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= (?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))) | (?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))) )","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|$))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#from"}]}}},"id-character":{"match":"(?x)[0-9A-Za-z_]"},"if":{"name":"keyword.other.if.ql","match":"(?x)\\b(?:if)(?:(?!(?:[0-9A-Za-z_])))"},"implies":{"name":"keyword.other.implies.ql","match":"(?x)\\b(?:implies)(?:(?!(?:[0-9A-Za-z_])))"},"import":{"name":"keyword.other.import.ql","match":"(?x)\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))"},"import-as-clause":{"name":"meta.block.import-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"import-directive":{"name":"meta.block.import-directive.ql","begin":"(?x)((?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?!\\s*(\\.|\\:\\:))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#import"}]}},"endCaptures":{"0":{"name":"entity.name.type.namespace.ql"}}},"in":{"name":"keyword.other.in.ql","match":"(?x)\\b(?:in)(?:(?!(?:[0-9A-Za-z_])))"},"instanceof":{"name":"keyword.other.instanceof.ql","match":"(?x)\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_])))"},"int":{"name":"keyword.type.int.ql","match":"(?x)\\b(?:int)(?:(?!(?:[0-9A-Za-z_])))"},"int-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+(?![0-9])"},"keyword":{"patterns":[{"include":"#dont-care"},{"include":"#and"},{"include":"#any"},{"include":"#as"},{"include":"#asc"},{"include":"#avg"},{"include":"#boolean"},{"include":"#by"},{"include":"#class"},{"include":"#concat"},{"include":"#count"},{"include":"#date"},{"include":"#desc"},{"include":"#else"},{"include":"#exists"},{"include":"#extends"},{"include":"#false"},{"include":"#float"},{"include":"#forall"},{"include":"#forex"},{"include":"#from"},{"include":"#if"},{"include":"#implies"},{"include":"#import"},{"include":"#in"},{"include":"#instanceof"},{"include":"#int"},{"include":"#max"},{"include":"#min"},{"include":"#module"},{"include":"#newtype"},{"include":"#none"},{"include":"#not"},{"include":"#or"},{"include":"#order"},{"include":"#predicate"},{"include":"#rank"},{"include":"#result"},{"include":"#select"},{"include":"#strictconcat"},{"include":"#strictcount"},{"include":"#strictsum"},{"include":"#string"},{"include":"#sum"},{"include":"#super"},{"include":"#then"},{"include":"#this"},{"include":"#true"},{"include":"#where"}]},"language":{"name":"storage.modifier.language.ql","match":"(?x)\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))"},"language-annotation":{"name":"meta.block.language-annotation.ql","begin":"(?x)((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! \\s | (?:// | /\\*) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#language-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#language"}]}}},"language-annotation-body":{"name":"meta.block.language-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"storage.modifier.ql","match":"(?x)\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"library":{"name":"storage.modifier.library.ql","match":"(?x)\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))"},"literal":{"patterns":[{"include":"#float-literal"},{"include":"#int-literal"},{"include":"#string-literal"}]},"lower-id":{"match":"(?x)\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"max":{"name":"keyword.aggregate.max.ql","match":"(?x)\\b(?:max)(?:(?!(?:[0-9A-Za-z_])))"},"min":{"name":"keyword.aggregate.min.ql","match":"(?x)\\b(?:min)(?:(?!(?:[0-9A-Za-z_])))"},"module":{"name":"keyword.other.module.ql","match":"(?x)\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))"},"module-body":{"name":"meta.block.module-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#module-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"module-declaration":{"name":"meta.block.module-declaration.ql","begin":"(?x)((?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#module-body"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#module"}]}}},"module-member":{"patterns":[{"include":"#import-directive"},{"include":"#import-as-clause"},{"include":"#module-declaration"},{"include":"#class-declaration"},{"include":"#select-clause"},{"include":"#predicate-or-field-declaration"},{"include":"#non-context-sensitive"},{"include":"#annotation"}]},"module-qualifier":{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?=\\s*\\:\\:)"},"newtype":{"name":"keyword.other.newtype.ql","match":"(?x)\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))"},"newtype-branch":{"name":"meta.block.newtype-branch.ql","begin":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","end":"(?x)(?\u003c=\\}) | (?! \\s | (?:// | /\\*) | \\{ )","patterns":[{"include":"#predicate-body"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"0":{"name":"entity.name.type.ql"}}},"newtype-declaration":{"name":"meta.block.newtype.ql","begin":"(?x)((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! \\s | (?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) | (?:// | /\\*) | \\= | \\( )","patterns":[{"include":"#non-context-sensitive"},{"include":"#newtype-branch"}],"beginCaptures":{"1":{"patterns":[{"include":"#newtype"}]}}},"non-context-sensitive":{"patterns":[{"include":"#comment"},{"include":"#literal"},{"include":"#operator-or-punctuation"},{"include":"#keyword"}]},"none":{"name":"keyword.quantifier.none.ql","match":"(?x)\\b(?:none)(?:(?!(?:[0-9A-Za-z_])))"},"not":{"name":"keyword.other.not.ql","match":"(?x)\\b(?:not)(?:(?!(?:[0-9A-Za-z_])))"},"open-brace":{"name":"punctuation.curlybrace.open.ql","match":"(?x)\\{"},"open-bracket":{"name":"punctuation.squarebracket.open.ql","match":"(?x)\\["},"open-paren":{"name":"punctuation.parenthesis.open.ql","match":"(?x)\\("},"operator-or-punctuation":{"patterns":[{"include":"#relational-operator"},{"include":"#comparison-operator"},{"include":"#arithmetic-operator"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#dot"},{"include":"#dotdot"},{"include":"#pipe"},{"include":"#open-paren"},{"include":"#close-paren"},{"include":"#open-brace"},{"include":"#close-brace"},{"include":"#open-bracket"},{"include":"#close-bracket"}]},"or":{"name":"keyword.other.or.ql","match":"(?x)\\b(?:or)(?:(?!(?:[0-9A-Za-z_])))"},"order":{"name":"keyword.order.order.ql","match":"(?x)\\b(?:order)(?:(?!(?:[0-9A-Za-z_])))"},"override":{"name":"storage.modifier.override.ql","match":"(?x)\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))"},"pipe":{"name":"punctuation.separator.pipe.ql","match":"(?x)\\|"},"pragma":{"name":"storage.modifier.pragma.ql","match":"(?x)\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))"},"pragma-annotation":{"name":"meta.block.pragma-annotation.ql","begin":"(?x)((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! \\s | (?:// | /\\*) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#pragma-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#pragma"}]}}},"pragma-annotation-body":{"name":"meta.block.pragma-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"name":"storage.modifier.ql","match":"(?x)\\b(?:inline|noinline|nomagic|noopt)\\b"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"predicate":{"name":"keyword.other.predicate.ql","match":"(?x)\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_])))"},"predicate-body":{"name":"meta.block.predicate-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"predicate-body-contents":{"patterns":[{"include":"#expr-as-clause"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()"},{"name":"variable.other.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-or-field-declaration":{"name":"meta.block.predicate-or-field-declaration.ql","begin":"(?x)(?:(?=(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))(?!(?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))|(?:(?:(?:\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:external)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:final)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:library)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:override)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:private)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:query)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))))))) | (?=(?:(?:(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))))) | (?=(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"variable.field.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-parameter-list":{"name":"meta.block.predicate-parameter-list.ql","begin":"(?x)((?:\\())","end":"(?x)((?:\\)))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-paren"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-paren"}]}}},"predicate-start-keyword":{"patterns":[{"include":"#boolean"},{"include":"#date"},{"include":"#float"},{"include":"#int"},{"include":"#predicate"},{"include":"#string"}]},"private":{"name":"storage.modifier.private.ql","match":"(?x)\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))"},"query":{"name":"storage.modifier.query.ql","match":"(?x)\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))"},"rank":{"name":"keyword.aggregate.rank.ql","match":"(?x)\\b(?:rank)(?:(?!(?:[0-9A-Za-z_])))"},"relational-operator":{"name":"keyword.operator.relational.ql","match":"(?x)\u003c=|\u003c|\u003e=|\u003e"},"result":{"name":"variable.language.result.ql","match":"(?x)\\b(?:result)(?:(?!(?:[0-9A-Za-z_])))"},"select":{"name":"keyword.query.select.ql","match":"(?x)\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))"},"select-as-clause":{"match":"(?x)meta.block.select-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=(?:[0-9A-Za-z_])(?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"select-clause":{"name":"meta.block.select-clause.ql","begin":"(?x)(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#from-section"},{"include":"#where-section"},{"include":"#select-section"}]},"select-section":{"name":"meta.block.select-section.ql","begin":"(?x)((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=\\n)","patterns":[{"include":"#predicate-body-contents"},{"include":"#select-as-clause"}],"beginCaptures":{"1":{"patterns":[{"include":"#select"}]}}},"semicolon":{"name":"punctuation.separator.statement.ql","match":"(?x);"},"simple-id":{"match":"(?x)\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"strictconcat":{"name":"keyword.aggregate.strictconcat.ql","match":"(?x)\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_])))"},"strictcount":{"name":"keyword.aggregate.strictcount.ql","match":"(?x)\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_])))"},"strictsum":{"name":"keyword.aggregate.strictsum.ql","match":"(?x)\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_])))"},"string":{"name":"keyword.type.string.ql","match":"(?x)\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))"},"string-escape":{"name":"constant.character.escape.ql","match":"(?x)\\\\[\"\\\\nrt]"},"string-literal":{"name":"string.quoted.double.ql","begin":"(?x)\"","end":"(?x)(\") | ((?:[^\\\\\\n])$)","patterns":[{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ql"},"2":{"name":"invalid.illegal.newline.ql"}}},"sum":{"name":"keyword.aggregate.sum.ql","match":"(?x)\\b(?:sum)(?:(?!(?:[0-9A-Za-z_])))"},"super":{"name":"variable.language.super.ql","match":"(?x)\\b(?:super)(?:(?!(?:[0-9A-Za-z_])))"},"then":{"name":"keyword.other.then.ql","match":"(?x)\\b(?:then)(?:(?!(?:[0-9A-Za-z_])))"},"this":{"name":"variable.language.this.ql","match":"(?x)\\b(?:this)(?:(?!(?:[0-9A-Za-z_])))"},"transient":{"name":"storage.modifier.transient.ql","match":"(?x)\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))"},"true":{"name":"constant.language.boolean.true.ql","match":"(?x)\\b(?:true)(?:(?!(?:[0-9A-Za-z_])))"},"upper-id":{"match":"(?x)\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"where":{"name":"keyword.query.where.ql","match":"(?x)\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))"},"where-section":{"name":"meta.block.where-section.ql","begin":"(?x)((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#where"}]}}}}}
1
+ {"name":"QL","scopeName":"source.ql","patterns":[{"include":"#module-member"}],"repository":{"abstract":{"name":"storage.modifier.abstract.ql","match":"(?x)\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_])))"},"and":{"name":"keyword.other.and.ql","match":"(?x)\\b(?:and)(?:(?!(?:[0-9A-Za-z_])))"},"annotation":{"patterns":[{"include":"#bindingset-annotation"},{"include":"#language-annotation"},{"include":"#pragma-annotation"},{"include":"#annotation-keyword"}]},"annotation-keyword":{"patterns":[{"include":"#abstract"},{"include":"#bindingset"},{"include":"#cached"},{"include":"#deprecated"},{"include":"#external"},{"include":"#final"},{"include":"#language"},{"include":"#library"},{"include":"#override"},{"include":"#pragma"},{"include":"#private"},{"include":"#query"},{"include":"#signature"},{"include":"#transient"}]},"any":{"name":"keyword.quantifier.any.ql","match":"(?x)\\b(?:any)(?:(?!(?:[0-9A-Za-z_])))"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.ql","match":"(?x)\\+|-|\\*|/|%"},"as":{"name":"keyword.other.as.ql","match":"(?x)\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))"},"asc":{"name":"keyword.order.asc.ql","match":"(?x)\\b(?:asc)(?:(?!(?:[0-9A-Za-z_])))"},"at-lower-id":{"match":"(?x)@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"avg":{"name":"keyword.aggregate.avg.ql","match":"(?x)\\b(?:avg)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset":{"name":"storage.modifier.bindingset.ql","match":"(?x)\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset-annotation":{"name":"meta.block.bindingset-annotation.ql","begin":"(?x)((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#bindingset-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#bindingset"}]}}},"bindingset-annotation-body":{"name":"meta.block.bindingset-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"boolean":{"name":"keyword.type.boolean.ql","match":"(?x)\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_])))"},"by":{"name":"keyword.order.by.ql","match":"(?x)\\b(?:by)(?:(?!(?:[0-9A-Za-z_])))"},"cached":{"name":"storage.modifier.cached.ql","match":"(?x)\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))"},"class":{"name":"keyword.other.class.ql","match":"(?x)\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))"},"class-body":{"name":"meta.block.class-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#class-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"class-declaration":{"name":"meta.block.class-declaration.ql","begin":"(?x)((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c= \\} | ; )","patterns":[{"include":"#class-body"},{"include":"#extends-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.class.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}}},"class-member":{"patterns":[{"include":"#predicate-or-field-declaration"},{"include":"#annotation"},{"include":"#non-context-sensitive"}]},"close-brace":{"name":"punctuation.curlybrace.close.ql","match":"(?x)\\}"},"close-bracket":{"name":"punctuation.squarebracket.close.ql","match":"(?x)\\]"},"close-paren":{"name":"punctuation.parenthesis.close.ql","match":"(?x)\\)"},"comma":{"name":"punctuation.separator.comma.ql","match":"(?x),"},"comment":{"patterns":[{"name":"comment.block.documentation.ql","begin":"(?x)/\\*\\*","end":"(?x)\\*/","patterns":[{"begin":"(?x)(?\u003c=/\\*\\*)([^*]|\\*(?!/))*$","while":"(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)","patterns":[{},{},{},{"name":"keyword.tag.ql","match":"(?x)\\G\\s* (@\\S+)"}]}]},{"name":"comment.block.ql","begin":"(?x)/\\*","end":"(?x)\\*/"},{"name":"comment.line.double-slash.ql","match":"(?x)//.*$"}]},"comment-start":{"match":"(?x)// | /\\*"},"comparison-operator":{"name":"keyword.operator.comparison.ql","match":"(?x)=|\\!\\="},"concat":{"name":"keyword.aggregate.concat.ql","match":"(?x)\\b(?:concat)(?:(?!(?:[0-9A-Za-z_])))"},"count":{"name":"keyword.aggregate.count.ql","match":"(?x)\\b(?:count)(?:(?!(?:[0-9A-Za-z_])))"},"date":{"name":"keyword.type.date.ql","match":"(?x)\\b(?:date)(?:(?!(?:[0-9A-Za-z_])))"},"deprecated":{"name":"storage.modifier.deprecated.ql","match":"(?x)\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))"},"desc":{"name":"keyword.order.desc.ql","match":"(?x)\\b(?:desc)(?:(?!(?:[0-9A-Za-z_])))"},"dont-care":{"name":"variable.language.dont-care.ql","match":"(?x)\\b(?:_)(?:(?!(?:[0-9A-Za-z_])))"},"dot":{"name":"punctuation.accessor.ql","match":"(?x)\\."},"dotdot":{"name":"punctuation.operator.range.ql","match":"(?x)\\.\\."},"else":{"name":"keyword.other.else.ql","match":"(?x)\\b(?:else)(?:(?!(?:[0-9A-Za-z_])))"},"end-of-as-clause":{"match":"(?x)(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))))"},"end-of-id":{"match":"(?x)(?!(?:[0-9A-Za-z_]))"},"exists":{"name":"keyword.quantifier.exists.ql","match":"(?x)\\b(?:exists)(?:(?!(?:[0-9A-Za-z_])))"},"expr-as-clause":{"name":"meta.block.expr-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"extends":{"name":"keyword.other.extends.ql","match":"(?x)\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))"},"extends-clause":{"name":"meta.block.extends-clause.ql","begin":"(?x)((?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#extends"}]}}},"external":{"name":"storage.modifier.external.ql","match":"(?x)\\b(?:external)(?:(?!(?:[0-9A-Za-z_])))"},"false":{"name":"constant.language.boolean.false.ql","match":"(?x)\\b(?:false)(?:(?!(?:[0-9A-Za-z_])))"},"final":{"name":"storage.modifier.final.ql","match":"(?x)\\b(?:final)(?:(?!(?:[0-9A-Za-z_])))"},"float":{"name":"keyword.type.float.ql","match":"(?x)\\b(?:float)(?:(?!(?:[0-9A-Za-z_])))"},"float-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+\\.[0-9]+(?![0-9])"},"forall":{"name":"keyword.quantifier.forall.ql","match":"(?x)\\b(?:forall)(?:(?!(?:[0-9A-Za-z_])))"},"forex":{"name":"keyword.quantifier.forex.ql","match":"(?x)\\b(?:forex)(?:(?!(?:[0-9A-Za-z_])))"},"from":{"name":"keyword.other.from.ql","match":"(?x)\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))"},"from-section":{"name":"meta.block.from-section.ql","begin":"(?x)((?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= (?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))) | (?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))) )","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|$))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#from"}]}}},"id-character":{"match":"(?x)[0-9A-Za-z_]"},"if":{"name":"keyword.other.if.ql","match":"(?x)\\b(?:if)(?:(?!(?:[0-9A-Za-z_])))"},"implements":{"name":"keyword.other.implements.ql","match":"(?x)\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))"},"implements-clause":{"name":"meta.block.implements-clause.ql","begin":"(?x)((?:\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#implements"}]}}},"implies":{"name":"keyword.other.implies.ql","match":"(?x)\\b(?:implies)(?:(?!(?:[0-9A-Za-z_])))"},"import":{"name":"keyword.other.import.ql","match":"(?x)\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))"},"import-as-clause":{"name":"meta.block.import-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"import-directive":{"name":"meta.block.import-directive.ql","begin":"(?x)((?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?!\\s*(\\.|\\:\\:))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#import"}]}},"endCaptures":{"0":{"name":"entity.name.type.namespace.ql"}}},"in":{"name":"keyword.other.in.ql","match":"(?x)\\b(?:in)(?:(?!(?:[0-9A-Za-z_])))"},"instanceof":{"name":"keyword.other.instanceof.ql","match":"(?x)\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_])))"},"int":{"name":"keyword.type.int.ql","match":"(?x)\\b(?:int)(?:(?!(?:[0-9A-Za-z_])))"},"int-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+(?![0-9])"},"keyword":{"patterns":[{"include":"#dont-care"},{"include":"#and"},{"include":"#any"},{"include":"#as"},{"include":"#asc"},{"include":"#avg"},{"include":"#boolean"},{"include":"#by"},{"include":"#class"},{"include":"#concat"},{"include":"#count"},{"include":"#date"},{"include":"#desc"},{"include":"#else"},{"include":"#exists"},{"include":"#extends"},{"include":"#false"},{"include":"#float"},{"include":"#forall"},{"include":"#forex"},{"include":"#from"},{"include":"#if"},{"include":"#implies"},{"include":"#import"},{"include":"#in"},{"include":"#instanceof"},{"include":"#int"},{"include":"#max"},{"include":"#min"},{"include":"#module"},{"include":"#newtype"},{"include":"#none"},{"include":"#not"},{"include":"#or"},{"include":"#order"},{"include":"#predicate"},{"include":"#rank"},{"include":"#result"},{"include":"#select"},{"include":"#strictconcat"},{"include":"#strictcount"},{"include":"#strictsum"},{"include":"#string"},{"include":"#sum"},{"include":"#super"},{"include":"#then"},{"include":"#this"},{"include":"#true"},{"include":"#unique"},{"include":"#where"}]},"language":{"name":"storage.modifier.language.ql","match":"(?x)\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))"},"language-annotation":{"name":"meta.block.language-annotation.ql","begin":"(?x)((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#language-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#language"}]}}},"language-annotation-body":{"name":"meta.block.language-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"storage.modifier.ql","match":"(?x)\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"library":{"name":"storage.modifier.library.ql","match":"(?x)\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))"},"literal":{"patterns":[{"include":"#float-literal"},{"include":"#int-literal"},{"include":"#string-literal"}]},"lower-id":{"match":"(?x)\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"max":{"name":"keyword.aggregate.max.ql","match":"(?x)\\b(?:max)(?:(?!(?:[0-9A-Za-z_])))"},"min":{"name":"keyword.aggregate.min.ql","match":"(?x)\\b(?:min)(?:(?!(?:[0-9A-Za-z_])))"},"module":{"name":"keyword.other.module.ql","match":"(?x)\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))"},"module-body":{"name":"meta.block.module-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#module-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"module-declaration":{"name":"meta.block.module-declaration.ql","begin":"(?x)((?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#module-body"},{"include":"#implements-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#module"}]}}},"module-member":{"patterns":[{"include":"#import-directive"},{"include":"#import-as-clause"},{"include":"#module-declaration"},{"include":"#newtype-declaration"},{"include":"#newtype-branch-name-with-prefix"},{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#class-declaration"},{"include":"#select-clause"},{"include":"#predicate-or-field-declaration"},{"include":"#non-context-sensitive"},{"include":"#annotation"}]},"module-qualifier":{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?=\\s*\\:\\:)"},"newtype":{"name":"keyword.other.newtype.ql","match":"(?x)\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))"},"newtype-branch-name-with-prefix":{"name":"meta.block.newtype-branch-name-with-prefix.ql","begin":"(?x)\\= | (?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"0":{"patterns":[{"include":"#or"},{"include":"#comparison-operator"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"newtype-declaration":{"name":"meta.block.newtype-declaration.ql","begin":"(?x)((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#newtype"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"non-context-sensitive":{"patterns":[{"include":"#comment"},{"include":"#literal"},{"include":"#operator-or-punctuation"},{"include":"#keyword"}]},"none":{"name":"keyword.quantifier.none.ql","match":"(?x)\\b(?:none)(?:(?!(?:[0-9A-Za-z_])))"},"not":{"name":"keyword.other.not.ql","match":"(?x)\\b(?:not)(?:(?!(?:[0-9A-Za-z_])))"},"open-brace":{"name":"punctuation.curlybrace.open.ql","match":"(?x)\\{"},"open-bracket":{"name":"punctuation.squarebracket.open.ql","match":"(?x)\\["},"open-paren":{"name":"punctuation.parenthesis.open.ql","match":"(?x)\\("},"operator-or-punctuation":{"patterns":[{"include":"#relational-operator"},{"include":"#comparison-operator"},{"include":"#arithmetic-operator"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#dot"},{"include":"#dotdot"},{"include":"#pipe"},{"include":"#open-paren"},{"include":"#close-paren"},{"include":"#open-brace"},{"include":"#close-brace"},{"include":"#open-bracket"},{"include":"#close-bracket"}]},"or":{"name":"keyword.other.or.ql","match":"(?x)\\b(?:or)(?:(?!(?:[0-9A-Za-z_])))"},"order":{"name":"keyword.order.order.ql","match":"(?x)\\b(?:order)(?:(?!(?:[0-9A-Za-z_])))"},"override":{"name":"storage.modifier.override.ql","match":"(?x)\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))"},"pipe":{"name":"punctuation.separator.pipe.ql","match":"(?x)\\|"},"pragma":{"name":"storage.modifier.pragma.ql","match":"(?x)\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))"},"pragma-annotation":{"name":"meta.block.pragma-annotation.ql","begin":"(?x)((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#pragma-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#pragma"}]}}},"pragma-annotation-body":{"name":"meta.block.pragma-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"name":"storage.modifier.ql","match":"(?x)\\b(?:inline|noinline|nomagic|noopt)\\b"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"predicate":{"name":"keyword.other.predicate.ql","match":"(?x)\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_])))"},"predicate-body":{"name":"meta.block.predicate-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"predicate-body-contents":{"patterns":[{"include":"#expr-as-clause"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()"},{"name":"variable.other.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-or-field-declaration":{"name":"meta.block.predicate-or-field-declaration.ql","begin":"(?x)(?:(?=(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))(?!(?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))|(?:(?:(?:\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:external)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:final)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:library)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:override)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:private)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:query)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:signature)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))))))) | (?=(?:(?:(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))))) | (?=(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"variable.field.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-parameter-list":{"name":"meta.block.predicate-parameter-list.ql","begin":"(?x)((?:\\())","end":"(?x)((?:\\)))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-paren"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-paren"}]}}},"predicate-start-keyword":{"patterns":[{"include":"#boolean"},{"include":"#date"},{"include":"#float"},{"include":"#int"},{"include":"#predicate"},{"include":"#string"}]},"private":{"name":"storage.modifier.private.ql","match":"(?x)\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))"},"query":{"name":"storage.modifier.query.ql","match":"(?x)\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))"},"rank":{"name":"keyword.aggregate.rank.ql","match":"(?x)\\b(?:rank)(?:(?!(?:[0-9A-Za-z_])))"},"relational-operator":{"name":"keyword.operator.relational.ql","match":"(?x)\u003c=|\u003c|\u003e=|\u003e"},"result":{"name":"variable.language.result.ql","match":"(?x)\\b(?:result)(?:(?!(?:[0-9A-Za-z_])))"},"select":{"name":"keyword.query.select.ql","match":"(?x)\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))"},"select-as-clause":{"match":"(?x)meta.block.select-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=(?:[0-9A-Za-z_])(?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"select-clause":{"name":"meta.block.select-clause.ql","begin":"(?x)(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#from-section"},{"include":"#where-section"},{"include":"#select-section"}]},"select-section":{"name":"meta.block.select-section.ql","begin":"(?x)((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=\\n)","patterns":[{"include":"#predicate-body-contents"},{"include":"#select-as-clause"}],"beginCaptures":{"1":{"patterns":[{"include":"#select"}]}}},"semicolon":{"name":"punctuation.separator.statement.ql","match":"(?x);"},"signature":{"name":"storage.modifier.signature.ql","match":"(?x)\\b(?:signature)(?:(?!(?:[0-9A-Za-z_])))"},"simple-id":{"match":"(?x)\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"strictconcat":{"name":"keyword.aggregate.strictconcat.ql","match":"(?x)\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_])))"},"strictcount":{"name":"keyword.aggregate.strictcount.ql","match":"(?x)\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_])))"},"strictsum":{"name":"keyword.aggregate.strictsum.ql","match":"(?x)\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_])))"},"string":{"name":"keyword.type.string.ql","match":"(?x)\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))"},"string-escape":{"name":"constant.character.escape.ql","match":"(?x)\\\\[\"\\\\nrt]"},"string-literal":{"name":"string.quoted.double.ql","begin":"(?x)\"","end":"(?x)(\") | ((?:[^\\\\\\n])$)","patterns":[{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ql"},"2":{"name":"invalid.illegal.newline.ql"}}},"sum":{"name":"keyword.aggregate.sum.ql","match":"(?x)\\b(?:sum)(?:(?!(?:[0-9A-Za-z_])))"},"super":{"name":"variable.language.super.ql","match":"(?x)\\b(?:super)(?:(?!(?:[0-9A-Za-z_])))"},"then":{"name":"keyword.other.then.ql","match":"(?x)\\b(?:then)(?:(?!(?:[0-9A-Za-z_])))"},"this":{"name":"variable.language.this.ql","match":"(?x)\\b(?:this)(?:(?!(?:[0-9A-Za-z_])))"},"transient":{"name":"storage.modifier.transient.ql","match":"(?x)\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))"},"true":{"name":"constant.language.boolean.true.ql","match":"(?x)\\b(?:true)(?:(?!(?:[0-9A-Za-z_])))"},"unique":{"name":"keyword.aggregate.unique.ql","match":"(?x)\\b(?:unique)(?:(?!(?:[0-9A-Za-z_])))"},"upper-id":{"match":"(?x)\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"where":{"name":"keyword.query.where.ql","match":"(?x)\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))"},"where-section":{"name":"meta.block.where-section.ql","begin":"(?x)((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#where"}]}}},"whitespace-or-comment-start":{"match":"(?x)\\s | $ | (?:// | /\\*)"}}}
@@ -1 +1 @@
1
- {"name":"rosScript","scopeName":"source.rsc","patterns":[{"name":"variable.other.rosScript","match":"\\b(ipsec-esp|ipsec-ah|idpr-cmtp|iso-tp4|xns-idp|udp-lite|ip-encap|icmp|igmp|ggp|st|tcp|egp|pup|udp|hmp|rdp|dccp|xtp|ddp|rsvp|gre|rspf|vmtp|ospf|ipip|etherip|encap|pim|vrrp|l2tp|sctp)\\b"},{"name":"keyword.other.rosScript","match":"(dns|https|http|smb)"},{"name":"ipv4.rosScript","match":"qwerty"},{"name":"keyword.other.rosScript","match":"\\b(system|package|update)\\b"},{"name":"support.type.rosScript","match":"(?\u003c=\\=)\\b(\\S)*\\b"},{"name":"variable.other.rosScript","match":"\\b(ftp|h323|irc|pptp|sip|tftp|updplite|api-ssl|api|ssh|telnet|winbox|www-ssl|www|reboot|read|write|test|sniff|sensitive|romon)\\b"},{"name":"keyword.other.rosScript","match":"\\b(up-script|netwatch|watchdog-timer|owner|ntp|on-event|down-script|src-and-dst-addresses|dst-limit|limit|to-ports|silent-boot|routerboard|allow-remote-requests|pptp-server|authentication-types|in-filter|security-profiles|multicast-helper|tx-power|wps-mode|user-manager|access|time-zone-autodetect|time-zone-name)\\b"},{"name":"keyword.other.rosScript","match":"\\b(own-routers|own-users|own-profiles|own-limits|config-payment-gw|always-broadcast|cache-max-ttl|discover-interface-list|in-interface)\\b"},{"name":"support.type.rosScript","match":"(?\u003c=(\\=|\n|\\s|\\,))(input|output|forward|srcnat|dstnat|untracked)"},{"name":"support.type.rosScript","match":"(?\u003c=\\=)(accept|add-dst-to-address-list|add-src-to-address-list|drop|fasttrack-connection|jump|log|passthrough|reject|return|tarpit)"},{"name":"support.type.rosScript","match":"(?\u003c=\\=)(none-dynamic|none-static)"},{"name":"support.type.rosScript","match":"[0-9]{1,3}Mbps|(2|5)ghz"},{"name":"support.type.rosScript","match":"([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})(\\s|-([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))"},{"name":"support.type.rosScript","match":"([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/[0-9]{1,2})(\\s|\\-([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/[0-9]{1,2}))"},{"name":"support.type.rosScript","match":"([0-9A-F]{2}[:-]){5}([0-9A-F]{2})(\\s)"},{"name":"keyword.control.rosScript","match":"\\b(if|else|for|foreach|do|while|on-error)(?=\\s|\\{|\\=|\\[|\\()"},{"name":"keyword.operator.logical","match":"\\b(and|or|not|in|\u0026\u0026|\\!|\\|\\|)\\b"},{"name":"keyword.operator.logical","match":"~|\\||\\^|\u0026|\u003c\u003c|\u003e\u003e"},{"name":"keyword.other.rosScript","match":"\\b(detail|error|file|info|led|nothing|password|time)\\b"},{"match":":(global|local|set)\\s([a-zA-Z0-9-]*)","captures":{"1":{"name":"storage.modifier.rosScript"},"2":{"name":"variable.other.rosScript"}}},{"name":"keyword.control","match":"\\b(from|to|step)\\b"},{"name":"variable.other.rosScript","match":"\\$[a-zA-Z0-9-]*"},{"name":"support.function.builtin.rosScript","match":"\\b(radius|routing|snmp|special-login|store|system|tool|user|certificate|driver|file|interface|ip|ipv6|log|mpls|port|queue)\\b"},{"name":"support.function.builtin.rosScript","match":"\\b(len|setup|typeof|toarray|tobool|toid|toip|toip6|tonum|tostr|totime)\\b"},{"name":"support.function.builtin.rosScript","match":"\\b(accept|add|beep|delay|do|drop|execute|export|find|get|import|log|parse|pick|ping|print|put|quit|redirect|redo|resolve|set|undo)\\b"},{"name":"constant.language.boolean.rosScript","match":"\\b(true|false|yes|no)\\b"},{"name":"string.quoted.single.rosScript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.rosScript","include":"#string_escaped_char"}]},{"name":"string.quoted.double.rosScript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rosScript","include":"#string_escaped_char"}]},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.rosScript","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.rosScript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.rosScript"}}},{"name":"keyword.operator.comparison","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="},{"name":"keyword.operator.arithmetic","match":"\\+|\\-|\\*|\\/"},{"name":"keyword.operator.string","match":"\\.|,"},{"name":"punctuation.section","match":"\\[|\\(|\\)|\\:|\\[|\\]|\\{|\\||\\}|\\]"},{"name":"keyword.operator.assignment","match":"="},{"name":"constant.numeric.integer.decimal.rosScript","match":"\\b([1-9]+[0-9]*|0)"},{"name":"keyword.other.rosScript","include":"#other_keywords"},{"name":"keyword.other.rosScript","match":"country|band|antenna-gain|hw-protection-mode|wireless-protocol|adaptive-noise-immunity|default-name|basic-rates-a/g|basic-rates|basic-rates-b|frequency"},{"name":"variable.parameter","match":"\\b(debug|error|info|warning)\\b"},{"name":"constant.other.rosScript.protocol","match":"\\b(bgp|ip|ipsec|ipv6|ldp|ospf-v3|ppp|rip|snmp)\\b"},{"name":"keyword.other.rosScript","match":"\\b(6to4|bonding|bridge|eoip|eoipv6|ethernet|wireless|gre6|ipipv6|isdn-client|isdn-server|l2tp-client|l2tp-server|lte|mesh|ovpn-client|ovpn-server|ppp-client|pppoe-client|pppoe-server|ppp-server|pptp-client|pptp-server|sstp-client|sstp-server|traffic-eng|vlan|vpls)\\b"},{"name":"constant.other.rosScript.connection-state","match":"\\b(new|related|established|invalid)\\b"}],"repository":{"other_keywords":{"patterns":[{"name":"keyword.other.rosScript","match":"\\b(fast-forward|dns|cache|aaa|accessible-via-web|accounting|account-local-traffic|ac-name|action|active-flow-timeout|active-mode|add-default-route|ageing-time|align|always-from-cache|area|area-id|arp|as|authenticate|authoritative|automatic-supout|auto-negotiation|autonomous|auto-send-supout|backup-allowed|bandwidth-server|baud-rate|bfd|bidirectional-timeout|blank-interval|bootp-support|bootp-lease-time|bridge-mode|broadcast|broadcast-addresses|cable-settings|cache-administrator|cache-entries|cache-hit-dscp|cache-max-ttl|cache-on-disk|cache-size|chain|channel|channel-time|check-interval|cipher|client|client-to-client-reflection|comment|community|config|connection-state|connection|connection-bytes|connection-idle-timeout|connection-state|console|contact|contrast|cpu|customer|data-bits|default|default-ap-tx-limit|default-client-tx-limit|default-forwarding|default-group|default-profile|default-route-distance|dhcp-options|dhcp-client|dhcp-option|dhcp-server|dh-group|dial-on-demand|directory|disabled|disable-running-check|discovery|disk-file-count|disk-file-name|disk-lines-per-file|disk-stop-on-full|display-time|distance|distribute-default|distribute-for-default-route|domain|dpd-interval|dpd-maximum-failures|dynamic-label-range|eap-methods|e-mail|enabled|enc-algorithm|enc-algorithms|encryption-password|encryption-protocol|engine-id|exchange-mode|exclude-groups|file-limit|file-name|filter|filter-port|filter-stream|firewall|firmware|flow-control|forward-delay|frame-size|frames-per-second|from|full-duplex|garbage-timer|gateway|gateway-class|gateway-keepalive|gateway-selection|generate-policy|generic-timeout|gps|graphing|group|group-ciphers|group-key-update|hardware|hash-algorithm|health|hide-ssid|hop-limit|hotspot|hotspot-address|html-directory|http-cookie-lifetime|http-proxy|icmp-timeout|identity|idle-timeout|igmp-proxy|ignore-as-path-len|inactive-flow-timeout|incoming|in-filter|instance|interface|interfaces|interim-update|interval|ipsec-protocols|irq|jump-target|keepalive-timeout|keep-max-sms|kind|l2mtu|latency-distribution-scale|lcd|lease-time|level|lifebytes|lifetime|line-count|list|local-address|local-proxy-arp|location|logging|login|login-by|log-prefix|loop-detect|lsr-id|managed-address-configuration|management-protection|management-protection-key|mangle|manual|manycast|max-cache-size|max-fresh-time|max-message-age|max-mru|max-mtu|max-sessions|max-station-count|memory-limit|memory-lines|memory-scroll|memory-stop-on-full|metric-connected|metric-default|metric-static|min-rx|mirror|mme|mode|mpls|mpls-mtu|mq-pfifo-limit|mrru|mtu|multicast|multi-cpu|multiple-channels|multiplier|my-id-user-fqdn|name|nat|nat-traversal|nd|neighbor|netmask|network|no-ping-delay|note|on-backup|only-headers|only-one|on-master|origination-interval|other-configuration|out-filter|out-interface|page|page-refresh|parent|parent-proxy|parent-proxy-port|parity|passthrough|password|path-vector-limit|peer|permissions|pfifo-limit|pfs-group|policy|pool|port|ports|preemption-mode|preferred-gateway|preferred-lifetime|prefix|priority|profile|propagate-ttl|proposal|proposal-check|proprietary-extensions|protocol|protocol-mode|proxy|query-interval|query-response-interval|queue|quick-leave|ranges|rate-limit|reachable-time|read-access|read-only|receive-all|receive-enabled|receive-errors|remember|remote|remote-address|remote-port|remote-ipv6-prefix-pool|resource|retransmit-interval|route|router-id|routing|routing-table|sa-dst-address|sa-src-address|scope|screen|script|secret|send-initial-contact|set-system-time|settings|sfq-allot|sfq-perturb|shared-users|shares|show-at-login|show-dummy-rule|signup-allowed|sip-direct-media|skin|sms|sniffer|snooper|socks|source|speed|split-user-domain|ssid|ssid-all|state-after-reboot|status-autorefresh|stop-bits|store-every|store-leases-disk|supplicant-identity|system|target|target-scope|term|test-id|threshold|timeout|timeout-timer|to-addresses|tool|topics|tracking|traffic-flow|traffic-generator|transmit-hold-count|transparent-proxy|transport-address|ttl|tunnel|type|unicast-ciphers|upgrade|upnp|users|v3-protocol|valid-lifetime|vcno|version|vrid|watch-address|watchdog|watchdog-timer|web-access|address|address-list|address-pool|addresses|addresses-per-mac|admin-mac|advertise-mac-address|auto-mac|filter-mac|mac-address|filter-mac-address|filter-mac-protocol|mac-addressmac-server|mac-winbox|advertise-dns|dns-interface|dns-name|dns-server|use-peer-dns|allow|allow-disable-external-interface|allowed-number|allow-guests|audio-max|audio-min|audio-monitor|auth|auth-algorithms|auth-method|authentication|authentication-password|authentication-protocol|authentication-types|default-authentication|bsd-syslog|syslog-facility|syslog-severity|scheduler|clock|time-zone|time-zone-name|connection-mark|new-connection-mark|new-packet-mark|new-routing-mark|routing-mark|dst-address|dst-address-list|dst-delta|dst-end|dst-port|dst-start|max-client-connections|max-connections|max-server-connections|serialize-connections|metric-ospf|metric-other-ospf|redistribute-ospf|redistribute-other-ospf|metric-rip|redistribute-rip|ripng|ntp-server|primary-ntp|secondary-ntp|use-peer-ntp|paypal-accept-pending|paypal-allowed|paypal-secure-response|primary-server|secondary-server|ra-delay|ra-interval|ra-lifetime|radius|radius-eap-accounting|radius-mac-accounting|radius-mac-authentication|radius-mac-caching|radius-mac-format|radius-mac-mode|red-avg-packet|red-burst|red-limit|red-max-threshold|red-min-threshold|redistribute-connected|redistribute-static|require-client-certificate|tls-certificate|tls-mode|verify-client-certificate|security|security-profile|security-profiles|server|servers|service|service-name|service-port|smtp-server|wins-server|src-address|src-address-list|src-port|static-algo-0|static-algo-1|static-algo-2|static-algo-3|static-sta-private-algo|static-key-0|static-key-1|static-key-2|static-key-3|static-sta-private-key|static-transmit-key|streaming-enabled|streaming-max-rate|streaming-server|switch-to-spt|switch-to-spt-bytes|switch-to-spt-interval|trap-generators|trap-target|trap-version|update-stats-interval|update-timer|use-compression|use-encryption|use-explicit-null|use-ipv6|use-mpls|use-radius|use-service-tag|use-vj-compression|wmm-support|wpa-pre-shared-key|wpa2-pre-shared-key|write-access|metric-bgp|redistribute-bgp|redistribute-other-bgp|change-tcp-mss|tcp-close-timeout|tcp-close-wait-timeout|tcp-established-timeout|tcp-fin-wait-timeout|tcp-last-ack-timeout|tcp-syn-received-timeout|tcp-syn-sent-timeout|tcp-syncookie|tcp-time-wait-timeout|allocate-udp-ports-from|max-udp-packet-size|udp-stream-timeout|udp-timeout|use-ip-firewall-for-vlan|vlan-id|filter-ip-address|filter-ip-protocol|use-ip-firewall-for-pppoe|use-ip-firewall|wds-cost-range|wds-default-bridge|wds-default-cost|wds-ignore-ssid|wds-mode|job|environment)\\b"}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.rosScript","match":"\\\\(\\\\|[nrt$?abfv\"?]|[0-9A-F]{2})"},{"name":"invalid.illegal.unknown-escape.rosScript","match":"\\\\."}]}}}
1
+ {"name":"rosScript","scopeName":"source.rsc","patterns":[{"name":"variable.other.rosScript","match":"\\b(ipsec-esp|ipsec-ah|idpr-cmtp|iso-tp4|xns-idp|udp-lite|ip-encap|icmp|igmp|ggp|st|tcp|egp|pup|udp|hmp|rdp|dccp|xtp|ddp|rsvp|gre|rspf|vmtp|ospf|ipip|etherip|encap|pim|vrrp|l2tp|sctp)\\b"},{"name":"keyword.other.rosScript","match":"(dns|https|http|smb)"},{"name":"ipv4.rosScript","match":"qwerty"},{"name":"keyword.other.rosScript","match":"\\b(system|package|update)\\b"},{"name":"support.type.rosScript","match":"(?\u003c=\\=)\\b(\\S)*\\b"},{"name":"variable.other.rosScript","match":"\\b(ftp|h323|irc|pptp|sip|tftp|updplite|api-ssl|api|ssh|telnet|winbox|www-ssl|www|reboot|read|write|test|sniff|sensitive|romon)\\b"},{"name":"keyword.other.rosScript","match":"\\b(up-script|netwatch|watchdog-timer|owner|ntp|on-event|down-script|src-and-dst-addresses|dst-limit|limit|to-ports|silent-boot|routerboard|allow-remote-requests|pptp-server|authentication-types|in-filter|security-profiles|multicast-helper|tx-power|wps-mode|user-manager|access|time-zone-autodetect|time-zone-name)\\b"},{"name":"keyword.other.rosScript","match":"\\b(own-routers|own-users|own-profiles|own-limits|config-payment-gw|always-broadcast|cache-max-ttl|discover-interface-list|in-interface)\\b"},{"name":"support.type.rosScript","match":"(?\u003c=(\\=|\n|\\s|\\,))(input|output|forward|srcnat|dstnat|untracked)"},{"name":"support.type.rosScript","match":"(?\u003c=\\=)(accept|add-dst-to-address-list|add-src-to-address-list|drop|fasttrack-connection|jump|log|passthrough|reject|return|tarpit)"},{"name":"support.type.rosScript","match":"(?\u003c=\\=)(none-dynamic|none-static)"},{"name":"support.type.rosScript","match":"[0-9]{1,3}Mbps|(2|5)ghz"},{"name":"support.type.rosScript","match":"([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})(\\s|-([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))"},{"name":"support.type.rosScript","match":"([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/[0-9]{1,2})(\\s|\\-([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/[0-9]{1,2}))"},{"name":"support.type.rosScript","match":"([0-9A-F]{2}[:-]){5}([0-9A-F]{2})(\\s)"},{"name":"keyword.control.rosScript","match":"\\b(if|else|for|foreach|do|while)(?=\\s|\\{|\\=|\\[|\\()"},{"name":"keyword.operator.logical","match":"\\b(and|or|not|in|\u0026\u0026|\\!|\\|\\|)\\b"},{"name":"keyword.operator.logical","match":"~|\\||\\^|\u0026|\u003c\u003c|\u003e\u003e"},{"name":"keyword.other.rosScript","match":"\\b(detail|error|file|info|led|nothing|password|time|date)\\b"},{"match":":(global|local|set)\\s([a-zA-Z0-9-]*)","captures":{"1":{"name":"storage.modifier.rosScript"},"2":{"name":"variable.other.rosScript"}}},{"name":"keyword.control","match":"\\b(from|to|step)\\b"},{"name":"variable.other.rosScript","match":"\\$[a-zA-Z0-9-]*"},{"name":"support.function.builtin.rosScript","match":"\\b(radius|routing|snmp|special-login|store|system|tool|user|certificate|driver|file|interface|ip|ipv6|log|mpls|port|queue)\\b"},{"name":"support.function.builtin.rosScript","match":"\\b(len|setup|typeof|toarray|tobool|toid|toip|toip6|tonum|tostr|totime)\\b"},{"name":"support.function.builtin.rosScript","match":"\\b(accept|add|beep|delay|do|drop|execute|export|find|get|import|log|parse|pick|ping|print|put|quit|redirect|redo|resolve|set|undo)\\b"},{"name":"constant.language.boolean.rosScript","match":"\\b(true|false|yes|no)\\b"},{"name":"string.quoted.single.rosScript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.rosScript","include":"#string_escaped_char"}]},{"name":"string.quoted.double.rosScript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rosScript","include":"#string_escaped_char"}]},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.rosScript","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.rosScript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.rosScript"}}},{"name":"keyword.operator.comparison","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="},{"name":"keyword.operator.arithmetic","match":"\\+|\\-|\\*|\\/"},{"name":"keyword.operator.string","match":"\\.|,"},{"name":"punctuation.section","match":"\\[|\\(|\\)|\\:|\\[|\\]|\\{|\\||\\}|\\]"},{"name":"keyword.operator.assignment","match":"="},{"name":"constant.numeric.integer.decimal.rosScript","match":"\\b([1-9]+[0-9]*|0)"},{"name":"keyword.other.rosScript","include":"#other_keywords"},{"name":"keyword.other.rosScript","match":"country|band|antenna-gain|hw-protection-mode|wireless-protocol|adaptive-noise-immunity|default-name|basic-rates-a/g|basic-rates|basic-rates-b|frequency|connect-to"},{"name":"variable.parameter","match":"\\b(debug|error|info|warning)\\b"},{"name":"constant.other.rosScript.protocol","match":"\\b(bgp|ip|ipsec|ipv6|ldp|ospf-v3|ppp|rip|snmp)\\b"},{"name":"keyword.other.rosScript","match":"\\b(6to4|bonding|bridge|eoip|eoipv6|ethernet|wireless|gre6|ipipv6|isdn-client|isdn-server|l2tp-client|l2tp-server|lte|mesh|ovpn-client|ovpn-server|ppp-client|pppoe-client|pppoe-server|ppp-server|pptp-client|pptp-server|sstp-client|sstp-server|traffic-eng|vlan|vpls)\\b"},{"name":"constant.other.rosScript.connection-state","match":"\\b(new|related|established|invalid)\\b"},{"name":"keyword.other.rosScript","match":"\\b(use-ipsec|user|use-network-apn|listen-port|wireguard|l2tp-client|station-roaming|installation|channel-width|regexp|pcq-classifier|max-limit|packet-mark|ingress-filtering)\\b"},{"name":"keyword.other.rosScript","match":"\\b(start-date|start-time|connection-mark|allowed-address|layer7-protocol)\\b"},{"name":"keyword.control.rosScript","match":"\\!([\\w\\d])*"}],"repository":{"other_keywords":{"patterns":[{"name":"keyword.other.rosScript","match":"\\b(fast-forward|dns|cache|aaa|accessible-via-web|accounting|account-local-traffic|ac-name|action|active-flow-timeout|active-mode|add-default-route|ageing-time|align|always-from-cache|area|area-id|arp|as|authenticate|authoritative|automatic-supout|auto-negotiation|autonomous|auto-send-supout|backup-allowed|bandwidth-server|baud-rate|bfd|bidirectional-timeout|blank-interval|bootp-support|bootp-lease-time|bridge-mode|broadcast|broadcast-addresses|cable-settings|cache-administrator|cache-entries|cache-hit-dscp|cache-max-ttl|cache-on-disk|cache-size|chain|channel|channel-time|check-interval|cipher|client|client-to-client-reflection|comment|community|config|connection-state|connection|connection-bytes|connection-idle-timeout|connection-state|console|contact|contrast|cpu|customer|data-bits|default|default-ap-tx-limit|default-client-tx-limit|default-forwarding|default-group|default-profile|default-route-distance|dhcp-options|dhcp-client|dhcp-option|dhcp-server|dh-group|dial-on-demand|directory|disabled|disable-running-check|discovery|disk-file-count|disk-file-name|disk-lines-per-file|disk-stop-on-full|display-time|distance|distribute-default|distribute-for-default-route|domain|dpd-interval|dpd-maximum-failures|dynamic-label-range|eap-methods|e-mail|enabled|enc-algorithm|enc-algorithms|encryption-password|encryption-protocol|engine-id|exchange-mode|exclude-groups|file-limit|file-name|filter|filter-port|filter-stream|firewall|firmware|flow-control|forward-delay|frame-size|frames-per-second|from|full-duplex|garbage-timer|gateway|gateway-class|gateway-keepalive|gateway-selection|generate-policy|generic-timeout|gps|graphing|group|group-ciphers|group-key-update|hardware|hash-algorithm|health|hide-ssid|hop-limit|hotspot|hotspot-address|html-directory|http-cookie-lifetime|http-proxy|icmp-timeout|identity|idle-timeout|igmp-proxy|ignore-as-path-len|inactive-flow-timeout|incoming|in-filter|instance|interface|interfaces|interim-update|interval|ipsec-protocols|irq|jump-target|keepalive-timeout|keep-max-sms|kind|l2mtu|latency-distribution-scale|lcd|lease-time|level|lifebytes|lifetime|line-count|list|local-address|local-proxy-arp|location|logging|login|login-by|log-prefix|loop-detect|lsr-id|managed-address-configuration|management-protection|management-protection-key|mangle|manual|manycast|max-cache-size|max-fresh-time|max-message-age|max-mru|max-mtu|max-sessions|max-station-count|memory-limit|memory-lines|memory-scroll|memory-stop-on-full|metric-connected|metric-default|metric-static|min-rx|mirror|mme|mode|mpls|mpls-mtu|mq-pfifo-limit|mrru|mtu|multicast|multi-cpu|multiple-channels|multiplier|my-id-user-fqdn|name|nat|nat-traversal|nd|neighbor|netmask|network|no-ping-delay|note|on-backup|only-headers|only-one|on-master|origination-interval|other-configuration|out-filter|out-interface|page|page-refresh|parent|parent-proxy|parent-proxy-port|parity|passthrough|password|path-vector-limit|peer|permissions|pfifo-limit|pfs-group|policy|pool|port|ports|preemption-mode|preferred-gateway|preferred-lifetime|prefix|priority|profile|propagate-ttl|proposal|proposal-check|proprietary-extensions|protocol|protocol-mode|proxy|query-interval|query-response-interval|queue|quick-leave|ranges|rate-limit|reachable-time|read-access|read-only|receive-all|receive-enabled|receive-errors|remember|remote|remote-address|remote-port|remote-ipv6-prefix-pool|resource|retransmit-interval|route|router-id|routing|routing-table|sa-dst-address|sa-src-address|scope|screen|script|secret|send-initial-contact|set-system-time|settings|sfq-allot|sfq-perturb|shared-users|shares|show-at-login|show-dummy-rule|signup-allowed|sip-direct-media|skin|sms|sniffer|snooper|socks|source|speed|split-user-domain|ssid|ssid-all|state-after-reboot|status-autorefresh|stop-bits|store-every|store-leases-disk|supplicant-identity|system|target|target-scope|term|test-id|threshold|timeout|timeout-timer|to-addresses|tool|topics|tracking|traffic-flow|traffic-generator|transmit-hold-count|transparent-proxy|transport-address|ttl|tunnel|type|unicast-ciphers|upgrade|upnp|users|v3-protocol|valid-lifetime|vcno|version|vrid|watch-address|watchdog|watchdog-timer|web-access|address|address-list|address-pool|addresses|addresses-per-mac|admin-mac|advertise-mac-address|auto-mac|filter-mac|mac-address|filter-mac-address|filter-mac-protocol|mac-addressmac-server|mac-winbox|advertise-dns|dns-interface|dns-name|dns-server|use-peer-dns|allow|allow-disable-external-interface|allowed-number|allow-guests|audio-max|audio-min|audio-monitor|auth|auth-algorithms|auth-method|authentication|authentication-password|authentication-protocol|authentication-types|default-authentication|bsd-syslog|syslog-facility|syslog-severity|scheduler|clock|time-zone|time-zone-name|new-connection-mark|new-packet-mark|new-routing-mark|routing-mark|dst-address|dst-address-list|dst-delta|dst-end|dst-port|dst-start|max-client-connections|max-connections|max-server-connections|serialize-connections|metric-ospf|metric-other-ospf|redistribute-ospf|redistribute-other-ospf|metric-rip|redistribute-rip|ripng|ntp-server|primary-ntp|secondary-ntp|use-peer-ntp|paypal-accept-pending|paypal-allowed|paypal-secure-response|primary-server|secondary-server|ra-delay|ra-interval|ra-lifetime|radius|radius-eap-accounting|radius-mac-accounting|radius-mac-authentication|radius-mac-caching|radius-mac-format|radius-mac-mode|red-avg-packet|red-burst|red-limit|red-max-threshold|red-min-threshold|redistribute-connected|redistribute-static|require-client-certificate|tls-certificate|tls-mode|verify-client-certificate|security|security-profile|security-profiles|server|servers|service|service-name|service-port|smtp-server|wins-server|src-address|src-address-list|src-port|static-algo-0|static-algo-1|static-algo-2|static-algo-3|static-sta-private-algo|static-key-0|static-key-1|static-key-2|static-key-3|static-sta-private-key|static-transmit-key|streaming-enabled|streaming-max-rate|streaming-server|switch-to-spt|switch-to-spt-bytes|switch-to-spt-interval|trap-generators|trap-target|trap-version|update-stats-interval|update-timer|use-compression|use-encryption|use-explicit-null|use-ipv6|use-mpls|use-radius|use-service-tag|use-vj-compression|wmm-support|wpa-pre-shared-key|wpa2-pre-shared-key|write-access|metric-bgp|redistribute-bgp|redistribute-other-bgp|change-tcp-mss|tcp-close-timeout|tcp-close-wait-timeout|tcp-established-timeout|tcp-fin-wait-timeout|tcp-last-ack-timeout|tcp-syn-received-timeout|tcp-syn-sent-timeout|tcp-syncookie|tcp-time-wait-timeout|allocate-udp-ports-from|max-udp-packet-size|udp-stream-timeout|udp-timeout|use-ip-firewall-for-vlan|vlan-id|filter-ip-address|filter-ip-protocol|use-ip-firewall-for-pppoe|use-ip-firewall|wds-cost-range|wds-default-bridge|wds-default-cost|wds-ignore-ssid|wds-mode|job|environment)\\b"}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.rosScript","match":"\\\\(\\\\|[nrt$?abfv\"?]|[0-9A-F]{2})"},{"name":"invalid.illegal.unknown-escape.rosScript","match":"\\\\."}]}}}
@@ -1 +1 @@
1
- {"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}},"code":{"patterns":[{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#scala-symbol"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?=\\s*,)","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"},"3":{"name":"variable.other.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.scoping.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+(given\\s+)?","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)\\s*(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))\\s*(=\u003e)\\s*(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))\\s*","captures":{"1":{"name":"entity.name.export.renamed-from.scala"},"2":{"name":"keyword.other.arrow.scala"},"3":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"entity.name.export.scala","match":"([^\\s.,}]+)"}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"},"2":{"name":"keyword.other.export.given.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.other.inherited-class.scala"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.comparison.scala","match":"(==?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\-|\\+|\\*|/(?![/*])|%|~)"},{"name":"keyword.operator.logical.scala","match":"(?\u003c![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|_)(!|\u0026\u0026|\\|\\|)(?![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}])"},{"name":"keyword.operator.scala","match":"(\u003c-|←|-\u003e|→|=\u003e|⇒|\\?|\\:+|@|\\|)+"}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"['$]\\{(?!')"},{"name":"meta.bracket.scala","match":"'\\[(?!')"}]},"scala-symbol":{"name":"constant.other.symbol.scala","match":"(?\u003e'(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))(?!')"},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
1
+ {"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#scala-symbol"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?=\\s*,)","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"},"3":{"name":"variable.other.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.scoping.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+(given\\s+)?","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)\\s*(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))\\s*(=\u003e)\\s*(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))\\s*","captures":{"1":{"name":"entity.name.export.renamed-from.scala"},"2":{"name":"keyword.other.arrow.scala"},"3":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"entity.name.export.scala","match":"([^\\s.,}]+)"}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"},"2":{"name":"keyword.other.export.given.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.other.inherited-class.scala"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.comparison.scala","match":"(==?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\-|\\+|\\*|/(?![/*])|%|~)"},{"name":"keyword.operator.logical.scala","match":"(?\u003c![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|_)(!|\u0026\u0026|\\|\\|)(?![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}])"},{"name":"keyword.operator.scala","match":"(\u003c-|←|-\u003e|→|=\u003e|⇒|\\?|\\:+|@|\\|)+"}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"['$]\\{(?!')"},{"name":"meta.bracket.scala","match":"'\\[(?!')"}]},"scala-symbol":{"name":"constant.other.symbol.scala","match":"(?\u003e'(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))(?!')"},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+","end":"\\n","patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."},{"include":"#strings"},{"include":"#constants"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"S-expressions","scopeName":"source.sexp","patterns":[{"include":"#main"}],"repository":{"car":{"name":"meta.car.sexp","begin":"^|\\G","end":"(?x)\n# Terminate after the closing delimiter of multi-line tokens\n(?\u003c=\\)|\"|\\])\n|\n\\s*\n(?:\n\t# Match an unbracketed token\n\t('?(?!\")(?:[^\\s();\\\\]|\\\\.)++)\n\t|\n\t\n\t# Match balanced brackets recursively\n\t# - TODO: Deal with nested vectors like “[1 (foo)]” or “(foo [1, 2])”\n\t(\\( (?\u003cbrackets\u003e\n\t\t\\g\u003cnonbracket\u003e++\n\t\t|\n\t\t\\g\u003cnonbracket\u003e*+\n\t\t\\( \\g\u003cbrackets\u003e? \\)\n\t\t\\g\u003cnonbracket\u003e*+\n\t) \\))\n\t\n\t# Pattern for matching a non-bracket or escaped character\n\t(?\u003cnonbracket\u003e[^()\\\\] | \\\\(?:\\\\|\\))){0}\n)","patterns":[{"include":"#comment"},{"include":"#list"},{"include":"#vector"},{"include":"#string"}],"endCaptures":{"1":{"patterns":[{"include":"#car-innards"}]},"2":{"patterns":[{"include":"#list"}]}}},"car-innards":{"patterns":[{"include":"#quote"},{"match":"(?:^|\\G)(?:(-?\\d*\\.\\d+)|(-?\\d+))$","captures":{"1":{"name":"constant.numeric.float.real.sexp"},"2":{"name":"constant.numeric.integer.int.sexp"}}},{"name":"string.quoted.double.sexp","match":"(?:^|\\G)(\")(.+)(\")$","captures":{"1":{"name":"punctuation.definition.string.begin.sexp"},"2":{"patterns":[{"include":"#escape"}]},"3":{"name":"punctuation.definition.string.end.sexp"}}},{"name":"entity.name.function.sexp","begin":"(?:^|\\G)","end":"$","patterns":[{"include":"#escape"}]}]},"cdr":{"contentName":"meta.cdr.sexp","begin":"(?!\\G)(?:(?:(?\u003c![)\"\\]])\\s+|\\s*)(\\.)(?=$|\\s|\\()[ \\t]*)?","end":"(?=\\))","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.pair-separator.dot.sexp"}}},"comment":{"name":"comment.line.semicolon.sexp","begin":";+","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.sexp"}}},"escape":{"name":"constant.character.escape.sexp","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.sexp"}}},"list":{"patterns":[{"name":"meta.list.empty.sexp","match":"(\\()\\s*(\\))","captures":{"1":{"name":"punctuation.section.list.begin.sexp"},"2":{"name":"punctuation.section.list.end.sexp"}}},{"name":"meta.list.sexp","begin":"\\(","end":"\\)","patterns":[{"include":"#car"},{"include":"#cdr"}],"beginCaptures":{"0":{"name":"punctuation.section.list.begin.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.list.end.sexp"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#list"},{"include":"#vector"},{"include":"#string"},{"include":"#number"},{"include":"#nil"},{"include":"#quote"},{"include":"#symbol"}]},"nil":{"name":"constant.language.null.nil.sexp","match":"(?i)(?\u003c=^|\\G|\\s|\\()nil(?=$|\\s|\\)|;)"},"number":{"match":"(?\u003c=^|\\G|\\s|\\()(?:(-?\\d*\\.\\d+)|(-?\\d+))(?=$|\\s|\\)|;)","captures":{"1":{"name":"constant.numeric.float.real.sexp"},"2":{"name":"constant.numeric.integer.int.sexp"}}},"quote":{"match":"(')(?:(?=[(\\[\"])|((?:[^\\s();\\\\]|\\\\.)++))","captures":{"1":{"name":"keyword.operator.quote.sexp"},"2":{"name":"markup.quote.symbol.sexp","patterns":[{"include":"#escape"}]}}},"string":{"name":"string.quoted.double.sexp","begin":"\"","end":"\"","patterns":[{"include":"#escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sexp"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sexp"}}},"symbol":{"name":"constant.other.symbol.sexp","match":"(?\u003c=^|\\G|\\s|\\()(?:[^\"\\s();\\\\]|\\\\.)++","captures":{"0":{"patterns":[{"include":"#escape"}]}}},"vector":{"name":"meta.vector.sexp","begin":"\\[","end":"\\]","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.vector.begin.sexp"}},"endCaptures":{"0":{"name":"punctuation.definition.vector.end.sexp"}}}}}