{ "aliases": [ "ps", "ps1" ], "lexemes": "-?[A-z\\.\\-]+", "case_insensitive": true, "keywords": { "keyword": "if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter" }, "contains": [ { "className": "function", "begin": "\\[.*\\]\\s*[\\w]+[ ]??\\(", "end": "$", "returnBegin": true, "relevance": 0, "contains": [ { "begin": "\\[", "end": "\\]", "excludeBegin": true, "excludeEnd": true, "relevance": 0, "contains": [ "self", { "$ref": "#contains.0" }, { "className": "comment", "begin": null, "end": null, "contains": [ { "className": "doctag", "variants": [ { "begin": "\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)" }, { "begin": "\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+" } ] } ], "variants": [ { "begin": "#", "end": "$" }, { "begin": "<#", "end": "#>" } ] }, { "begin": "`[\\s\\S]", "relevance": 0 }, { "className": "number", "begin": "\\b\\d+(\\.\\d+)?", "relevance": 0 }, { "className": "string", "variants": [ { "begin": "\"", "end": "\"" }, { "begin": "@\"", "end": "^\"@" } ], "contains": [ { "$ref": "#contains.0.contains.0.contains.3" }, { "className": "variable", "variants": [ { "begin": "\\$\\B" }, { "className": "keyword", "begin": "\\$this" }, { "begin": "\\$[\\w\\d][\\w\\d_:]*" } ] }, { "className": "variable", "begin": "\\$[A-z]", "end": "[^A-z]" } ] }, { "className": "string", "variants": [ { "begin": "'", "end": "'" }, { "begin": "@'", "end": "^'@" } ] }, { "className": "built_in", "variants": [ { "begin": "(Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|New|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Complete|Confirm|Deny|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where)+(-)[\\w\\d]+" } ] }, { "$ref": "#contains.0.contains.0.contains.5.contains.1" }, { "className": "literal", "begin": "\\$(null|true|false)\\b" }, { "className": "selector-tag", "begin": "\\@\\B", "relevance": 0 }, { "begin": "(string|char|byte|int|long|bool|decimal|single|double|DateTime|xml|array|hashtable|void)", "className": "built_in", "relevance": 0 }, { "className": "type", "begin": "[\\.\\w\\d]+", "relevance": 0 } ] }, { "className": "keyword", "begin": "(if|else|foreach|return|do|while|until|elseif|begin|for|trap|data|dynamicparam|end|break|throw|param|continue|finally|in|switch|exit|filter|try|process|catch|hidden|static|parameter)\\b", "endsParent": true, "relevance": 0 }, { "className": "title", "begin": "[a-zA-Z]\\w*", "relevance": 0, "endsParent": true } ] }, { "$ref": "#contains.0.contains.0.contains.2" }, { "$ref": "#contains.0.contains.0.contains.3" }, { "$ref": "#contains.0.contains.0.contains.4" }, { "$ref": "#contains.0.contains.0.contains.5" }, { "$ref": "#contains.0.contains.0.contains.6" }, { "$ref": "#contains.0.contains.0.contains.7" }, { "$ref": "#contains.0.contains.0.contains.5.contains.1" }, { "$ref": "#contains.0.contains.0.contains.9" }, { "$ref": "#contains.0.contains.0.contains.10" }, { "className": "class", "beginKeywords": "class enum", "end": "\\s*[{]", "excludeEnd": true, "relevance": 0, "contains": [ { "className": "title", "begin": "[a-zA-Z]\\w*", "relevance": 0 } ] }, { "className": "function", "begin": "function\\s+", "end": "\\s*\\{|$", "excludeEnd": true, "returnBegin": true, "relevance": 0, "contains": [ { "begin": "function", "relevance": 0, "className": "keyword" }, { "className": "title", "begin": "\\w[\\w\\d]*((-)[\\w\\d]+)*", "relevance": 0 }, { "begin": "\\(", "end": "\\)", "className": "params", "relevance": 0, "contains": [ { "$ref": "#contains.0.contains.0.contains.5.contains.1" } ] } ] }, { "begin": "using\\s", "end": "$", "returnBegin": true, "contains": [ { "$ref": "#contains.0.contains.0.contains.5" }, { "$ref": "#contains.0.contains.0.contains.6" }, { "className": "keyword", "begin": "(using|assembly|command|module|namespace|type)" } ] }, { "variants": [ { "className": "operator", "begin": "(-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor)\\b" }, { "className": "literal", "begin": "(-)[\\w\\d]+", "relevance": 0 } ] }, { "$ref": "#contains.0.contains.0" } ] }