6 lines
14 KiB
JavaScript
6 lines
14 KiB
JavaScript
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Batch File\",\"injections\":{\"L:meta.block.repeat.batchfile\":{\"patterns\":[{\"include\":\"#repeatParameter\"}]}},\"name\":\"bat\",\"patterns\":[{\"include\":\"#commands\"},{\"include\":\"#comments\"},{\"include\":\"#constants\"},{\"include\":\"#controls\"},{\"include\":\"#escaped_characters\"},{\"include\":\"#labels\"},{\"include\":\"#numbers\"},{\"include\":\"#operators\"},{\"include\":\"#parens\"},{\"include\":\"#strings\"},{\"include\":\"#variables\"}],\"repository\":{\"command_set\":{\"patterns\":[{\"begin\":\"(?<=^|[@\\\\s])(?i:SET)(?=$|\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.command.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&)<>|])\",\"patterns\":[{\"include\":\"#command_set_inside\"}]}]},\"command_set_group\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.group.begin.batchfile\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.group.end.batchfile\"}},\"patterns\":[{\"include\":\"#command_set_inside_arithmetic\"}]}]},\"command_set_inside\":{\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#parens\"},{\"include\":\"#command_set_strings\"},{\"include\":\"#strings\"},{\"begin\":\"([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&)<>|])\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#parens\"},{\"include\":\"#strings\"}]},{\"begin\":\"\\\\s+/[Aa]\\\\s+\",\"end\":\"(?=$\\\\n|[\\\\&)<>|])\",\"name\":\"meta.expression.set.batchfile\",\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.batchfile\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"include\":\"#command_set_inside_arithmetic\"},{\"include\":\"#command_set_group\"},{\"include\":\"#variables\"}]},{\"include\":\"#command_set_inside_arithmetic\"},{\"include\":\"#command_set_group\"}]},{\"begin\":\"\\\\s+/[Pp]\\\\s+\",\"end\":\"(?=$\\\\n|[\\\\&)<>|])\",\"patterns\":[{\"include\":\"#command_set_strings\"},{\"begin\":\"([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&)<>|])\",\"name\":\"meta.prompt.set.batchfile\",\"patterns\":[{\"include\":\"#strings\"}]}]}]},\"command_set_inside_arithmetic\":{\"patterns\":[{\"include\":\"#command_set_operators\"},{\"include\":\"#numbers\"},{\"match\":\",\",\"name\":\"punctuation.separator.batchfile\"}]},\"command_set_operators\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.augmented.batchfile\"}},\"match\":\"([^ ]*)((?:[-*+/]|%%|[\\\\&^|]|<<|>>)=)\"},{\"match\":\"[-*+/]|%%|[\\\\&^|]|<<|>>|~\",\"name\":\"keyword.operator.arithmetic.batchfile\"},{\"match\":\"!\",\"name\":\"keyword.operator.logical.batchfile\"},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.batchfile\"},\"2\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"match\":\"([^ =]*)(=)\"}]},\"command_set_strings\":{\"patterns\":[{\"begin\":\"(\\\")\\\\s*([^ ][^=]*)(=)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.batchfile\"},\"2\":{\"name\":\"variable.other.readwrite.batchfile\"},\"3\":{\"name\":\"keyword.operator.assignment.batchfile\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#escaped_characters\"}]}]},\"commands\":{\"patterns\":[{\"match\":\"(?<=^|[@\\\\s])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net user??|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\\\s)\",\"name\":\"keyword.command.batchfile\"},{\"begin\":\"(?i)(?<=^|[@\\\\s])(echo)(?:(?=$|[.:])|\\\\s+(?:(o(?:n|ff))(?=\\\\s*$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.command.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&)<>|])\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variables\"},{\"include\":\"#numbers\"},{\"include\":\"#strings\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.command.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?i)(?<=^|[@\\\\s])(setlocal)(?:\\\\s*$|\\\\s+((?:En|Dis)able(?:Extensions|DelayedExpansion))(?=\\\\s*$))\"},{\"include\":\"#command_set\"}]},\"comments\":{\"patterns\":[{\"begin\":\"(?:^|(&))\\\\s*(?=(:[ +,:;=]))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.conditional.batchfile\"}},\"end\":\"\\\\n\",\"patterns\":[{\"begin\":\"(:[ +,:;=])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.batchfile\"}},\"end\":\"(?=\\\\n)\",\"name\":\"comment.line.colon.batchfile\"}]},{\"begin\":\"(?<=^|[@\\\\s])(?i)(REM)(\\\\.)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.command.rem.batchfile\"},\"2\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=$\\\\n|[\\\\&)<>|])\",\"name\":\"comment.line.rem.batchfile\"},{\"begin\":\"(?<=^|[@\\\\s])(?i:rem)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.command.rem.batchfile\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.rem.batchfile\",\"patterns\":[{\"match\":\"[<>|]\",\"name\":\"invalid.illegal.unexpected-character.batchfile\"}]}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b(?i:NUL)\\\\b\",\"name\":\"constant.language.batchfile\"}]},\"controls\":{\"patterns\":[{\"match\":\"(?i)(?<=^|\\\\s)(?:call|exit(?=$|\\\\s)|goto(?=$|[:\\\\s]))\",\"name\":\"keyword.control.statement.batchfile\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.conditional.batchfile\"},\"2\":{\"name\":\"keyword.operator.logical.batchfile\"},\"3\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?<=^|\\\\s)(?i)(if)\\\\s+(?:(not)\\\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\\\s)\"},{\"match\":\"(?<=^|\\\\s)(?i)(?:if|else)(?=$|\\\\s)\",\"name\":\"keyword.control.conditional.batchfile\"},{\"begin\":\"(?<=^|[\\\\&(^\\\\s])(?i)for(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.batchfile\"}},\"end\":\"\\\\n\",\"name\":\"meta.block.repeat.batchfile\",\"patterns\":[{\"begin\":\"(?<=[\\\\^\\\\s])(?i)in(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.in.batchfile\"}},\"end\":\"(?<=[)^\\\\s])(?i)do(?=\\\\s)|\\\\n\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.repeat.do.batchfile\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"include\":\"$self\"}]}]},\"escaped_characters\":{\"patterns\":[{\"match\":\"%%|\\\\^\\\\^!|\\\\^(?=.)|\\\\^\\\\n\",\"name\":\"constant.character.escape.batchfile\"}]},\"labels\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.batchfile\"},\"2\":{\"name\":\"keyword.other.special-method.batchfile\"}},\"match\":\"(?i)(?:^\\\\s*|(?<=call|goto)\\\\s*)(:)([^+,:;=\\\\s]\\\\S*)\"}]},\"numbers\":{\"patterns\":[{\"match\":\"(?<=^|[=\\\\s])(0[Xx]\\\\h*|[-+]?\\\\d+)(?=$|[<>\\\\s])\",\"name\":\"constant.numeric.batchfile\"}]},\"operators\":{\"patterns\":[{\"match\":\"@(?=\\\\S)\",\"name\":\"keyword.operator.at.batchfile\"},{\"match\":\"(?<=\\\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\\\s)|==\",\"name\":\"keyword.operator.comparison.batchfile\"},{\"match\":\"(?<=\\\\s)(?i)(NOT)(?=\\\\s)\",\"name\":\"keyword.operator.logical.batchfile\"},{\"match\":\"(?<!\\\\^)&&?|\\\\|\\\\|\",\"name\":\"keyword.operator.conditional.batchfile\"},{\"match\":\"(?<!\\\\^)\\\\|\",\"name\":\"keyword.operator.pipe.batchfile\"},{\"match\":\"<&?|>[\\\\&>]?\",\"name\":\"keyword.operator.redirection.batchfile\"}]},\"parens\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.group.begin.batchfile\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.group.end.batchfile\"}},\"name\":\"meta.group.batchfile\",\"patterns\":[{\"match\":\"[,;]\",\"name\":\"punctuation.separator.batchfile\"},{\"include\":\"$self\"}]}]},\"repeatParameter\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.batchfile\"}},\"match\":\"(%%)(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?[A-Za-z]\",\"name\":\"variable.parameter.repeat.batchfile\"}]},\"strings\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.batchfile\"}},\"end\":\"(\\\")|(\\\\n)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.batchfile\"},\"2\":{\"name\":\"invalid.illegal.newline.batchfile\"}},\"name\":\"string.quoted.double.batchfile\",\"patterns\":[{\"match\":\"%%\",\"name\":\"constant.character.escape.batchfile\"},{\"include\":\"#variables\"}]}]},\"variable\":{\"patterns\":[{\"begin\":\"%(?=[^%]+%)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.variable.begin.batchfile\"}},\"end\":\"(%)|\\\\n\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.end.batchfile\"}},\"name\":\"variable.other.readwrite.batchfile\",\"patterns\":[{\"begin\":\":~\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[\\\\n%])\",\"name\":\"meta.variable.substring.batchfile\",\"patterns\":[{\"include\":\"#variable_substring\"}]},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[\\\\n%])\",\"name\":\"meta.variable.substitution.batchfile\",\"patterns\":[{\"include\":\"#variable_replace\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[\\\\n%])\",\"patterns\":[{\"include\":\"#variable_delayed_expansion\"},{\"match\":\"[^%]+\",\"name\":\"string.unquoted.batchfile\"}]}]}]}]},\"variable_delayed_expansion\":{\"patterns\":[{\"begin\":\"!(?=[^!]+!)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.variable.begin.batchfile\"}},\"end\":\"(!)|\\\\n\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.variable.end.batchfile\"}},\"name\":\"variable.other.readwrite.batchfile\",\"patterns\":[{\"begin\":\":~\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[\\\\n!])\",\"name\":\"meta.variable.substring.batchfile\",\"patterns\":[{\"include\":\"#variable_substring\"}]},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[\\\\n!])\",\"name\":\"meta.variable.substitution.batchfile\",\"patterns\":[{\"include\":\"#escaped_characters\"},{\"include\":\"#variable_replace\"},{\"include\":\"#variable\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.batchfile\"}},\"end\":\"(?=[\\\\n!])\",\"patterns\":[{\"include\":\"#variable\"},{\"match\":\"[^!]+\",\"name\":\"string.unquoted.batchfile\"}]}]}]}]},\"variable_replace\":{\"patterns\":[{\"match\":\"[^\\\\n!%=]+\",\"name\":\"string.unquoted.batchfile\"}]},\"variable_substring\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.batchfile\"},\"2\":{\"name\":\"punctuation.separator.batchfile\"},\"3\":{\"name\":\"constant.numeric.batchfile\"}},\"match\":\"([-+]?\\\\d+)(?:(,)([-+]?\\\\d+))?\"}]},\"variables\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.batchfile\"}},\"match\":\"(%)(?:(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?\\\\d|\\\\*)\",\"name\":\"variable.parameter.batchfile\"},{\"include\":\"#variable\"},{\"include\":\"#variable_delayed_expansion\"}]}},\"scopeName\":\"source.batchfile\",\"aliases\":[\"batch\"]}"))
|
|
|
|
export default [
|
|
lang
|
|
]
|