github-linguist 7.19.0 → 7.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/liquid.injection.json +1 -1
  3. data/grammars/markdown.cadence.codeblock.json +1 -0
  4. data/grammars/markdown.prisma.codeblock.json +1 -0
  5. data/grammars/source.abap.json +1 -1
  6. data/grammars/source.acucobol.json +1 -1
  7. data/grammars/source.alloy.json +1 -1
  8. data/grammars/source.astro.json +1 -0
  9. data/grammars/source.ats.json +1 -1
  10. data/grammars/source.berry.bytecode.json +1 -0
  11. data/grammars/source.berry.json +1 -0
  12. data/grammars/source.bms.json +1 -0
  13. data/grammars/source.bmsmap.json +1 -0
  14. data/grammars/source.cadence.json +1 -0
  15. data/grammars/source.cairo.json +1 -0
  16. data/grammars/source.cl.json +1 -1
  17. data/grammars/source.cobol.json +1 -1
  18. data/grammars/source.cobol_acu_listfile.json +1 -0
  19. data/grammars/source.cobol_mf_listfile.json +1 -0
  20. data/grammars/source.cobol_mfprep.json +1 -0
  21. data/grammars/source.cobol_pcob_listfile.json +1 -0
  22. data/grammars/source.cobolit.json +1 -0
  23. data/grammars/source.cobsql_dir.json +1 -0
  24. data/grammars/source.dart.json +1 -1
  25. data/grammars/source.denizenscript.json +1 -1
  26. data/grammars/source.dir.json +1 -0
  27. data/grammars/source.fsharp.json +1 -1
  28. data/grammars/source.gdscript.json +1 -1
  29. data/grammars/source.genero-forms.json +1 -0
  30. data/grammars/source.genero.json +1 -0
  31. data/grammars/source.hlasm.json +1 -0
  32. data/grammars/source.jcl.json +1 -1
  33. data/grammars/source.kotlin.json +1 -1
  34. data/grammars/source.ligo.json +1 -0
  35. data/grammars/source.mc.json +1 -0
  36. data/grammars/source.mfu.json +1 -0
  37. data/grammars/source.mfupp_dir.json +1 -0
  38. data/grammars/source.mligo.json +1 -0
  39. data/grammars/source.p4.json +1 -1
  40. data/grammars/source.pli.json +1 -0
  41. data/grammars/source.pony.json +1 -1
  42. data/grammars/source.q.json +1 -1
  43. data/grammars/source.rascal.json +1 -1
  44. data/grammars/source.rego.json +1 -1
  45. data/grammars/source.religo.json +1 -0
  46. data/grammars/source.rescript.json +1 -1
  47. data/grammars/source.rpgle.json +1 -1
  48. data/grammars/source.shell.json +1 -1
  49. data/grammars/source.solidity.json +1 -1
  50. data/grammars/source.stan.json +1 -1
  51. data/grammars/source.swift.json +1 -1
  52. data/grammars/source.talon.json +1 -0
  53. data/grammars/source.utreport.json +1 -0
  54. data/grammars/source.vyper.json +1 -1
  55. data/grammars/source.win32-messages.json +1 -0
  56. data/grammars/source.yara.json +1 -1
  57. data/grammars/text.html.liquid.json +1 -1
  58. data/grammars/text.html.markdown.astro.json +1 -1
  59. data/grammars/text.savane.json +1 -0
  60. data/grammars/version +1 -1
  61. data/lib/linguist/VERSION +1 -1
  62. data/lib/linguist/generic.yml +1 -0
  63. data/lib/linguist/heuristics.yml +12 -0
  64. data/lib/linguist/languages.json +1 -1
  65. data/lib/linguist/languages.yml +109 -2
  66. data/lib/linguist/samples.json +1 -1
  67. metadata +32 -5
  68. data/grammars/source.opencobol.json +0 -1
  69. data/grammars/text.html.astro.json +0 -1
  70. data/lib/linguist/linguist.so +0 -0
@@ -1 +1 @@
1
- {"name":"RPGLE","scopeName":"source.rpgle","patterns":[{"name":"rpgle.free.allfree","begin":"(?i)(?=(\\s*\\*\\*(FREE)))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"keyword.other.rpgle.free.precompiler.allfree","match":"(?i)^\\s*\\*\\*FREE"},{"include":"#freeSQL"},{"include":"#rpglecommon"},{"include":"#freeformat"}]},{"include":"#tempfreeformat"},{"include":"#fixedSQL"},{"include":"#freeSQL"},{"include":"#precompiler"},{"include":"#ctarrays"},{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"include":"#fixedformat"},{"include":"#freeformat"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpgle.free","match":"(//).*"}]},"constants":{"patterns":[{"name":"constant.language.rpgle.indicator","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.language.rpgle","match":"[*][a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.numeric.rpgle","match":"\\b\\d+\\.?\\d*?\\b"}]},"ctarrays":{"patterns":[{"begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpgle.ctarray","begin":"(\\*{2})"}]}]},"fixedSQL":{"patterns":[{"begin":"(?i)(?=(^.{5}(C)(\\/EXEC)\\s+(SQL)\\b))","end":"(?i)(?=(^.{5}(C)(\\/END\\-EXEC)\\b))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(C)(\\/EXEC)\\s+(sql)\\b"},{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(C[\\+|\\/])"},{"include":"#sqlcommon"}]},{"name":"keyword.other.rpgle.sql","match":"(?i)(\\/END\\-EXEC)"}]},"fixedcomment":{"patterns":[{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"name":"comment.gutter","match":"^.{5}"},{"name":"comment.block.line.rpgle.fixed","begin":"(?i)(?\u003c=((?\u003c=^.{5}((H|F|D|I|C|O|P))).{74}))","end":"\n"}]},"fixedformat":{"patterns":[{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"},{"name":"rpgle.fixed.h","begin":"(?i)(?\u003c=^.{5}H)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"entity.name.function.rpgle.fixed.h.keywords","match":"\\b(?i)(VALIDATE|USRPRF|TIMFMT|THREAD|TEXT|SRTSEQ|PRFDTA|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECEDIT|DEBUG|DATFMT|DATEDIT|CVTOPT|DCLOPT|CURSYM|COPYRIGHT|CCSIDCVT|CCSID|COPYNEST|BNDDIR|AUT|ALWNULL|ALTSEQ|ALLOC|ACTGRP)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.f","begin":"(?i)(?\u003c=^.{5}F)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})))(I|O|U|C)"},{"name":"constant.language.rpgle.fixed.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpgle.fixed.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})).{2})E"},{"name":"constant.language.rpgle.fixed.f.addition","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{13})).{2})A"},{"name":"constant.language.rpgle.fixed.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{14})).{2})(A|D)"},{"name":"constant.language.rpgle.fixed.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{15})).{2})(E|F)"},{"name":"constant.language.rpgle.fixed.fi.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F)([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.limitproc","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{5})L"},{"name":"constant.language.rpgle.fixed.fi.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F).{6})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{11})(A|D|F|G|K|P|T|Z)"},{"name":"constant.language.rpgle.fixed.fi.fileorg","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F.{12})(?i)(I|T)"},{"name":"constant.language.rpgle.fixed.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{13})(PRINTER|DISK|WORKSTN|SPECIAL|SEQ)"},{"name":"entity.name.function.rpgle.fixed.f","match":"\\b(?i)(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|BLOCK|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.d","begin":"(?i)(?\u003c=^.{5}D)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"variable.other.rpgle.fixed.d.extended.name","match":"(?i)(?\u003c=^.{5}D).{1,71}\\.{3}"},{"name":"constant.language.rpgle.fixed.d.external","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{15}))E"},{"name":"constant.language.rpgle.fixed.d.dstype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{16}))(S|U)"},{"name":"constant.language.rpgle.fixed.d.dectype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{17}))(DS|PI|PR|(S\\s)|(C\\s))"},{"name":"constant.language.rpgle.fixed.d.from","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{21}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.d.to","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{26}))((\\+|\\-|\\s)(([0-9]|\\s){6}))"},{"name":"constant.language.rpgle.fixed.d.datatype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{33}))(A|B|D|F|G|I|N|P|S|T|U|Z|\\*)"},{"name":"constant.language.rpgle.fixed.d.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{34}))([0-9]|\\s){2}"},{"name":"entity.name.function.rpgle.fixed.d.keywords","match":"\\b(?i)(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|RTNPARM|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PERRCD|PACKEVEN|PACKED|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.i","begin":"(?i)(?\u003c=^.{5}I)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpgle.fixed.i.number","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{12}))N"},{"name":"constant.language.rpgle.fixed.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{13}))O"},{"name":"constant.language.rpgle.fixed.i.recordid","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{14}))(([0-9]{2})|((H|L)([1-9]))|(RT)|((U)([1-8]))|(\\*\\*))"},{"name":"constant.language.rpgle.fixed.i.pos1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{16}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{21}))N"},{"name":"constant.language.rpgle.fixed.i.czd1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{22}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{23}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{24}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{29}))N"},{"name":"constant.language.rpgle.fixed.i.czd2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{30}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{31}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{32}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{37}))N"},{"name":"constant.language.rpgle.fixed.i.czd3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{38}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{39}))([A-Z0-9])"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.c","begin":"(?i)(?\u003c=^.{5}C)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.c.ctrl","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{0}))((L[0-9])|LR|SR|AN)"},{"name":"constant.language.rpgle.fixed.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV))"},{"name":"keyword.other.rpgle.fixed.c.extfactor2","begin":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))((\\s{10})|CALLP|WHEN\\s{2}|RETURN|ON-ERROR|IF\\s{2}|FOR|EVALR|EVAL|ELSEIF|DOW\\s{2}|DOU\\s{2})","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)(AND|COMP|CAB|CAS|DOU|DOW|FOR|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"variable.other","match":"((?i)[@#a-zA-Z_][@#a-zA-Z0-9_]*)|\\(|\\)|\\%"}]},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)(AND|COMP|CAB|CAS|DOU|DOW|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"keyword.other.rpgle.fixed.c.operation","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDIR|SUB|SQRT|SORTA|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDFOR|ENDSR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)"},{"name":"constant.language.rpgle.fixed.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{57}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{62}))([0-9]|\\s){2}"},{"name":"constant.language.rpgle.fixed.c.hi","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{64}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.lo","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{66}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.eq","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{68}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"}]},{"name":"rpgle.fixed.o","begin":"(?i)(?\u003c=^.{5}O)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{10}))(H|D|T|E)"},{"name":"constant.language.rpgle.fixed.o.fetch","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{11}))(F|R)"},{"name":"constant.language.rpgle.fixed.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{14}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{17}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{20}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.spacebefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{33}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.spaceafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{36}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipbefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{39}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{42}))([0-9]|\\s){3}"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.p","begin":"(?i)(?\u003c=^.{5}P)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.p.beginend","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{17}))(B|E)"},{"name":"entity.name.function.rpgle.fixed.p.keywords","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{37}))(SERIALIZE|REQPROTO|PGMINFO|EXPORT)"},{"include":"#rpglecommon"}]}]},"freeSQL":{"patterns":[{"begin":"(?i)(?=(^.*(EXEC)\\s+(SQL)\\b))","end":"\\;","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(EXEC)\\s+(SQL)\\b"},{"include":"#sqlcommon"}]}]},"freedefkeywords":{"patterns":[{"name":"entity.name.function.rpgle.free.definition.keywords","match":"(?i)\\b(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|SQLTYPE|RTNPARM|REQPROTO|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PGMINFO|PERRCD|PACKEVEN|PACKED|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"}]},"freeformat":{"patterns":[{"name":"rpgle.free.control","begin":"(?i)\\b(?=CTL\\-OPT)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.control","match":"(?i)\\b(CTL\\-OPT)\\b"},{"name":"entity.name.function.rpgle.free.control.keywords","match":"(?i)\\b(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DATFMT|DATEDIT|DCLOPT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CCSIDCVT|CCSID|BNDDIR|AUT|ALWNULL|ALTSEQ|ACTGRP|ALLOC)\\b"}]},{"name":"rpgle.free.file","begin":"(?i)\\b(?=DCL\\-F)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.file","match":"(?i)\\b(DCL\\-F)\\b"},{"name":"entity.name.function.rpgle.free.file.keywords","match":"(?i)\\b(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|BLOCK|ALIAS)\\b"}]},{"name":"storage.type.rpgle.free.definition.subr","match":"(?i)\\b(BEG|END)SR\\b"},{"name":"rpgle.free.definition.simple","begin":"(?i)(?=(\\b(DCL\\-)(S|C|PARM)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.simple","match":"(?i)\\b(DCL\\-)(S|C|PARM)\\b"},{"include":"#freeidentifiers"},{"name":"comment.line.rpgle.free","match":"(//).*"}]},{"name":"rpgle.free.definition.complex","begin":"(?i)(?=(\\b(DCL\\-)(DS|PROC|PR|PI)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(DCL\\-)(DS|PROC|PR|PI)\\b"},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"name":"keyword.other.rpgle.free","match":"(?i)\\b(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDIR|SUB|SQRT|SQLSTATE|SQLCODE|SORTA|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR\\-EACH|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDSR|ENDMON|ENDFOR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)\\b"},{"include":"#freeidentifiers"},{"include":"#rpglecommon"}]},"freeidentifiers":{"patterns":[{"name":"rpgle.free.definition.identifier","begin":"[a-zA-Z_][a-zA-Z0-9_]*","end":"(?=\n)","patterns":[{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]}]},"keywords":{"patterns":[{"name":"keyword.other.rpgle","match":":|\\.|\\,|\\*{1,2}(=)?|=|\u003c\u003e|((\u003c|\u003e|\\+|\\-|\\/)(=)?)|((\\b(?i)(TO|BY|DOWNTO|AND|IN|OR|NOT)\\b))"},{"name":"keyword.other.rpgle.bif","match":"[%](?i)(YEARS|XML|XLATE|XFOOT|UPPER|UNSH|UNS|UCS2|TRIMR|TRIML|TRIM|TLOOKUPLT|TLOOKUPLE|TLOOKUPGT|TLOOKUPGE|TLOOKUP|TIMESTAMP|TIME|THIS|SUBST|SUBDT|SUBARR|STR|STATUS|SQRT|SPLIT|SIZE|SHTDN|SECONDS|SCANRPL|SCANR|SCAN|REPLACE|REM|REALLOC|RANGE|PROC|PARSER|PARMNUM|PARMS|PADDR|OPEN|OCCUR|NULLIND|MSECONDS|MONTHS|MINUTES|MINARR|MIN|MAXARR|MAX|LOWER|LOOKUPLT|LOOKUPLE|LOOKUPGT|LOOKUPGE|LOOKUP|LIST|LEN|KDS|INTH|INT|HOURS|HANDLER|GRAPH|FOUND|FLOAT|FIELDS|ERROR|EQUAL|EOF|ELEM|EDITW|EDITFLT|EDITC|DIV|DIFF|DECPOS|DECH|DEC|DAYS|DATE|DATA|CHECKR|CHECK|CHAR|BITXOR|BITOR|BITNOT|BITAND|ALLOC|ADDR|ABS)"}]},"precompiler":{"patterns":[{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)(?\u003c=^.{5})(H|\\s)[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.fixed.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.include","begin":"(?i)^(\\s)*(C)?(\\s)*[\\/](INCLUDE|COPY)\\s","end":"\n","patterns":[{"name":"string.other.rpgle.precompiler.include","begin":"\\S","end":"\\s"},{"name":"comment.other.rpgle.precompiler.include","match":".*"}]},{"name":"rpgle.precompiler.conditional","begin":"(?i)(?=(^[\\s]*\\/IF))","end":"(?i)(?=(^[\\s]*\\/ENDIF))","patterns":[{"name":"keyword.other.rpgle.precompiler.if","match":"(?i)^[\\s]*\\/(ELSEIF|IF)"},{"name":"keyword.other.rpgle.precompiler.defcheck","match":"(?i)\\s*\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#freedefkeywords"},{"include":"#freeformat"}]},{"name":"keyword.other.rpgle.fixed.precompiler.misc","match":"(?i)^[\\s]*[\\/](EJECT|COPY|INCLUDE|ENDIF|ELSE|EOF|UNDEFINE|DEFINE|TITLE|SPACE|FREE|END-FREE)\\b","patterns":[{"name":"keyword.other.rpgle.precompiler","match":".*"}]}]},"rpglecommon":{"patterns":[{"include":"#comments"},{"include":"#freedefkeywords"},{"include":"#constants"},{"include":"#precompiler"},{"include":"#keywords"},{"include":"#strings"}]},"sqlcommon":{"patterns":[{"name":"comment.line.rpgle.rpgle.sql","match":"//.*"},{"name":"constant.language.rpgle.sql.globals","match":"(?i)\\b(CLIENT_HOST|CLIENT_IPADDR|CLIENT_PORT|JOB_NAME|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PROCESS_ID|ROUTINE_SCHEMA|ROUTINE_SPECIFIC_NAME|ROUTINE_TYPE|SERVER_MODE_JOB_NAME|THREAD_ID)\\b"},{"name":"support.function.rpgle.sql","match":"[a-zA-Z_][a-zA-Z0-9_]*(?=\\()"},{"name":"constant.language.rpgle.sql.schema","match":"[a-zA-Z_][a-zA-Z0-9_]*(\\.|/)"},{"name":"variable.parameter.rpgle.sql","match":"[:][a-zA-Z_][a-zA-Z0-9_.#]*"},{"name":"keyword.operator.rpgle.sql.reserved","match":"(?i)\\b(ZONE|YES|YEARS|YEAR|XSROBJECT|XSLTRANSFORM|XMLVALIDATE|XMLTEXT|XMLTABLE|XMLSERIALIZE|XMLROW|XMLPI|XMLPARSE|XMLNAMESPACES|XMLGROUP|XMLFOREST|XMLELEMENT|XMLDOCUMENT|XMLCONCAT|XMLCOMMENT|XMLCAST|XMLATTRIBUTES|XMLAGG|WRKSTNNAME|WRITE|WRAPPER|WRAPPED|WITHOUT|WITHIN|WITH|WHILE|WHERE|WHENEVER|WHEN|WAIT|VOLATILE|VIEW|VERSION|VCAT|VARIANT|VARIABLE|VALUES|VALUE|USING|USERID|USER|USE|USAGE|URI|UPDATING|UPDATE|UNTIL|UNNEST|UNIT|UNIQUE|UNION|UNDO|TYPE|TRUNCATE|TRIM_ARRAY|TRIM|TRIGGER|TRANSFER|TRANSACTION|TO|TIMESTAMP|TIME|THREADSAFE|THEN|TABLESPACES|TABLESPACE|TABLE|SYSTEM_USER|SYNONYM|SUMMARY|SUBSTRING|STOGROUP|STATIC|STATEMENT|STARTING|START|STACKED|SQLID|SQL|SPECIFIC|SOURCE|SOME|SNAN|SKIP|SIMPLE|SIGNAL|SET|SESSION_USER|SESSION|SEQUENCE|SENSITIVE|SELECT|SECURED|SECQTY|SECONDS|SECOND|SEARCH|SCROLL|SCRATCHPAD|SCHEMA|SBCS|SAVEPOINT|RUN|RRN|ROW_NUMBER|ROWS|ROWNUMBER|ROW|ROUTINE|ROLLUP|ROLLBACK|RIGHT|RID|REVOKE|RETURNS|RETURNING|RETURN|RESULT_SET_LOCATOR|RESULT|RESTART|RESIGNAL|RESET|REPEAT|RENAME|RELEASE|REGEXP_LIKE|REFRESH|REFERENCING|REFERENCES|RECOVERY|READS|READ|RCDFMT|RANK|RANGE|QUERY|PROGRAMID|PROGRAM|PROCEDURE|PRIVILEGES|PRIQTY|PRIOR|PRIMARY|PREVVAL|PREPARE|POSITION|PLAN|PIPE|PIECESIZE|PERMISSION|PCTFREE|PATH|PASSWORD|PASSING|PARTITIONS|PARTITIONING|PARTITIONED|PARTITION|PART|PARAMETER|PAGESIZE|PAGE|PADDED|PACKAGE|OVERRIDING|OVERLAY|OVER|OUTER|OUT|ORGANIZE|ORDINALITY|ORDER|OR|OPTION|OPTIMIZE|OPEN|ONLY|ON|OMIT|OLD_TABLE|OLD|OFFSET|OF|OBID|NVARCHAR|NULLS|NULL|NOT|NORMALIZED|NOORDER|NONE|NOMINVALUE|NOMAXVALUE|NODENUMBER|NODENAME|NOCYCLE|NOCACHE|NO|NEXTVAL|NEW_TABLE|NEW|NESTED|NCLOB|NCHAR|NATIONAL|NAN|NAMESPACE|MONTHS|MONTH|MODIFIES|MODE|MIXED|MINVALUE|MINUTES|MINUTE|MINPCTUSED|MICROSECONDS|MICROSECOND|MERGE|MAXVALUE|MATERIALIZED|MATCHED|MASK|MAINTAINED|LOOP|LONG|LOGGED|LOG|LOCKSIZE|LOCK|LOCATOR|LOCATION|LOCALTIMESTAMP|LOCALTIME|LOCALDATE|LOCAL|LISTAGG|LINKTYPE|LIMIT|LIKE|LEVEL2|LEFT|LEAVE|LATERAL|LANGUAGE|LABEL|KEY|KEEP|JSON_VALUE|JSON_TABLE|JSON_QUERY|JSON_OBJECTAGG|JSON_OBJECT|JSON_EXISTS|JSON_ARRAYAGG|JSON_ARRAY|JOIN|JAVA|ITERATE|ISOLATION|IS|INTO|INTERSECT|INTEGRITY|INSERTING|INSERT|INSENSITIVE|INOUT|INNER|INLINE|INHERIT|INFINITY|INF|INDICATOR|INDEXBP|INDEX|INCREMENT|INCLUSIVE|INCLUDING|INCLUDE|IMPLICITLY|IMMEDIATE|IGNORE|IF|IDENTITY|ID|HOURS|HOUR|HOLD|HINT|HAVING|HASHED_VALUE|HASH|HANDLER|GROUP|GRAPHIC|GRANT|GOTO|GO|GLOBAL|GET|GENERATED|GENERAL|GBPCACHE|FUNCTION|FULL|FROM|FREEPAGE|FREE|FORMAT|FOREIGN|FOR|FINAL|FILE|FIELDPROC|FETCH|FENCED|EXTRACT|EXTERNAL|EXTEND|EXIT|EXISTS|EXECUTE|EXCLUSIVE|EXCLUDING|EXCEPTION|EXCEPT|EVERY|ESCAPE|ERROR|ENFORCED|ENDING|END|ENCRYPTION|ENCODING|ENABLE|EMPTY|ELSEIF|ELSE|EACH|DYNAMIC|DROP|DOUBLE|DOCUMENT|DO|DISTINCT|DISCONNECT|DISALLOW|DISABLE|DIAGNOSTICS|DETERMINISTIC|DESCRIPTOR|DESCRIBE|DESC|DENSE_RANK|DENSERANK|DELETING|DELETE|DEFINITION|DEFINE|DEFER|DEFAULTS|DEFAULT|DECLARE|DEALLOCATE|DEACTIVATE|DBPARTITIONNUM|DBPARTITIONNAME|DBINFO|DB2SQL|DB2GENRL|DB2GENERAL|DAYS|DAY|DATE|DATAPARTITIONNUM|DATAPARTITIONNAME|DATABASE|DATA|CYCLE|CURSOR|CURRENT_USER|CURRENT_TIMEZONE|CURRENT_TIMESTAMP|CURRENT_TIME|CURRENT_SERVER|CURRENT_SCHEMA|CURRENT_PATH|CURRENT_DATE|CURRENT|CUBE|CROSS|CREATEIN|CREATE|COUNT_BIG|COUNT|COPY|CONTINUE|CONTENT|CONTAINS|CONSTRAINT|CONSTANT|CONNECT_BY_ROOT|CONNECTION|CONNECT|CONDITION|CONCURRENT|CONCAT|COMPRESS|COMPACT|COMMIT|COMMENT|COLUMN|COLLECTION|COLLECT|CLUSTER|CLOSE|CL|CHECK|CHARACTER|CHAR|CCSID|CAST|CASE|CARDINALITY|CALLED|CALL|CACHE|BY|BUFFERPOOL|BIT|BIND|BINARY|BETWEEN|BEGIN|BEFORE|AUTONOMOUS|AUTHORIZATION|ATTRIBUTES|ATOMIC|AT|ASSOCIATE|ASENSITIVE|ASC|AS|ARRAY_AGG|ARRAY|APPLNAME|APPEND|ANY|AND|ALTER|ALLOW|ALLOCATE|ALL|ALIAS|ADD|ACTIVATE|ACTION|ACCTNG|ACCORDING|ABSENT)\\b"},{"include":"source.sql"}]},"strings":{"patterns":[{"name":"string.other.rpgle.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.rpgle","begin":"'","end":"'","patterns":[{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"}]}]},"tempfreeformat":{"patterns":[{"begin":"(?i)(?=((\\/FREE\\b)))","end":"(?i)(?=((\\/END-FREE\\b)))","patterns":[{"name":"keyword.other.rpgle.precompiler","match":"(?i)^.*(\\/FREE\\b)"},{"include":"#rpglecommon"},{"include":"#freeformat"},{"include":"#freeSQL"}]},{"name":"keyword.other.rpgle.precompiler","match":"^.*(\\/END-FREE\\b)"}]}}}
1
+ {"name":"RPGLE","scopeName":"source.rpgle","patterns":[{"name":"rpgle.free.allfree","begin":"(?i)(?=(\\s*\\*\\*(FREE)))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"keyword.other.rpgle.free.precompiler.allfree","match":"(?i)^\\s*\\*\\*FREE"},{"include":"#freeSQL"},{"include":"#rpglecommon"},{"include":"#freeformat"}]},{"include":"#tempfreeformat"},{"include":"#fixedSQL"},{"include":"#freeSQL"},{"include":"#precompiler"},{"include":"#ctarrays"},{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"include":"#fixedformat"},{"include":"#freeformat"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpgle.free","match":"(//).*"}]},"constants":{"patterns":[{"name":"constant.language.rpgle.indicator","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.language.rpgle","match":"[*][a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.numeric.rpgle","match":"\\b\\d+\\.?\\d*?\\b"}]},"ctarrays":{"patterns":[{"begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpgle.ctarray","begin":"(\\*{2})"}]}]},"fixedSQL":{"patterns":[{"begin":"(?i)(?=(^.{5}(C)(\\/EXEC)\\s+(SQL)\\b))","end":"(?i)(?=(^.{5}(C)(\\/END\\-EXEC)\\b))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(C)(\\/EXEC)\\s+(sql)\\b"},{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(C[\\+|\\/])"},{"include":"#sqlcommon"}]},{"name":"keyword.other.rpgle.sql","match":"(?i)(\\/END\\-EXEC)"}]},"fixedcomment":{"patterns":[{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"name":"comment.gutter","match":"^.{5}"},{"name":"comment.block.line.rpgle.fixed","begin":"(?i)(?\u003c=((?\u003c=^.{5}((H|F|D|I|C|O|P))).{74}))","end":"\n"}]},"fixedformat":{"patterns":[{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"},{"name":"rpgle.fixed.h","begin":"(?i)(?\u003c=^.{5}H)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"entity.name.function.rpgle.fixed.h.keywords","match":"\\b(?i)(VALIDATE|USRPRF|TIMFMT|THREAD|TEXT|SRTSEQ|PRFDTA|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECEDIT|DEBUG|DATFMT|DATEDIT|CVTOPT|DCLOPT|CURSYM|COPYRIGHT|CCSIDCVT|CCSID|COPYNEST|BNDDIR|AUT|ALWNULL|ALTSEQ|ALLOC|ACTGRP)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.f","begin":"(?i)(?\u003c=^.{5}F)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})))(I|O|U|C)"},{"name":"constant.language.rpgle.fixed.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpgle.fixed.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})).{2})E"},{"name":"constant.language.rpgle.fixed.f.addition","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{13})).{2})A"},{"name":"constant.language.rpgle.fixed.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{14})).{2})(A|D)"},{"name":"constant.language.rpgle.fixed.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{15})).{2})(E|F)"},{"name":"constant.language.rpgle.fixed.fi.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F)([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.limitproc","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{5})L"},{"name":"constant.language.rpgle.fixed.fi.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F).{6})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{11})(A|D|F|G|K|P|T|Z)"},{"name":"constant.language.rpgle.fixed.fi.fileorg","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F.{12})(?i)(I|T)"},{"name":"constant.language.rpgle.fixed.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{13})(PRINTER|DISK|WORKSTN|SPECIAL|SEQ)"},{"name":"entity.name.function.rpgle.fixed.f","match":"\\b(?i)(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|BLOCK|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.d","begin":"(?i)(?\u003c=^.{5}D)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"string.quoted.single.rpgle.fixed","begin":"'","end":"'","patterns":[{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"}]},{"name":"variable.other.rpgle.fixed.d.extended.name","match":"(?i)(?\u003c=^.{5}D).{1,71}\\.{3}"},{"name":"constant.language.rpgle.fixed.d.external","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{15}))E"},{"name":"constant.language.rpgle.fixed.d.dstype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{16}))(S|U)"},{"name":"constant.language.rpgle.fixed.d.dectype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{17}))(DS|PI|PR|(S\\s)|(C\\s))"},{"name":"constant.language.rpgle.fixed.d.from","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{21}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.d.to","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{26}))((\\+|\\-|\\s)(([0-9]|\\s){6}))"},{"name":"constant.language.rpgle.fixed.d.datatype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{33}))(A|B|D|F|G|I|N|P|S|T|U|Z|\\*)"},{"name":"constant.language.rpgle.fixed.d.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{34}))([0-9]|\\s){2}"},{"name":"entity.name.function.rpgle.fixed.d.keywords","match":"\\b(?i)(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|RTNPARM|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PERRCD|PACKEVEN|PACKED|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.i","begin":"(?i)(?\u003c=^.{5}I)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpgle.fixed.i.number","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{12}))N"},{"name":"constant.language.rpgle.fixed.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{13}))O"},{"name":"constant.language.rpgle.fixed.i.recordid","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{14}))(([0-9]{2})|((H|L)([1-9]))|(RT)|((U)([1-8]))|(\\*\\*))"},{"name":"constant.language.rpgle.fixed.i.pos1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{16}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{21}))N"},{"name":"constant.language.rpgle.fixed.i.czd1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{22}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{23}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{24}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{29}))N"},{"name":"constant.language.rpgle.fixed.i.czd2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{30}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{31}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{32}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{37}))N"},{"name":"constant.language.rpgle.fixed.i.czd3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{38}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{39}))([A-Z0-9])"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.c","begin":"(?i)(?\u003c=^.{5}C)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.c.ctrl","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{0}))((L[0-9])|LR|SR|AN)"},{"name":"constant.language.rpgle.fixed.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV))"},{"name":"keyword.other.rpgle.fixed.c.extfactor2","begin":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))((\\s{10})|CALLP|WHEN\\s{2}|RETURN|ON-ERROR|IF\\s{2}|FOR|EVALR|EVAL|ELSEIF|DOW\\s{2}|DOU\\s{2})","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)(AND|COMP|CAB|CAS|DOU|DOW|FOR|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"variable.other","match":"((?i)[@#a-zA-Z_][@#a-zA-Z0-9_]*)|\\(|\\)|\\%"}]},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)\\b(AND|COMP|CAB|CAS|DOU|DOW|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"keyword.other.rpgle.fixed.c.operation","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDIR|SUB|SQRT|SORTA|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDFOR|ENDSR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)"},{"name":"constant.language.rpgle.fixed.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{57}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{62}))([0-9]|\\s){2}"},{"name":"constant.language.rpgle.fixed.c.hi","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{64}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.lo","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{66}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.eq","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{68}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"}]},{"name":"rpgle.fixed.o","begin":"(?i)(?\u003c=^.{5}O)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{10}))(H|D|T|E)"},{"name":"constant.language.rpgle.fixed.o.fetch","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{11}))(F|R)"},{"name":"constant.language.rpgle.fixed.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{14}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{17}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{20}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.spacebefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{33}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.spaceafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{36}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipbefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{39}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{42}))([0-9]|\\s){3}"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.p","begin":"(?i)(?\u003c=^.{5}P)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.p.beginend","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{17}))(B|E)"},{"name":"entity.name.function.rpgle.fixed.p.keywords","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{37}))(SERIALIZE|REQPROTO|PGMINFO|EXPORT)"},{"include":"#rpglecommon"}]}]},"freeSQL":{"patterns":[{"begin":"(?i)(?=(^\\s*(EXEC)\\s+(SQL)\\b))","end":"(?=(;))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(EXEC)\\s+(SQL)\\b"},{"include":"#sqlcommon"}]},{"name":"comment.line.rpgle.sql","match":"(?\u003c=(;))\\s*.*"},{"name":"rpgle.free.sql.end","match":";"}]},"freedefkeywords":{"patterns":[{"name":"entity.name.function.rpgle.free.definition.keywords","match":"(?i)\\b(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|SQLTYPE|RTNPARM|REQPROTO|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PGMINFO|PERRCD|PACKEVEN|PACKED|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"}]},"freeformat":{"patterns":[{"name":"rpgle.free.control","begin":"(?i)\\b(?=CTL\\-OPT)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.control","match":"(?i)\\b(CTL\\-OPT)\\b"},{"name":"entity.name.function.rpgle.free.control.keywords","match":"(?i)\\b(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DATFMT|DATEDIT|DCLOPT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CCSIDCVT|CCSID|BNDDIR|AUT|ALWNULL|ALTSEQ|ACTGRP|ALLOC)\\b"}]},{"name":"rpgle.free.file","begin":"(?i)\\b(?=DCL\\-F)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.file","match":"(?i)\\b(DCL\\-F)\\b"},{"name":"entity.name.function.rpgle.free.file.keywords","match":"(?i)\\b(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|BLOCK|ALIAS)\\b"}]},{"name":"storage.type.rpgle.free.definition.subr","match":"(?i)\\b(BEG|END)SR\\b"},{"name":"rpgle.free.definition.simple","begin":"(?i)(?=(\\b(DCL\\-)(S|C|PARM)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.simple","match":"(?i)\\b(DCL\\-)(S|C|PARM)\\b"},{"include":"#freeidentifiers"},{"name":"comment.line.rpgle.free","match":"(//).*"}]},{"name":"rpgle.free.definition.complex","begin":"(?i)(?=(\\b(DCL\\-)(DS|PROC|PR|PI)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(DCL\\-)(DS|PROC|PR|PI)\\b"},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"name":"keyword.other.rpgle.free","match":"(?i)\\b(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDIR|SUB|SQRT|SQLSTATE|SQLCODE|SORTA|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR\\-EACH|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDSR|ENDMON|ENDFOR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)\\b"},{"include":"#freeidentifiers"},{"include":"#rpglecommon"}]},"freeidentifiers":{"patterns":[{"name":"rpgle.free.definition.identifier","begin":"[a-zA-Z_][a-zA-Z0-9_]*","end":"(?=\n)","patterns":[{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]}]},"keywords":{"patterns":[{"name":"keyword.other.rpgle","match":":|\\.|\\,|\\*{1,2}(=)?|=|\u003c\u003e|((\u003c|\u003e|\\+|\\-|\\/)(=)?)|((\\b(?i)(TO|BY|DOWNTO|AND|IN|OR|NOT)\\b))"},{"name":"keyword.other.rpgle.bif","match":"[%](?i)(YEARS|XML|XLATE|XFOOT|UPPER|UNSH|UNS|UCS2|TRIMR|TRIML|TRIM|TLOOKUPLT|TLOOKUPLE|TLOOKUPGT|TLOOKUPGE|TLOOKUP|TIMESTAMP|TIME|THIS|SUBST|SUBDT|SUBARR|STR|STATUS|SQRT|SPLIT|SIZE|SHTDN|SECONDS|SCANRPL|SCANR|SCAN|REPLACE|REM|REALLOC|RANGE|PROC|PARSER|PARMNUM|PARMS|PADDR|OPEN|OCCUR|NULLIND|MSECONDS|MONTHS|MINUTES|MINARR|MIN|MAXARR|MAX|LOWER|LOOKUPLT|LOOKUPLE|LOOKUPGT|LOOKUPGE|LOOKUP|LIST|LEN|KDS|INTH|INT|HOURS|HANDLER|GRAPH|FOUND|FLOAT|FIELDS|ERROR|EQUAL|EOF|ELEM|EDITW|EDITFLT|EDITC|DIV|DIFF|DECPOS|DECH|DEC|DAYS|DATE|DATA|CHECKR|CHECK|CHAR|BITXOR|BITOR|BITNOT|BITAND|ALLOC|ADDR|ABS)"}]},"precompiler":{"patterns":[{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)(?\u003c=^.{5})(H|\\s)[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.fixed.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)^(\\s)*(C)?(\\s)*[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.free.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.include","begin":"(?i)^(\\s)*(C)?(\\s)*[\\/](INCLUDE|COPY)\\s","end":"\n","patterns":[{"name":"string.other.rpgle.precompiler.include","begin":"\\S","end":"\\s"},{"name":"comment.other.rpgle.precompiler.include","match":".*"}]},{"name":"rpgle.precompiler.conditional","begin":"(?i)(?=(^[\\s]*\\/IF))","end":"(?i)(?=(^[\\s]*\\/ENDIF))","patterns":[{"name":"keyword.other.rpgle.precompiler.if","match":"(?i)^[\\s]*\\/(ELSEIF|IF)"},{"name":"keyword.other.rpgle.precompiler.defcheck","match":"(?i)\\s*\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#freedefkeywords"},{"include":"#freeformat"}]},{"name":"keyword.other.rpgle.fixed.precompiler.misc","match":"(?i)^[\\s]*[\\/](EJECT|COPY|INCLUDE|ENDIF|ELSE|EOF|UNDEFINE|DEFINE|TITLE|SPACE|FREE|END-FREE)\\b","patterns":[{"name":"keyword.other.rpgle.precompiler","match":".*"}]}]},"rpglecommon":{"patterns":[{"include":"#comments"},{"include":"#freedefkeywords"},{"include":"#constants"},{"include":"#precompiler"},{"include":"#keywords"},{"include":"#strings"}]},"sqlcommon":{"patterns":[{"name":"comment.line.rpgle.rpgle.sql","match":"//.*"},{"name":"constant.language.rpgle.sql.globals","match":"(?i)\\b(CLIENT_HOST|CLIENT_IPADDR|CLIENT_PORT|JOB_NAME|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PROCESS_ID|ROUTINE_SCHEMA|ROUTINE_SPECIFIC_NAME|ROUTINE_TYPE|SERVER_MODE_JOB_NAME|THREAD_ID)\\b"},{"name":"support.function.rpgle.sql","match":"[a-zA-Z_][a-zA-Z0-9_]*(?=\\()"},{"name":"constant.language.rpgle.sql.schema","match":"[a-zA-Z_][a-zA-Z0-9_]*(\\.|\\/)[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"variable.parameter.rpgle.sql","match":"[:][a-zA-Z_@#][a-zA-Z0-9_@#\\.]*"},{"name":"keyword.operator.rpgle.sql.reserved","match":"(?i)\\b(ZONE|YES|YEARS|YEAR|XSROBJECT|XSLTRANSFORM|XMLVALIDATE|XMLTEXT|XMLTABLE|XMLSERIALIZE|XMLROW|XMLPI|XMLPARSE|XMLNAMESPACES|XMLGROUP|XMLFOREST|XMLELEMENT|XMLDOCUMENT|XMLCONCAT|XMLCOMMENT|XMLCAST|XMLATTRIBUTES|XMLAGG|WRKSTNNAME|WRITE|WRAPPER|WRAPPED|WITHOUT|WITHIN|WITH|WHILE|WHERE|WHENEVER|WHEN|WAIT|VOLATILE|VIEW|VERSION|VCAT|VARIANT|VARIABLE|VALUES|VALUE|USING|USERID|USER|USE|USAGE|URI|UPDATING|UPDATE|UNTIL|UNNEST|UNIT|UNIQUE|UNION|UNDO|TYPE|TRUNCATE|TRIM_ARRAY|TRIM|TRIGGER|TRANSFER|TRANSACTION|TO|TIMESTAMP|TIME|THREADSAFE|THEN|TABLESPACES|TABLESPACE|TABLE|SYSTEM_USER|SYNONYM|SUMMARY|SUBSTRING|STOGROUP|STATIC|STATEMENT|STARTING|START|STACKED|SQLID|SQL|SPECIFIC|SOURCE|SOME|SNAN|SKIP|SIMPLE|SIGNAL|SET|SESSION_USER|SESSION|SEQUENCE|SENSITIVE|SELECT|SECURED|SECQTY|SECONDS|SECOND|SEARCH|SCROLL|SCRATCHPAD|SCHEMA|SBCS|SAVEPOINT|RUN|RRN|ROW_NUMBER|ROWS|ROWNUMBER|ROW|ROUTINE|ROLLUP|ROLLBACK|RIGHT|RID|REVOKE|RETURNS|RETURNING|RETURN|RESULT_SET_LOCATOR|RESULT|RESTART|RESIGNAL|RESET|REPEAT|RENAME|RELEASE|REGEXP_LIKE|REFRESH|REFERENCING|REFERENCES|RECOVERY|READS|READ|RCDFMT|RANK|RANGE|QUERY|PROGRAMID|PROGRAM|PROCEDURE|PRIVILEGES|PRIQTY|PRIOR|PRIMARY|PREVVAL|PREPARE|POSITION|PLAN|PIPE|PIECESIZE|PERMISSION|PCTFREE|PATH|PASSWORD|PASSING|PARTITIONS|PARTITIONING|PARTITIONED|PARTITION|PART|PARAMETER|PAGESIZE|PAGE|PADDED|PACKAGE|OVERRIDING|OVERLAY|OVER|OUTER|OUT|ORGANIZE|ORDINALITY|ORDER|OR|OPTION|OPTIMIZE|OPEN|ONLY|ON|OMIT|OLD_TABLE|OLD|OFFSET|OF|OBID|NVARCHAR|NULLS|NULL|NOT|NORMALIZED|NOORDER|NONE|NOMINVALUE|NOMAXVALUE|NODENUMBER|NODENAME|NOCYCLE|NOCACHE|NO|NEXTVAL|NEW_TABLE|NEW|NESTED|NCLOB|NCHAR|NATIONAL|NAN|NAMESPACE|MONTHS|MONTH|MODIFIES|MODE|MIXED|MINVALUE|MINUTES|MINUTE|MINPCTUSED|MICROSECONDS|MICROSECOND|MERGE|MAXVALUE|MATERIALIZED|MATCHED|MASK|MAINTAINED|LOOP|LONG|LOGGED|LOG|LOCKSIZE|LOCK|LOCATOR|LOCATION|LOCALTIMESTAMP|LOCALTIME|LOCALDATE|LOCAL|LISTAGG|LINKTYPE|LIMIT|LIKE|LEVEL2|LEFT|LEAVE|LATERAL|LANGUAGE|LABEL|KEY|KEEP|JSON_VALUE|JSON_TABLE|JSON_QUERY|JSON_OBJECTAGG|JSON_OBJECT|JSON_EXISTS|JSON_ARRAYAGG|JSON_ARRAY|JOIN|JAVA|ITERATE|ISOLATION|IS|INTO|INTERSECT|INTEGRITY|INSERTING|INSERT|INSENSITIVE|INOUT|INNER|INLINE|INHERIT|INFINITY|INF|INDICATOR|INDEXBP|INDEX|INCREMENT|INCLUSIVE|INCLUDING|INCLUDE|IMPLICITLY|IMMEDIATE|IGNORE|IF|IDENTITY|ID|HOURS|HOUR|HOLD|HINT|HAVING|HASHED_VALUE|HASH|HANDLER|GROUP|GRAPHIC|GRANT|GOTO|GO|GLOBAL|GET|GENERATED|GENERAL|GBPCACHE|FUNCTION|FULL|FROM|FREEPAGE|FREE|FORMAT|FOREIGN|FOR|FINAL|FILE|FIELDPROC|FETCH|FENCED|EXTRACT|EXTERNAL|EXTEND|EXIT|EXISTS|EXECUTE|EXCLUSIVE|EXCLUDING|EXCEPTION|EXCEPT|EVERY|ESCAPE|ERROR|ENFORCED|ENDING|END|ENCRYPTION|ENCODING|ENABLE|EMPTY|ELSEIF|ELSE|EACH|DYNAMIC|DROP|DOUBLE|DOCUMENT|DO|DISTINCT|DISCONNECT|DISALLOW|DISABLE|DIAGNOSTICS|DETERMINISTIC|DESCRIPTOR|DESCRIBE|DESC|DENSE_RANK|DENSERANK|DELETING|DELETE|DEFINITION|DEFINE|DEFER|DEFAULTS|DEFAULT|DECLARE|DEALLOCATE|DEACTIVATE|DBPARTITIONNUM|DBPARTITIONNAME|DBINFO|DB2SQL|DB2GENRL|DB2GENERAL|DAYS|DAY|DATE|DATAPARTITIONNUM|DATAPARTITIONNAME|DATABASE|DATA|CYCLE|CURSOR|CURRENT_USER|CURRENT_TIMEZONE|CURRENT_TIMESTAMP|CURRENT_TIME|CURRENT_SERVER|CURRENT_SCHEMA|CURRENT_PATH|CURRENT_DATE|CURRENT|CUBE|CROSS|CREATEIN|CREATE|COUNT_BIG|COUNT|COPY|CONTINUE|CONTENT|CONTAINS|CONSTRAINT|CONSTANT|CONNECT_BY_ROOT|CONNECTION|CONNECT|CONDITION|CONCURRENT|CONCAT|COMPRESS|COMPACT|COMMIT|COMMENT|COLUMN|COLLECTION|COLLECT|CLUSTER|CLOSE|CL|CHECK|CHARACTER|CHAR|CCSID|CAST|CASE|CARDINALITY|CALLED|CALL|CACHE|BY|BUFFERPOOL|BIT|BIND|BINARY|BETWEEN|BEGIN|BEFORE|AUTONOMOUS|AUTHORIZATION|ATTRIBUTES|ATOMIC|AT|ASSOCIATE|ASENSITIVE|ASC|AS|ARRAY_AGG|ARRAY|APPLNAME|APPEND|ANY|AND|ALTER|ALLOW|ALLOCATE|ALL|ALIAS|ADD|ACTIVATE|ACTION|ACCTNG|ACCORDING|ABSENT)\\b"},{"include":"source.sql"}]},"strings":{"patterns":[{"name":"string.other.rpgle.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.rpgle","begin":"'","end":"'"}]},"tempfreeformat":{"patterns":[{"begin":"(?i)(?=((\\/FREE\\b)))","end":"(?i)(?=((\\/END-FREE\\b)))","patterns":[{"name":"keyword.other.rpgle.precompiler","match":"(?i)^.*(\\/FREE\\b)"},{"include":"#rpglecommon"},{"include":"#freeformat"},{"include":"#freeSQL"}]},{"name":"keyword.other.rpgle.precompiler","match":"^.*(\\/END-FREE\\b)"}]}}}
@@ -1 +1 @@
1
- {"name":"Shell Script","scopeName":"source.shell","patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#list"},{"include":"#compound-command"},{"include":"#loop"},{"include":"#string"},{"include":"#function-definition"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#keyword"},{"include":"#support"}],"repository":{"case-clause":{"patterns":[{"name":"meta.scope.case-clause.shell","begin":"(?=\\S)","end":";;","patterns":[{"name":"meta.scope.case-pattern.shell","begin":"\\(|(?=\\S)","end":"\\)","patterns":[{"name":"punctuation.separator.pipe-sign.shell","match":"\\|"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#pathname"}],"beginCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}}},{"name":"meta.scope.case-clause-body.shell","begin":"(?\u003c=\\))","end":"(?=;;)","patterns":[{"include":"$self"}]}],"endCaptures":{"0":{"name":"punctuation.terminator.case-clause.shell"}}}]},"comment":{"begin":"(^\\s+)?(?\u003c=^|\\W)(?\u003c!-)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shebang.shell","begin":"#!","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shebang.shell"}}},{"name":"comment.line.number-sign.shell","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},"compound-command":{"patterns":[{"name":"meta.scope.logical-expression.shell","begin":"\\[{1,2}","end":"\\]{1,2}","patterns":[{"include":"#logical-expression"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}}},{"name":"string.other.math.shell","begin":"\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.scope.subshell.shell","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}}},{"name":"meta.scope.group.shell","begin":"(?\u003c=\\s|^){(?=\\s|$)","end":"(?\u003c=^|;)\\s*(})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"endCaptures":{"1":{"name":"punctuation.definition.group.shell"}}}]},"function-definition":{"patterns":[{"name":"meta.function.shell","begin":"(?\u003c=^|;|\u0026|\\s)(function)\\s+([^\\s\\\\]+)(?:\\s*(\\(\\)))?","end":";|\u0026|$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.shell"}}},{"name":"meta.function.shell","begin":"(?\u003c=^|;|\u0026|\\s)([^\\s\\\\=]+)\\s*(\\(\\))","end":";|\u0026|$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.function.shell"},"2":{"name":"punctuation.definition.arguments.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.shell"}}}]},"heredoc":{"patterns":[{"name":"string.unquoted.heredoc.no-indent.ruby.shell","contentName":"source.ruby.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(RUBY)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.ruby.shell","contentName":"source.ruby.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(RUBY)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.python.shell","contentName":"source.python.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(PYTHON)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(PYTHON)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.python.shell","contentName":"source.python.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(PYTHON)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(PYTHON)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.applescript.shell","contentName":"source.applescript.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(APPLESCRIPT)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(APPLESCRIPT)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.applescript"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.applescript.shell","contentName":"source.applescript.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(APPLESCRIPT)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(APPLESCRIPT)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.applescript"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.html.shell","contentName":"text.html.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(HTML)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(HTML)(?=\\s|;|\u0026|$)","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.html.shell","contentName":"text.html.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(HTML)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(HTML)(?=\\s|;|\u0026|$)","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.markdown.shell","contentName":"text.html.markdown.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(MARKDOWN)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(MARKDOWN)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.markdown.shell","contentName":"text.html.markdown.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(MARKDOWN)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(MARKDOWN)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.textile.shell","contentName":"text.html.textile.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(TEXTILE)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(TEXTILE)(?=\\s|;|\u0026|$)","patterns":[{}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.textile.shell","contentName":"text.html.textile.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(TEXTILE)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(TEXTILE)(?=\\s|;|\u0026|$)","patterns":[{}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.shell.shell","contentName":"source.shell.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(SHELL)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(\\3)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.shell.shell","contentName":"source.shell.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(SHELL)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(\\3)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*\\\\?([^;\u0026\u003c\\s]+)\\2","end":"^\\t*(\\3)(?=\\s|;|\u0026|$)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*\\\\?([^;\u0026\u003c\\s]+)\\2","end":"^(\\3)(?=\\s|;|\u0026|$)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}}]},"herestring":{"patterns":[{"name":"meta.herestring.shell","contentName":"string.quoted.single.shell","begin":"(\u003c\u003c\u003c)\\s*(('))","end":"(')","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.single.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"string.quoted.single.shell"},"1":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.herestring.shell","contentName":"string.quoted.double.shell","begin":"(\u003c\u003c\u003c)\\s*((\"))","end":"(\")","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.double.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"string.quoted.double.shell"},"1":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.herestring.shell","match":"(\u003c\u003c\u003c)\\s*(([^\\s)\\\\]|\\\\.)+)","captures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.unquoted.herestring.shell","patterns":[{"include":"$self"}]}}}]},"interpolation":{"patterns":[{"name":"string.other.math.shell","begin":"\\$\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.backtick.shell","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[`\\\\$]"},{"begin":"(?\u003c=\\W)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shell","begin":"#","end":"(?=`)","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.dollar.shell","begin":"\\$\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"keyword":{"patterns":[{"name":"keyword.control.shell","match":"(?\u003c=^|;|\u0026|\\s)(then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)(?=\\s|;|\u0026|$)"},{"name":"storage.modifier.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:export|declare|typeset|local|readonly)(?=\\s|;|\u0026|$)"}]},"list":{"patterns":[{"name":"keyword.operator.list.shell","match":";|\u0026\u0026|\u0026|\\|\\|"}]},"logical-expression":{"patterns":[{"name":"keyword.operator.logical.shell","match":"=[=~]?|!=?|\u003c|\u003e|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.logical.shell","match":"(?\u003c!\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])"}]},"loop":{"patterns":[{"name":"meta.scope.for-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(for)\\s+(?=\\({2})","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.for-in-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(for)\\s+(.+?)\\s+(in)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell","patterns":[{"include":"#string"}]},"3":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.while-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(while|until)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.select-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)(select)\\s+((?:[^\\s\\\\]|\\\\.)+)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)(done)(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell"}},"endCaptures":{"1":{"name":"keyword.control.shell"}}},{"name":"meta.scope.case-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)case(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)esac(?=\\s|;|\u0026|$)","patterns":[{"name":"meta.scope.case-body.shell","begin":"(?\u003c=^|;|\u0026|\\s)in(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)(?=esac(\\s|;|\u0026|$))","patterns":[{"include":"#comment"},{"include":"#case-clause"},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.if-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)if(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)fi(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}}]},"math":{"patterns":[{"include":"#variable"},{"name":"keyword.operator.arithmetic.shell","match":"\\+{1,2}|-{1,2}|!|~|\\*{1,2}|/|%|\u003c[\u003c=]?|\u003e[\u003e=]?|==|!=|^|\\|{1,2}|\u0026{1,2}|\\?|\\:|,|=|[*/%+\\-\u0026^|]=|\u003c\u003c=|\u003e\u003e="},{"name":"constant.numeric.hex.shell","match":"0[xX][0-9A-Fa-f]+"},{"name":"constant.numeric.octal.shell","match":"0\\d+"},{"name":"constant.numeric.other.shell","match":"\\d{1,2}#[0-9a-zA-Z@_]+"},{"name":"constant.numeric.integer.shell","match":"\\d+"}]},"pathname":{"patterns":[{"name":"keyword.operator.tilde.shell","match":"(?\u003c=\\s|:|=|^)~"},{"name":"keyword.operator.glob.shell","match":"\\*|\\?"},{"name":"meta.structure.extglob.shell","begin":"([?*+@!])(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.operator.extglob.shell"},"2":{"name":"punctuation.definition.extglob.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.extglob.shell"}}}]},"pipeline":{"patterns":[{"name":"keyword.other.shell","match":"(?\u003c=^|;|\u0026|\\s)(time)(?=\\s|;|\u0026|$)"},{"name":"keyword.operator.pipe.shell","match":"[|!]"}]},"redirection":{"patterns":[{"name":"string.interpolated.process-substitution.shell","begin":"[\u003e\u003c]\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"keyword.operator.redirect.shell","match":"(?\u003c![\u003c\u003e])(\u0026\u003e|\\d*\u003e\u0026\\d*|\\d*(\u003e\u003e|\u003e|\u003c)|\\d*\u003c\u0026|\\d*\u003c\u003e)(?![\u003c\u003e])"}]},"string":{"patterns":[{"name":"constant.character.escape.shell","match":"\\\\."},{"name":"string.quoted.single.shell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.double.shell","begin":"\\$?\"","end":"\"","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\"\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.single.dollar.shell","begin":"\\$'","end":"'","patterns":[{"name":"constant.character.escape.ansi-c.shell","match":"\\\\(a|b|e|f|n|r|t|v|\\\\|')"},{"name":"constant.character.escape.octal.shell","match":"\\\\[0-9]{3}"},{"name":"constant.character.escape.hex.shell","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.control-char.shell","match":"\\\\c."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"support":{"patterns":[{"name":"support.function.builtin.shell","match":"(?\u003c=^|;|\u0026|\\s)(?::|\\.)(?=\\s|;|\u0026|$)"},{"name":"support.function.builtin.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|times|trap|true|type|ulimit|umask|unalias|unset|wait)(?=\\s|;|\u0026|$)"}]},"variable":{"patterns":[{"name":"variable.other.normal.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.special.shell","match":"(\\$)[-*@#?$!0_]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.positional.shell","match":"(\\$)[1-9]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.bracket.shell","begin":"\\${","end":"}","patterns":[{"name":"keyword.operator.expansion.shell","match":"!|:[-=?]?|\\*|@|#{1,2}|%{1,2}|/"},{"match":"(\\[)([^\\]]+)(\\])","captures":{"1":{"name":"punctuation.section.array.shell"},"3":{"name":"punctuation.section.array.shell"}}},{"include":"#variable"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}}]}}}
1
+ {"name":"Shell Script","scopeName":"source.shell","patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#list"},{"include":"#compound-command"},{"include":"#loop"},{"include":"#string"},{"include":"#function-definition"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#keyword"},{"include":"#support"}],"repository":{"case-clause":{"patterns":[{"name":"meta.scope.case-clause.shell","begin":"(?=\\S)","end":";;","patterns":[{"name":"meta.scope.case-pattern.shell","begin":"\\(|(?=\\S)","end":"\\)","patterns":[{"name":"punctuation.separator.pipe-sign.shell","match":"\\|"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#pathname"}],"beginCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}}},{"name":"meta.scope.case-clause-body.shell","begin":"(?\u003c=\\))","end":"(?=;;)","patterns":[{"include":"$self"}]}],"endCaptures":{"0":{"name":"punctuation.terminator.case-clause.shell"}}}]},"comment":{"begin":"(^\\s+)?(?\u003c=^|\\W)(?\u003c!-)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shebang.shell","begin":"#!","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shebang.shell"}}},{"name":"comment.line.number-sign.shell","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},"compound-command":{"patterns":[{"name":"meta.scope.logical-expression.shell","begin":"\\[{1,2}","end":"\\]{1,2}","patterns":[{"include":"#logical-expression"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}}},{"name":"string.other.math.shell","begin":"\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.scope.subshell.shell","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}}},{"name":"meta.scope.group.shell","begin":"(?\u003c=\\s|^){(?=\\s|$)","end":"(?\u003c=^|;)\\s*(})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"endCaptures":{"1":{"name":"punctuation.definition.group.shell"}}}]},"function-definition":{"patterns":[{"name":"meta.function.shell","begin":"(?\u003c=^|;|\u0026|\\s)(function)\\s+([^\\s\\\\]+)(?:\\s*(\\(\\)))?","end":";|\u0026|$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.shell"}}},{"name":"meta.function.shell","begin":"(?\u003c=^|;|\u0026|\\s)([^\\s\\\\=]+)\\s*(\\(\\))","end":";|\u0026|$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.function.shell"},"2":{"name":"punctuation.definition.arguments.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.shell"}}}]},"heredoc":{"patterns":[{"name":"string.unquoted.heredoc.no-indent.ruby.shell","contentName":"source.ruby.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(RUBY)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.ruby.shell","contentName":"source.ruby.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(RUBY)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.python.shell","contentName":"source.python.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(PYTHON)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(PYTHON)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.python.shell","contentName":"source.python.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(PYTHON)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(PYTHON)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.applescript.shell","contentName":"source.applescript.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(APPLESCRIPT)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(APPLESCRIPT)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.applescript"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.applescript.shell","contentName":"source.applescript.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(APPLESCRIPT)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(APPLESCRIPT)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.applescript"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.html.shell","contentName":"text.html.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(HTML)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(HTML)(?=\\s|;|\u0026|$)","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.html.shell","contentName":"text.html.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(HTML)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(HTML)(?=\\s|;|\u0026|$)","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.markdown.shell","contentName":"text.html.markdown.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(MARKDOWN)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(MARKDOWN)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.markdown.shell","contentName":"text.html.markdown.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(MARKDOWN)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(MARKDOWN)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.textile.shell","contentName":"text.html.textile.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(TEXTILE)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(TEXTILE)(?=\\s|;|\u0026|$)","patterns":[{}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.textile.shell","contentName":"text.html.textile.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(TEXTILE)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(TEXTILE)(?=\\s|;|\u0026|$)","patterns":[{}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.shell.shell","contentName":"source.shell.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(SHELL)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(\\3)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.shell.shell","contentName":"source.shell.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(SHELL)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(\\3)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.shell","begin":"(\u003c\u003c)-\\s*(\"|')\\s*\\\\?([^;\u0026\u003c\\s]+)\\2","end":"^\\t*(\\3)(?=\\s|;|\u0026|$)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.shell","begin":"(\u003c\u003c)\\s*(\"|')\\s*\\\\?([^;\u0026\u003c\\s]+)\\2","end":"^(\\3)(?=\\s|;|\u0026|$)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.expanded.no-indent.shell","begin":"(\u003c\u003c)-\\s*\\\\?([^;\u0026\u003c\\s]+)","end":"^\\t*(\\2)(?=\\s|;|\u0026|$)","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.expanded.shell","begin":"(\u003c\u003c)\\s*\\\\?([^;\u0026\u003c\\s]+)","end":"^(\\2)(?=\\s|;|\u0026|$)","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}}]},"herestring":{"patterns":[{"name":"meta.herestring.shell","contentName":"string.quoted.single.shell","begin":"(\u003c\u003c\u003c)\\s*(('))","end":"(')","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.single.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"string.quoted.single.shell"},"1":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.herestring.shell","contentName":"string.quoted.double.shell","begin":"(\u003c\u003c\u003c)\\s*((\"))","end":"(\")","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.double.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"string.quoted.double.shell"},"1":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.herestring.shell","match":"(\u003c\u003c\u003c)\\s*(([^\\s)\\\\]|\\\\.)+)","captures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.unquoted.herestring.shell","patterns":[{"include":"$self"}]}}}]},"interpolation":{"patterns":[{"name":"string.other.math.shell","begin":"\\$\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.backtick.shell","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[`\\\\$]"},{"begin":"(?\u003c=\\W)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shell","begin":"#","end":"(?=`)","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.dollar.shell","begin":"\\$\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"keyword":{"patterns":[{"name":"keyword.control.shell","match":"(?\u003c=^|;|\u0026|\\s)(then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)(?=\\s|;|\u0026|$)"},{"name":"storage.modifier.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:export|declare|typeset|local|readonly)(?=\\s|;|\u0026|$)"}]},"list":{"patterns":[{"name":"keyword.operator.list.shell","match":";|\u0026\u0026|\u0026|\\|\\|"}]},"logical-expression":{"patterns":[{"name":"keyword.operator.logical.shell","match":"=[=~]?|!=?|\u003c|\u003e|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.logical.shell","match":"(?\u003c!\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])"}]},"loop":{"patterns":[{"name":"meta.scope.for-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(for)\\s+(?=\\({2})","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.for-in-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(for)\\s+(.+?)\\s+(in)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell","patterns":[{"include":"#string"}]},"3":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.while-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(while|until)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.select-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)(select)\\s+((?:[^\\s\\\\]|\\\\.)+)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)(done)(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell"}},"endCaptures":{"1":{"name":"keyword.control.shell"}}},{"name":"meta.scope.case-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)case(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)esac(?=\\s|;|\u0026|$)","patterns":[{"name":"meta.scope.case-body.shell","begin":"(?\u003c=^|;|\u0026|\\s)in(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)(?=esac(\\s|;|\u0026|$))","patterns":[{"include":"#comment"},{"include":"#case-clause"},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.if-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)if(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)fi(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}}]},"math":{"patterns":[{"include":"#variable"},{"name":"keyword.operator.arithmetic.shell","match":"\\+{1,2}|-{1,2}|!|~|\\*{1,2}|/|%|\u003c[\u003c=]?|\u003e[\u003e=]?|==|!=|^|\\|{1,2}|\u0026{1,2}|\\?|\\:|,|=|[*/%+\\-\u0026^|]=|\u003c\u003c=|\u003e\u003e="},{"name":"constant.numeric.hex.shell","match":"0[xX][0-9A-Fa-f]+"},{"name":"constant.numeric.octal.shell","match":"0\\d+"},{"name":"constant.numeric.other.shell","match":"\\d{1,2}#[0-9a-zA-Z@_]+"},{"name":"constant.numeric.integer.shell","match":"\\d+"}]},"pathname":{"patterns":[{"name":"keyword.operator.tilde.shell","match":"(?\u003c=\\s|:|=|^)~"},{"name":"keyword.operator.glob.shell","match":"\\*|\\?"},{"name":"meta.structure.extglob.shell","begin":"([?*+@!])(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.operator.extglob.shell"},"2":{"name":"punctuation.definition.extglob.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.extglob.shell"}}}]},"pipeline":{"patterns":[{"name":"keyword.other.shell","match":"(?\u003c=^|;|\u0026|\\s)(time)(?=\\s|;|\u0026|$)"},{"name":"keyword.operator.pipe.shell","match":"[|!]"}]},"redirection":{"patterns":[{"name":"string.interpolated.process-substitution.shell","begin":"[\u003e\u003c]\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"keyword.operator.redirect.shell","match":"(?\u003c![\u003c\u003e])(\u0026\u003e|\\d*\u003e\u0026\\d*|\\d*(\u003e\u003e|\u003e|\u003c)|\\d*\u003c\u0026|\\d*\u003c\u003e)(?![\u003c\u003e])"}]},"string":{"patterns":[{"name":"constant.character.escape.shell","match":"\\\\."},{"name":"string.quoted.single.shell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.double.shell","begin":"\\$?\"","end":"\"","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\"\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.single.dollar.shell","begin":"\\$'","end":"'","patterns":[{"name":"constant.character.escape.ansi-c.shell","match":"\\\\(a|b|e|f|n|r|t|v|\\\\|')"},{"name":"constant.character.escape.octal.shell","match":"\\\\[0-9]{3}"},{"name":"constant.character.escape.hex.shell","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.control-char.shell","match":"\\\\c."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"support":{"patterns":[{"name":"support.function.builtin.shell","match":"(?\u003c=^|;|\u0026|\\s)(?::|\\.)(?=\\s|;|\u0026|$)"},{"name":"support.function.builtin.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|times|trap|true|type|ulimit|umask|unalias|unset|wait)(?=\\s|;|\u0026|$)"}]},"variable":{"patterns":[{"name":"variable.other.normal.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.special.shell","match":"(\\$)[-*@#?$!0_]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.positional.shell","match":"(\\$)[1-9]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.bracket.shell","begin":"\\${","end":"}","patterns":[{"name":"keyword.operator.expansion.shell","match":"!|:[-=?]?|\\*|@|#{1,2}|%{1,2}|/"},{"match":"(\\[)([^\\]]+)(\\])","captures":{"1":{"name":"punctuation.section.array.shell"},"3":{"name":"punctuation.section.array.shell"}}},{"include":"#variable"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Solidity","scopeName":"source.solidity","patterns":[{"name":"comment","match":"\\/\\/.*"},{"name":"comment","begin":"(\\/\\*)","end":"(\\*\\/)"},{"name":"keyword","match":"\\b(event|enum)\\s+([A-Za-z_]\\w*)\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(contract|interface|library)\\s+([A-Za-z_]\\w*)(?:\\s+(is)\\s+((?:[A-Za-z_]\\w*\\,?\\s*)*))?\\b","captures":{"1":{"name":"keyword"},"2":{"name":"entity.name.function"},"3":{"name":"keyword"},"4":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(constructor|error|using|struct|type|modifier|fallback)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(function)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"match":"\\.(length|selector)\\b","captures":{"1":{"name":"support.type"}}},{"name":"markup.italic","match":"\\bthis\\b"},{"name":"markup.italic","match":"\\bsuper\\b"},{"match":"\\b(address(?:\\s+payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\s*(?:\\[(\\d*)\\])?\\s*(?:\\[(\\d*)\\])?\\s*(?:(indexed|memory|storage|calldata|payable|immutable)?\\s*(\\b[A-Za-z_]\\w*)?\\s*)?(?=[,\\)\\n])","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"keyword"},"5":{"name":"variable.parameter"}}},{"match":"\\b(?:(indexed|memory|storage|calldata|payable|immutable)\\s*(\\b[A-Za-z_]\\w*)?\\s*)(?=[,\\)\\n])","captures":{"1":{"name":"keyword"},"2":{"name":"variable.parameter"}}},{"name":"constant.language","match":"\\b(true|false)\\b"},{"match":"\\b(address|payable|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b(?:(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?\\s*((?:private\\s|public\\s|internal\\s|external\\s|constant\\s|immutable\\s|memory\\s|storage\\s)*)\\s*(?:[A-Za-z_]\\w*)\\s*(\\=))?","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"constant.numeric"},"5":{"name":"keyword"},"6":{"name":"keyword"}}},{"match":"\\b(import).*?(from)\\b","captures":{"1":{"name":"keyword"},"2":{"name":"keyword"}}},{"name":"keyword","match":"\\b(import)\\b"},{"name":"keyword","match":"\\b(var|solidity|constant|pragma experimental|pragma|mapping|payable|storage|memory|calldata|if|else|for|while|do|break|continue|returns?|try|catch|private|public|pure|view|internal|immutable|external|virtual|override|abstract|suicide|emit|new|is|throw|revert|assert|require|receive|delete)\\b"},{"name":"keyword.operator","match":"(=|:=|!|\u003e|\u003c|\\||\u0026|\\?|\\^|~|\\*|\\+|\\-|\\/|\\%|\\bhex\\b|\\bunicode\\b)"},{"name":"support.type","match":"\\bnow\\b"},{"name":"keyword","match":"\\b_;"},{"match":"\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"support.type"},"2":{"name":"support.type"}}},{"name":"markup.italic","match":"\\b(abi)\\.([A-Za-z_]\\w*)\\b"},{"match":"\\b(blockhash|gasleft|addmod|mulmod|keccak256|sha256|sha3|ripemd160|ecrecover)\\s*\\(","captures":{"1":{"name":"markup.italic"}}},{"match":"\\b(call|delegatecall|staticcall|selfdestruct)\\s*\\(","captures":{"1":{"name":"markup.italic"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\[(\\d*)\\])?(?:\\[(\\d*)\\])?\\(","captures":{"1":{"name":"entity.name.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"match":"\\b(wei|gwei|ether|seconds|minutes|hours|days|weeks)\\b","captures":{"1":{"name":"support.type"}}},{"name":"keyword","match":"\\banonymous\\b"},{"name":"keyword","match":"\\bunchecked\\b"},{"name":"keyword","match":"\\b(assembly|switch|let|case|default)\\b"},{"name":"string.quoted","match":"([\\\"].*?[\\\"])"},{"name":"string.quoted","match":"([\\'].*?[\\'])"},{"name":"constant.numeric","match":"\\b(?:[+-]?\\.?\\d[\\d_eE]*)(?:\\.\\d+[\\deE]*)?\\b"},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"}]}
1
+ {"name":"Solidity","scopeName":"source.solidity","patterns":[{"name":"comment","match":"\\/\\/.*"},{"name":"comment","begin":"(\\/\\*)","end":"(\\*\\/)"},{"name":"keyword","match":"\\b(event|enum)\\s+([A-Za-z_]\\w*)\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"scope","begin":"\\b(contract|interface|library)\\s+([A-Za-z_]\\w*)(?:\\s+(is)\\s+)?","end":"\\{","patterns":[{"name":"entity.name.function","match":"[A-Za-z_]\\w*"},{"include":"#numbers"}],"beginCaptures":{"1":{"name":"keyword"},"2":{"name":"entity.name.function"},"3":{"name":"keyword"}}},{"name":"keyword","match":"\\b(constructor|error|using|struct|type|modifier|fallback)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(function)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"match":"\\.(selector)\\b","captures":{"1":{"name":"markup.italic"}}},{"name":"markup.italic","match":"\\bthis\\b"},{"name":"markup.italic","match":"\\bsuper\\b"},{"match":"\\b(address(?:\\s+payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\s*(?:\\[(\\d*)\\])?\\s*(?:\\[(\\d*)\\])?\\s*(?:(indexed|memory|storage|calldata|payable|immutable)?\\s*(\\b[A-Za-z_]\\w*)?\\s*)?(?=[,\\)\\n])","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"keyword"},"5":{"name":"variable.parameter"}}},{"match":"\\b(?:(indexed|memory|storage|calldata|payable|immutable)\\s*(\\b[A-Za-z_]\\w*)?\\s*)(?=[,\\)\\n])","captures":{"1":{"name":"keyword"},"2":{"name":"variable.parameter"}}},{"name":"constant.language","match":"\\b(true|false)\\b"},{"match":"\\b(address(?:\\s*payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b(?:(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?\\s*((?:private\\s|public\\s|internal\\s|external\\s|constant\\s|immutable\\s|memory\\s|storage\\s)*)\\s*(?:[A-Za-z_]\\w*)\\s*(\\=))?","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"constant.numeric"},"5":{"name":"keyword"},"6":{"name":"keyword"}}},{"match":"\\b(payable)\\s*\\(","captures":{"1":{"name":"constant.language"}}},{"match":"\\b(from)\\s*(?=[\\'\\\"])","captures":{"1":{"name":"keyword"}}},{"match":"\\b(?:[A-Za-z_]\\w*)\\s+(as)\\s+(?:[A-Za-z_]\\w*)","captures":{"1":{"name":"keyword"}}},{"match":"\\b(global);","captures":{"1":{"name":"keyword"}}},{"name":"keyword","match":"\\b(var|import|solidity|constant|pragma\\s*(?:experimental|abicoder)?|mapping|payable|storage|memory|calldata|if|else|for|while|do|break|continue|returns?|try|catch|private|public|pure|view|internal|immutable|external|virtual|override|abstract|suicide|emit|is|throw|revert|assert|require|receive|delete)\\b"},{"include":"#numbers"},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"},{"name":"keyword.operator","match":"(=|:=|!|\u003e|\u003c|\\||\u0026|\\?|\\^|~|\\*|\\+|\\-|\\/|\\%)"},{"name":"markup.italic","match":"(\\bhex\\b|\\bunicode\\b)"},{"name":"keyword.operator","match":"\\s\\:\\s"},{"name":"support.type","match":"\\bnow\\b"},{"name":"keyword","match":"\\b_;"},{"match":"\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"support.type"},"2":{"name":"support.type"}}},{"name":"support.type","match":"\\b(abi)\\.([A-Za-z_]\\w*)\\b"},{"match":"\\b(blockhash|gasleft)\\s*\\(","captures":{"1":{"name":"support.type"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\s*\\[(\\d*)\\]\\s*)?(?:\\s*\\[(\\d*)\\]\\s*)?\\(","captures":{"1":{"name":"entity.name.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"match":"(?:\\.|(new\\s+))([A-Za-z_]\\w*)\\{","captures":{"1":{"name":"keyword"},"2":{"name":"entity.name.function"}}},{"match":"\\b(wei|gwei|ether|seconds|minutes|hours|days|weeks)\\b","captures":{"1":{"name":"support.type"}}},{"name":"keyword","match":"\\bnew\\b"},{"name":"keyword","match":"\\banonymous\\b"},{"name":"keyword","match":"\\bunchecked\\b"},{"name":"keyword","match":"\\b(assembly|switch|let|case|default)\\b"},{"name":"string.quoted","match":"([\\\"].*?[\\\"])"},{"name":"string.quoted","match":"([\\'].*?[\\'])"}],"repository":{"numbers":{"patterns":[{"name":"constant.numeric","match":"\\b(?:[+-]?\\.?\\d[\\d_eE]*)(?:\\.\\d+[\\deE]*)?\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"Stan","scopeName":"source.stan","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"name":"entity.name.type.stan","match":"\\b(functions|data|transformed\\s+data|parameters|transformed\\s+parameters|model|generated\\s+quantities)\\b"},{"name":"storage.type.stan","match":"\\b(int|real|vector|simplex|unit_vector|ordered|positive_ordered|row_vector|matrix|corr_matrix|cov_matrix|cholesky_factor_cov|cholesky_factor_corr|void)\\b"},{"name":"keyword.control.stan","match":"\\b(for|in|while|if|else|break|continue)\\b"},{"match":"\\b(lower|upper)\\s*(=)","captures":{"1":{"name":"keyword.other.range.stan"},"2":{"name":"punctuation.operator.equal.stan"}}},{"name":"keyword.other.return.stan","match":"\\breturn\\b"},{"match":"\\b(target)\\s*([+][=])","captures":{"1":{"name":"keyword.other.target.stan"},"2":{"name":"keyword.operator.accumulator.stan"}}},{"name":"keyword.other.truncation.stan","match":"\\bT(?=\\s*\\[)"},{"include":"#distributions"},{"name":"keyword.other.special-functions.stan","match":"\\b(print|reject)\\b"},{"name":"support.function.integrate_ode.stan","match":"\\b(integrate_ode_(?:bdf|rk45))\\b"},{"name":"support.function.algebra_solver.stan","match":"\\balgebra_solver\\b"},{"include":"#functions"},{"include":"#reserved"},{"name":"invalid.illegal.variable","match":"\\b([a-zA-Z0-9_]*__|[0-9_][A-Za-z0-9_]+|_)\\b"},{"name":"variable.other.identifier.stan","match":"\\b[A-Za-z][0-9A-Za-z_]*\\b"},{"include":"#operators"},{"name":"meta.delimiter.comma.stan","match":","},{"begin":"{","end":"}","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.stan"}}},{"name":"meta.brace.curly.stan","match":"[{}]"},{"name":"meta.brace.square.stan","match":"\\[|\\]"},{"name":"meta.brace.round.stan","match":"\\(|\\)"},{"name":"punctuation.terminator.statement.stan","match":"\\;"},{"name":"punctuation.sampling.bar.stan","match":"[|]"}],"repository":{"comments":{"patterns":[{"name":"meta.preprocessor.include.stan","begin":"^\\s*((#)\\s*(include))\\b\\s*","end":"\\s*(?=(?://|/\\*|#)|\\n|$)","patterns":[{"name":"string.quoted.double.include.stan","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.other.lt-gt.include.stan","begin":"\u003c","end":"\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.single.include.stan","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.other.noquote.include.stan","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.directive.include.stan"},"2":{"name":"punctuation.definition.directive.stan"},"4":{"name":"string.quoted.other.include.stan"}}},{"name":"comment.block.documentation.stan","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#docblock"}],"captures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.block.stan","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.line.double-slash.stan","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.line.number-sign.stan","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}}]},"distributions":{"patterns":[{"name":"meta.sampling.stan","match":"(~)(\\s*)(bernoulli|bernoulli_logit|beta|beta_binomial|binomial|binomial_logit|categorical|categorical_logit|cauchy|chi_square|dirichlet|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|lkj_corr|lkj_corr_cholesky|logistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multinomial|neg_binomial|neg_binomial_2|neg_binomial_2_log|normal|ordered_logistic|pareto|pareto_type_2|poisson|poisson_log|rayleigh|scaled_inv_chi_square|skew_normal|student_t|uniform|von_mises|weibull|wiener|wishart)\\b","captures":{"1":{"name":"keyword.operator.sampling.stan"},"3":{"name":"support.function.distribution.stan"}}},{"name":"meta.sampling.stan","match":"(~)(\\s*)([A-Za-z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.operator.sampling.stan"},"3":{"name":"variable.other.distribution.stan"}}}]},"docblock":{"patterns":[{"name":"storage.type.class.standoc","match":"(?\u003c!\\w)@(param|return)\\b"}]},"functions":{"patterns":[{"name":"invalid.deprecated.function.stan","match":"\\b([A-Za-z0-9][A-Za-z0-9_]*_log|get_lp|if_else|increment_log_prob|integrate_ode|lkj_cov)\\b"},{"name":"support.function.function.stan","match":"\\b(Phi|Phi_approx|abs|acos|acosh|algebra_solver|append_array|append_col|append_row|asin|asinh|atan|atan2|atanh|bernoulli_cdf|bernoulli_lccdf|bernoulli_lcdf|bernoulli_logit_lpmf|bernoulli_logit_rng|bernoulli_lpmf|bernoulli_rng|bessel_first_kind|bessel_second_kind|beta_binomial_cdf|beta_binomial_lccdf|beta_binomial_lcdf|beta_binomial_lpmf|beta_binomial_rng|beta_cdf|beta_lccdf|beta_lcdf|beta_lpdf|beta_rng|binary_log_loss|binomial_cdf|binomial_coefficient_log|binomial_lccdf|binomial_lcdf|binomial_logit_lpmf|binomial_lpmf|binomial_rng|block|categorical_logit_lpmf|categorical_logit_rng|categorical_lpmf|categorical_rng|cauchy_cdf|cauchy_lccdf|cauchy_lcdf|cauchy_lpdf|cauchy_rng|cbrt|ceil|chi_square_cdf|chi_square_lccdf|chi_square_lcdf|chi_square_lpdf|chi_square_rng|cholesky_decompose|choose|col|cols|columns_dot_product|columns_dot_self|cos|cosh|cov_exp_quad|crossprod|csr_extract_u|csr_extract_v|csr_extract_w|csr_matrix_times_vector|csr_to_dense_matrix|cumulative_sum|determinant|diag_matrix|diag_post_multiply|diag_pre_multiply|diagonal|digamma|dims|dirichlet_lpdf|dirichlet_rng|distance|dot_product|dot_self|double_exponential_cdf|double_exponential_lccdf|double_exponential_lcdf|double_exponential_lpdf|double_exponential_rng|e|eigenvalues_sym|eigenvectors_sym|erf|erfc|exp|exp2|exp_mod_normal_cdf|exp_mod_normal_lccdf|exp_mod_normal_lcdf|exp_mod_normal_lpdf|exp_mod_normal_rng|expm1|exponential_cdf|exponential_lccdf|exponential_lcdf|exponential_lpdf|exponential_rng|fabs|falling_factorial|fdim|floor|fma|fmax|fmin|fmod|frechet_cdf|frechet_lccdf|frechet_lcdf|frechet_lpdf|frechet_rng|gamma_cdf|gamma_lccdf|gamma_lcdf|gamma_lpdf|gamma_p|gamma_q|gamma_rng|gaussian_dlm_obs_lpdf|get_lp|gumbel_cdf|gumbel_lccdf|gumbel_lcdf|gumbel_lpdf|gumbel_rng|head|hypergeometric_lpmf|hypergeometric_rng|hypot|inc_beta|int_step|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|inv|inv_Phi|inv_chi_square_cdf|inv_chi_square_lccdf|inv_chi_square_lcdf|inv_chi_square_lpdf|inv_chi_square_rng|inv_cloglog|inv_gamma_cdf|inv_gamma_lccdf|inv_gamma_lcdf|inv_gamma_lpdf|inv_gamma_rng|inv_logit|inv_sqrt|inv_square|inv_wishart_lpdf|inv_wishart_rng|inverse|inverse_spd|is_inf|is_nan|lbeta|lchoose|lgamma|lkj_corr_cholesky_lpdf|lkj_corr_cholesky_rng|lkj_corr_lpdf|lkj_corr_rng|lmgamma|lmultiply|log|log10|log1m|log1m_exp|log1m_inv_logit|log1p|log1p_exp|log2|log_determinant|log_diff_exp|log_falling_factorial|log_inv_logit|log_mix|log_rising_factorial|log_softmax|log_sum_exp|logistic_cdf|logistic_lccdf|logistic_lcdf|logistic_lpdf|logistic_rng|logit|lognormal_cdf|lognormal_lccdf|lognormal_lcdf|lognormal_lpdf|lognormal_rng|machine_precision|matrix_exp|max|mdivide_left_spd|mdivide_left_tri_low|mdivide_right_spd|mdivide_right_tri_low|mean|min|modified_bessel_first_kind|modified_bessel_second_kind|multi_gp_cholesky_lpdf|multi_gp_lpdf|multi_normal_cholesky_lpdf|multi_normal_cholesky_rng|multi_normal_lpdf|multi_normal_prec_lpdf|multi_normal_rng|multi_student_t_lpdf|multi_student_t_rng|multinomial_lpmf|multinomial_rng|multiply_log|multiply_lower_tri_self_transpose|neg_binomial_2_cdf|neg_binomial_2_lccdf|neg_binomial_2_lcdf|neg_binomial_2_log_lpmf|neg_binomial_2_log_rng|neg_binomial_2_lpmf|neg_binomial_2_rng|neg_binomial_cdf|neg_binomial_lccdf|neg_binomial_lcdf|neg_binomial_lpmf|neg_binomial_rng|negative_infinity|normal_cdf|normal_lccdf|normal_lcdf|normal_lpdf|normal_rng|not_a_number|num_elements|ordered_logistic_lpmf|ordered_logistic_rng|owens_t|pareto_cdf|pareto_lccdf|pareto_lcdf|pareto_lpdf|pareto_rng|pareto_type_2_cdf|pareto_type_2_lccdf|pareto_type_2_lcdf|pareto_type_2_lpdf|pareto_type_2_rng|pi|poisson_cdf|poisson_lccdf|poisson_lcdf|poisson_log_lpmf|poisson_log_rng|poisson_lpmf|poisson_rng|positive_infinity|pow|prod|qr_Q|qr_R|quad_form|quad_form_diag|quad_form_sym|rank|rayleigh_cdf|rayleigh_lccdf|rayleigh_lcdf|rayleigh_lpdf|rayleigh_rng|rep_array|rep_matrix|rep_row_vector|rep_vector|rising_factorial|round|row|rows|rows_dot_product|rows_dot_self|scaled_inv_chi_square_cdf|scaled_inv_chi_square_lccdf|scaled_inv_chi_square_lcdf|scaled_inv_chi_square_lpdf|scaled_inv_chi_square_rng|sd|segment|sin|singular_values|sinh|size|skew_normal_cdf|skew_normal_lccdf|skew_normal_lcdf|skew_normal_lpdf|skew_normal_rng|softmax|sort_asc|sort_desc|sort_indices_asc|sort_indices_desc|sqrt|sqrt2|square|squared_distance|step|student_t_cdf|student_t_lccdf|student_t_lcdf|student_t_lpdf|student_t_rng|sub_col|sub_row|sum|tail|tan|tanh|target|tcrossprod|tgamma|to_array_1d|to_array_2d|to_matrix|to_row_vector|to_vector|trace|trace_gen_quad_form|trace_quad_form|trigamma|trunc|uniform_cdf|uniform_lccdf|uniform_lcdf|uniform_lpdf|uniform_rng|variance|von_mises_lpdf|von_mises_rng|weibull_cdf|weibull_lccdf|weibull_lcdf|weibull_lpdf|weibull_rng|wiener_lpdf|wishart_lpdf|wishart_rng)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.real.stan","match":"(?x)\n(\n[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?\n|\n\\.[0-9]+([eE][+-]?[0-9]+)?\n|\n[0-9]+[eE][+-]?[0-9]+\n)"},{"name":"constant.numeric.integer.stan","match":"[0-9]+(?=[^A-Za-z_])"}]},"operators":{"patterns":[{"name":"invalid.deprecated.assignment.stan","match":"\u003c-"},{"name":"keyword.operator.colon.stan","match":":"},{"name":"keyword.operator.conditional.stan","match":"[?]"},{"name":"keyword.operator.logical.stan","match":"[|]{2}|\u0026\u0026"},{"name":"keyword.operator.comparison.stan","match":"==|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.logical.stan","match":"!"},{"name":"keyword.operator.assignment.stan","match":"[+-]=|\\.?[*/]=|="},{"name":"keyword.operator.arithmetic.stan","match":"\\+|-|\\.?\\*|\\.?/|%|\\\\|\\^|'"}]},"reserved":{"patterns":[{"name":"invalid.illegal.reserved.stan","match":"\\b(alignas|alignof|and|and_eq|asm|auto|bitand|bitor|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|not|not_eq|nullptr|operator|or|or_eq|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while|xor|xor_eq)\\b"},{"name":"invalid.illegal.reserved.stan","match":"\\b(for|in|while|repeat|until|if|then|else|true|false|var|fvar|STAN_MAJOR|STAN_MINOR|STAN_PATCH|STAN_MATH_MAJOR|STAN_MATH_MINOR|STAN_MATH_PATCH)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double.stan","begin":"\"","end":"\"","patterns":[{"name":"invalid.illegal.string.stan","match":"[^ a-zA-Z0-9~@#$%^\u0026*_'`\\-+={}\\[\\]()\u003c\u003e|/!?.,;:\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}}]}}}
1
+ {"name":"Stan","scopeName":"source.stan","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"name":"entity.name.type.stan","match":"\\b(functions|data|transformed\\s+data|parameters|transformed\\s+parameters|model|generated\\s+quantities)\\b"},{"name":"storage.type.stan","match":"\\b(int|real|complex|array|vector|simplex|unit_vector|ordered|positive_ordered|row_vector|matrix|corr_matrix|cov_matrix|cholesky_factor_cov|cholesky_factor_corr|void)\\b"},{"name":"keyword.control.stan","match":"\\b(for|in|while|if|else|break|continue)\\b"},{"match":"\\b(lower|upper)\\s*(=)","captures":{"1":{"name":"keyword.other.range.stan"},"2":{"name":"punctuation.operator.equal.stan"}}},{"name":"keyword.other.return.stan","match":"\\breturn\\b"},{"match":"\\b(target)\\s*([+][=])","captures":{"1":{"name":"keyword.other.target.stan"},"2":{"name":"keyword.operator.accumulator.stan"}}},{"name":"keyword.other.truncation.stan","match":"\\bT(?=\\s*\\[)"},{"include":"#distributions"},{"name":"keyword.other.special-functions.stan","match":"\\b(print|reject)\\b"},{"name":"support.function.integrate_ode.stan","match":"\\b(integrate_ode_(?:bdf|rk45))\\b"},{"name":"support.function.algebra_solver.stan","match":"\\balgebra_solver\\b"},{"include":"#functions"},{"include":"#reserved"},{"name":"invalid.illegal.variable","match":"\\b([a-zA-Z0-9_]*__|[0-9_][A-Za-z0-9_]+|_)\\b"},{"name":"variable.other.identifier.stan","match":"\\b[A-Za-z][0-9A-Za-z_]*\\b"},{"include":"#operators"},{"name":"meta.delimiter.comma.stan","match":","},{"begin":"{","end":"}","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.stan"}}},{"name":"meta.brace.curly.stan","match":"[{}]"},{"name":"meta.brace.square.stan","match":"\\[|\\]"},{"name":"meta.brace.round.stan","match":"\\(|\\)"},{"name":"punctuation.terminator.statement.stan","match":"\\;"},{"name":"punctuation.sampling.bar.stan","match":"[|]"}],"repository":{"comments":{"patterns":[{"name":"meta.preprocessor.include.stan","begin":"^\\s*((#)\\s*(include))\\b\\s*","end":"\\s*(?=(?://|/\\*|#)|\\n|$)","patterns":[{"name":"string.quoted.double.include.stan","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.other.lt-gt.include.stan","begin":"\u003c","end":"\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.single.include.stan","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.other.noquote.include.stan","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.directive.include.stan"},"2":{"name":"punctuation.definition.directive.stan"},"4":{"name":"string.quoted.other.include.stan"}}},{"name":"comment.block.documentation.stan","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#docblock"}],"captures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.block.stan","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.line.double-slash.stan","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.line.number-sign.stan","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}}]},"distributions":{"patterns":[{"name":"meta.sampling.stan","match":"(~)(\\s*)(bernoulli|bernoulli_logit|bernoulli_logit_glm|beta|beta_binomial|binomial|binomial_logit|categorical|categorical_logit|categorical_logit_glm|cauchy|chi_square|dirichlet|discrete_range|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|lkj_corr|lkj_corr_cholesky|logistic|loglogistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multinomial|multinomial_logit|neg_binomial|neg_binomial_2|neg_binomial_2_log|neg_binomial_2_log_glm|normal|normal_id_glm|ordered_logistic|ordered_logistic_glm|ordered_probit|pareto|pareto_type_2|poisson|poisson_log|poisson_log_glm|rayleigh|scaled_inv_chi_square|skew_double_exponential|skew_normal|std_normal|student_t|uniform|von_mises|weibull|wiener|wishart)\\b","captures":{"1":{"name":"keyword.operator.sampling.stan"},"3":{"name":"support.function.distribution.stan"}}},{"name":"meta.sampling.stan","match":"(~)(\\s*)([A-Za-z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.operator.sampling.stan"},"3":{"name":"variable.other.distribution.stan"}}}]},"docblock":{"patterns":[{"name":"storage.type.class.standoc","match":"(?\u003c!\\w)@(param|return)\\b"}]},"functions":{"patterns":[{"name":"invalid.deprecated.function.stan","match":"\\b([A-Za-z0-9][A-Za-z0-9_]*_log|binomial_coefficient_log|get_lp|if_else|increment_log_prob|integrate_ode|lkj_cov|multiply_log)\\b"},{"name":"support.function.function.stan","match":"\\b(Phi|Phi_approx|abs|acos|acosh|add_diag|algebra_solver|algebra_solver_newton|append_array|append_col|append_row|arg|asin|asinh|atan|atan2|atanh|bernoulli_cdf|bernoulli_lccdf|bernoulli_lcdf|bernoulli_logit_glm_lpmf|bernoulli_logit_glm_lupmf|bernoulli_logit_glm_rng|bernoulli_logit_lpmf|bernoulli_logit_lupmf|bernoulli_logit_rng|bernoulli_lpmf|bernoulli_lupmf|bernoulli_rng|bessel_first_kind|bessel_second_kind|beta|beta_binomial_cdf|beta_binomial_lccdf|beta_binomial_lcdf|beta_binomial_lpmf|beta_binomial_lupmf|beta_binomial_rng|beta_cdf|beta_lccdf|beta_lcdf|beta_lpdf|beta_lupdf|beta_proportion_lccdf|beta_proportion_lcdf|beta_proportion_rng|beta_rng|binary_log_loss|binomial_cdf|binomial_coefficient_log|binomial_lccdf|binomial_lcdf|binomial_logit_lpmf|binomial_logit_lupmf|binomial_lpmf|binomial_lupmf|binomial_rng|block|categorical_logit_glm_lpmf|categorical_logit_glm_lupmf|categorical_logit_lpmf|categorical_logit_lupmf|categorical_logit_rng|categorical_lpmf|categorical_lupmf|categorical_rng|cauchy_cdf|cauchy_lccdf|cauchy_lcdf|cauchy_lpdf|cauchy_lupdf|cauchy_rng|cbrt|ceil|chi_square_cdf|chi_square_lccdf|chi_square_lcdf|chi_square_lpdf|chi_square_lupdf|chi_square_rng|chol2inv|cholesky_decompose|choose|col|cols|columns_dot_product|columns_dot_self|conj|cos|cosh|cov_exp_quad|crossprod|csr_extract_u|csr_extract_v|csr_extract_w|csr_matrix_times_vector|csr_to_dense_matrix|cumulative_sum|dae|dae_tol|determinant|diag_matrix|diag_post_multiply|diag_pre_multiply|diagonal|digamma|dims|dirichlet_lpdf|dirichlet_lupdf|dirichlet_rng|discrete_range_cdf|discrete_range_lccdf|discrete_range_lcdf|discrete_range_lpmf|discrete_range_lupmf|discrete_range_rng|distance|dot_product|dot_self|double_exponential_cdf|double_exponential_lccdf|double_exponential_lcdf|double_exponential_lpdf|double_exponential_lupdf|double_exponential_rng|e|eigenvalues_sym|eigenvectors_sym|erf|erfc|exp|exp2|exp_mod_normal_cdf|exp_mod_normal_lccdf|exp_mod_normal_lcdf|exp_mod_normal_lpdf|exp_mod_normal_lupdf|exp_mod_normal_rng|expm1|exponential_cdf|exponential_lccdf|exponential_lcdf|exponential_lpdf|exponential_lupdf|exponential_rng|fabs|falling_factorial|fdim|floor|fma|fmax|fmin|fmod|frechet_cdf|frechet_lccdf|frechet_lcdf|frechet_lpdf|frechet_lupdf|frechet_rng|gamma_cdf|gamma_lccdf|gamma_lcdf|gamma_lpdf|gamma_lupdf|gamma_p|gamma_q|gamma_rng|gaussian_dlm_obs_lpdf|gaussian_dlm_obs_lupdf|generalized_inverse|get_imag|get_lp|get_real|gumbel_cdf|gumbel_lccdf|gumbel_lcdf|gumbel_lpdf|gumbel_lupdf|gumbel_rng|head|hmm_hidden_state_prob|hmm_latent_rng|hmm_marginal|hypergeometric_lpmf|hypergeometric_lupmf|hypergeometric_rng|hypot|identity_matrix|inc_beta|int_step|integrate_1d|integrate_ode|integrate_ode_adams|integrate_ode_bdf|integrate_ode_rk45|inv|inv_Phi|inv_chi_square_cdf|inv_chi_square_lccdf|inv_chi_square_lcdf|inv_chi_square_lpdf|inv_chi_square_lupdf|inv_chi_square_rng|inv_cloglog|inv_erfc|inv_gamma_cdf|inv_gamma_lccdf|inv_gamma_lcdf|inv_gamma_lpdf|inv_gamma_lupdf|inv_gamma_rng|inv_logit|inv_sqrt|inv_square|inv_wishart_lpdf|inv_wishart_lupdf|inv_wishart_rng|inverse|inverse_spd|is_inf|is_nan|lambert_w0|lambert_wm1|lbeta|lchoose|ldexp|lgamma|linspaced_array|linspaced_int_array|linspaced_row_vector|linspaced_vector|lkj_corr_cholesky_lpdf|lkj_corr_cholesky_lupdf|lkj_corr_cholesky_rng|lkj_corr_lpdf|lkj_corr_lupdf|lkj_corr_rng|lmgamma|lmultiply|log|log10|log1m|log1m_exp|log1m_inv_logit|log1p|log1p_exp|log2|log_determinant|log_diff_exp|log_falling_factorial|log_inv_logit|log_inv_logit_diff|log_mix|log_modified_bessel_first_kind|log_rising_factorial|log_softmax|log_sum_exp|logistic_cdf|logistic_lccdf|logistic_lcdf|logistic_lpdf|logistic_lupdf|logistic_rng|logit|loglogistic_cdf|loglogistic_lpdf|loglogistic_rng|lognormal_cdf|lognormal_lccdf|lognormal_lcdf|lognormal_lpdf|lognormal_lupdf|lognormal_rng|machine_precision|map_rect|matrix_exp|matrix_exp_multiply|matrix_power|max|mdivide_left_spd|mdivide_left_tri_low|mdivide_right_spd|mdivide_right_tri_low|mean|min|modified_bessel_first_kind|modified_bessel_second_kind|multi_gp_cholesky_lpdf|multi_gp_cholesky_lupdf|multi_gp_lpdf|multi_gp_lupdf|multi_normal_cholesky_lpdf|multi_normal_cholesky_lupdf|multi_normal_cholesky_rng|multi_normal_lpdf|multi_normal_lupdf|multi_normal_prec_lpdf|multi_normal_prec_lupdf|multi_normal_rng|multi_student_t_lpdf|multi_student_t_lupdf|multi_student_t_rng|multinomial_logit_lpmf|multinomial_logit_lupmf|multinomial_logit_rng|multinomial_lpmf|multinomial_lupmf|multinomial_rng|multiply_log|multiply_lower_tri_self_transpose|neg_binomial_2_cdf|neg_binomial_2_lccdf|neg_binomial_2_lcdf|neg_binomial_2_log_glm_lpmf|neg_binomial_2_log_glm_lupmf|neg_binomial_2_log_lpmf|neg_binomial_2_log_lupmf|neg_binomial_2_log_rng|neg_binomial_2_lpmf|neg_binomial_2_lupmf|neg_binomial_2_rng|neg_binomial_cdf|neg_binomial_lccdf|neg_binomial_lcdf|neg_binomial_lpmf|neg_binomial_lupmf|neg_binomial_rng|negative_infinity|norm|normal_cdf|normal_id_glm_lpdf|normal_id_glm_lupdf|normal_lccdf|normal_lcdf|normal_lpdf|normal_lupdf|normal_rng|not_a_number|num_elements|ode_adams|ode_adams_tol|ode_adjoint_tol_ctl|ode_bdf|ode_bdf_tol|ode_ckrk|ode_ckrk_tol|ode_rk45|ode_rk45_tol|one_hot_array|one_hot_int_array|one_hot_row_vector|one_hot_vector|ones_array|ones_int_array|ones_row_vector|ones_vector|ordered_logistic_glm_lpmf|ordered_logistic_glm_lupmf|ordered_logistic_lpmf|ordered_logistic_lupmf|ordered_logistic_rng|ordered_probit_lpmf|ordered_probit_lupmf|ordered_probit_rng|owens_t|pareto_cdf|pareto_lccdf|pareto_lcdf|pareto_lpdf|pareto_lupdf|pareto_rng|pareto_type_2_cdf|pareto_type_2_lccdf|pareto_type_2_lcdf|pareto_type_2_lpdf|pareto_type_2_lupdf|pareto_type_2_rng|pi|poisson_cdf|poisson_lccdf|poisson_lcdf|poisson_log_glm_lpmf|poisson_log_glm_lupmf|poisson_log_lpmf|poisson_log_lupmf|poisson_log_rng|poisson_lpmf|poisson_lupmf|poisson_rng|polar|positive_infinity|pow|prod|proj|qr_Q|qr_R|qr_thin_Q|qr_thin_R|quad_form|quad_form_diag|quad_form_sym|quantile|rank|rayleigh_cdf|rayleigh_lccdf|rayleigh_lcdf|rayleigh_lpdf|rayleigh_lupdf|rayleigh_rng|reduce_sum|rep_array|rep_matrix|rep_row_vector|rep_vector|reverse|rising_factorial|round|row|rows|rows_dot_product|rows_dot_self|scale_matrix_exp_multiply|scaled_inv_chi_square_cdf|scaled_inv_chi_square_lccdf|scaled_inv_chi_square_lcdf|scaled_inv_chi_square_lpdf|scaled_inv_chi_square_lupdf|scaled_inv_chi_square_rng|sd|segment|sin|singular_values|sinh|size|skew_double_exponential_cdf|skew_double_exponential_lccdf|skew_double_exponential_lcdf|skew_double_exponential_lpdf|skew_double_exponential_lupdf|skew_double_exponential_rng|skew_normal_cdf|skew_normal_lccdf|skew_normal_lcdf|skew_normal_lpdf|skew_normal_lupdf|skew_normal_rng|softmax|sort_asc|sort_desc|sort_indices_asc|sort_indices_desc|sqrt|sqrt2|square|squared_distance|std_normal_cdf|std_normal_lccdf|std_normal_lcdf|std_normal_lpdf|std_normal_lupdf|std_normal_rng|step|student_t_cdf|student_t_lccdf|student_t_lcdf|student_t_lpdf|student_t_lupdf|student_t_rng|sub_col|sub_row|sum|svd_U|svd_V|symmetrize_from_lower_tri|tail|tan|tanh|target|tcrossprod|tgamma|to_array_1d|to_array_2d|to_complex|to_matrix|to_row_vector|to_vector|trace|trace_gen_quad_form|trace_quad_form|trigamma|trunc|uniform_cdf|uniform_lccdf|uniform_lcdf|uniform_lpdf|uniform_lupdf|uniform_rng|uniform_simplex|variance|von_mises_cdf|von_mises_lccdf|von_mises_lcdf|von_mises_lpdf|von_mises_lupdf|von_mises_rng|weibull_cdf|weibull_lccdf|weibull_lcdf|weibull_lpdf|weibull_lupdf|weibull_rng|wiener_lpdf|wiener_lupdf|wishart_lpdf|wishart_lupdf|wishart_rng|zeros_array|zeros_int_array|zeros_row_vector)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.real.stan","match":"(?x)\n(\n[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?\n|\n\\.[0-9]+([eE][+-]?[0-9]+)?\n|\n[0-9]+[eE][+-]?[0-9]+i?\n)"},{"name":"constant.numeric.integer.stan","match":"[0-9]+i?(?=[^A-Za-z_])"}]},"operators":{"patterns":[{"name":"invalid.deprecated.assignment.stan","match":"\u003c-"},{"name":"keyword.operator.colon.stan","match":":"},{"name":"keyword.operator.conditional.stan","match":"[?]"},{"name":"keyword.operator.logical.stan","match":"[|]{2}|\u0026\u0026"},{"name":"keyword.operator.comparison.stan","match":"==|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.logical.stan","match":"!"},{"name":"keyword.operator.assignment.stan","match":"[+-]=|\\.?[*/]=|="},{"name":"keyword.operator.arithmetic.stan","match":"\\+|-|\\.?\\*|\\.?/|%|\\\\|\\^|'"}]},"reserved":{"patterns":[{"name":"invalid.illegal.reserved.stan","match":"\\b(for|in|while|repeat|until|if|then|else|true|false|var|struct|typedef|export|auto|extern|var|static)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double.stan","begin":"\"","end":"\"","patterns":[{"name":"invalid.illegal.string.stan","match":"[^ a-zA-Z0-9~@#$%^\u0026*_'`\\-+={}\\[\\]()\u003c\u003e|/!?.,;:\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}}]}}}