1 line
7.5 KiB
JavaScript
1 line
7.5 KiB
JavaScript
function e(e,t){t||={};for(var n=t.prefix===void 0?`^`:t.prefix,r=t.suffix===void 0?`\\b`:t.suffix,i=0;i<e.length;i++)e[i]instanceof RegExp?e[i]=e[i].source:e[i]=e[i].replace(/[-\/\\^$*+?.()|[\]{}]/g,`\\$&`);return RegExp(n+`(`+e.join(`|`)+`)`+r,`i`)}var t=`(?=[^A-Za-z\\d\\-_]|$)`,n=/[\w\-:]/,r={keyword:e([/begin|break|catch|continue|data|default|do|dynamicparam/,/else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in/,/param|process|return|switch|throw|trap|try|until|where|while/],{suffix:t}),number:/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,operator:e([e([`f`,/b?not/,/[ic]?split/,`join`,/is(not)?/,`as`,/[ic]?(eq|ne|[gl][te])/,/[ic]?(not)?(like|match|contains)/,/[ic]?replace/,/b?(and|or|xor)/],{prefix:`-`}),/[+\-*\/%]=|\+\+|--|\.\.|[+\-*&^%:=!|\/]|<(?!#)|(?!#)>/],{suffix:``}),builtin:e([/[A-Z]:|%|\?/i,e([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,RegExp(`Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)`),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,RegExp(`New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)`),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,RegExp(`Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)`),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:``,suffix:``}),e([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:`\\$`,suffix:``})],{suffix:t}),punctuation:/[\[\]{},;`\\\.]|@[({]/,variable:/^[A-Za-z\_][A-Za-z\-\_\d]*\b/};function i(e,t){var i=t.returnStack[t.returnStack.length-1];if(i&&i.shouldReturnFrom(t))return t.tokenize=i.tokenize,t.returnStack.pop(),t.tokenize(e,t);if(e.eatSpace())return null;if(e.eat(`(`))return t.bracketNesting+=1,`punctuation`;if(e.eat(`)`))return--t.bracketNesting,`punctuation`;for(var s in r)if(e.match(r[s]))return s;var c=e.next();if(c===`'`)return a(e,t);if(c===`$`)return f(e,t);if(c===`"`)return o(e,t);if(c===`<`&&e.eat(`#`))return t.tokenize=d,d(e,t);if(c===`#`)return e.skipToEnd(),`comment`;if(c===`@`){var l=e.eat(/["']/);if(l&&e.eol())return t.tokenize=m,t.startQuote=l[0],m(e,t);if(e.eol())return`error`;if(e.peek().match(/[({]/))return`punctuation`;if(e.peek().match(n))return f(e,t)}return`error`}function a(e,t){for(var n;(n=e.peek())!=null;)if(e.next(),n===`'`&&!e.eat(`'`))return t.tokenize=i,`string`;return`error`}function o(e,t){for(var n;(n=e.peek())!=null;){if(n===`$`)return t.tokenize=s,`string`;if(e.next(),n==="`"){e.next();continue}if(n===`"`&&!e.eat(`"`))return t.tokenize=i,`string`}return`error`}function s(e,t){return u(e,t,o)}function c(e,t){return t.tokenize=m,t.startQuote=`"`,m(e,t)}function l(e,t){return u(e,t,c)}function u(e,t,n){if(e.match(`$(`)){var r=t.bracketNesting;return t.returnStack.push({shouldReturnFrom:function(e){return e.bracketNesting===r},tokenize:n}),t.tokenize=i,t.bracketNesting+=1,`punctuation`}else return e.next(),t.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:n}),t.tokenize=f,t.tokenize(e,t)}function d(e,t){for(var n=!1,r;(r=e.next())!=null;){if(n&&r==`>`){t.tokenize=i;break}n=r===`#`}return`comment`}function f(e,t){var r=e.peek();return e.eat(`{`)?(t.tokenize=p,p(e,t)):r!=null&&r.match(n)?(e.eatWhile(n),t.tokenize=i,`variable`):(t.tokenize=i,`error`)}function p(e,t){for(var n;(n=e.next())!=null;)if(n===`}`){t.tokenize=i;break}return`variable`}function m(e,t){var n=t.startQuote;if(e.sol()&&e.match(RegExp(n+`@`)))t.tokenize=i;else if(n===`"`)for(;!e.eol();){var r=e.peek();if(r===`$`)return t.tokenize=l,`string`;e.next(),r==="`"&&e.next()}else e.skipToEnd();return`string`}var h={name:`powershell`,startState:function(){return{returnStack:[],bracketNesting:0,tokenize:i}},token:function(e,t){return t.tokenize(e,t)},languageData:{commentTokens:{line:`#`,block:{open:`<#`,close:`#>`}}}};export{h as powerShell}; |