mirror of
https://github.com/cmur2/joe-syntax.git
synced 2024-10-31 14:56:16 +01:00
260 lines
4.3 KiB
Plaintext
260 lines
4.3 KiB
Plaintext
|
# PowerShell syntax highlighting for Joe's Own Editor
|
||
|
# Oskar Liljeblad <oskar@osk.mine.nu>, 2014-02-11
|
||
|
#
|
||
|
# PowerShell is the poor man's[1] replacement for a real shell such as Bash.
|
||
|
# [1] Someone who has to use Windows for whatever reason.
|
||
|
#
|
||
|
# Reference: http://www.microsoft.com/en-us/download/details.aspx?id=36389
|
||
|
# Status:
|
||
|
# 1 100%
|
||
|
# 2.1 100%
|
||
|
# 2.2.1 100% except signature support
|
||
|
# 2.2.2 100%
|
||
|
# 2.2.3 100% except requires support
|
||
|
# 2.2.4 100%
|
||
|
# 2.3.1 100%
|
||
|
# 2.3.2 100% except automatic variables
|
||
|
# 2.3.3 100% no coloring
|
||
|
# 2.3.4 100% no coloring
|
||
|
# 2.3.5 100% no coloring
|
||
|
# 2.3.6 100%
|
||
|
|
||
|
=Idle
|
||
|
=Comment green
|
||
|
=Constant cyan
|
||
|
=ConstEscape bold cyan
|
||
|
=Keyword bold
|
||
|
=Var magenta
|
||
|
=VarEscape bold magenta
|
||
|
|
||
|
:idle Idle
|
||
|
* idle
|
||
|
"#" comment recolor=-1
|
||
|
"$" var recolor=-1
|
||
|
"@" var_array recolor=-1
|
||
|
"<" idle1
|
||
|
"\"" string_dq recolor=-1
|
||
|
"'" string_sq recolor=-1
|
||
|
"@" idle2
|
||
|
"a-zA-Z_-" ident buffer
|
||
|
|
||
|
:idle1 Idle
|
||
|
* idle noeat
|
||
|
"#" delim_comment recolor=-2
|
||
|
|
||
|
:idle2 Idle
|
||
|
* idle noeat
|
||
|
"\"" herestr_dq recolor=-2
|
||
|
"'" herestr_sq recolor=-2
|
||
|
|
||
|
:comment Comment
|
||
|
* comment
|
||
|
"\r\n" idle
|
||
|
|
||
|
:var_array Var
|
||
|
* idle noeat
|
||
|
"$?^" idle
|
||
|
"a-zA-Z_" var_name
|
||
|
|
||
|
:var Var
|
||
|
* idle noeat
|
||
|
"{" var_brack
|
||
|
"$?^" idle
|
||
|
"a-zA-Z_" var_name
|
||
|
|
||
|
:var_name Var
|
||
|
* idle noeat recolor=-1
|
||
|
"a-zA-Z0-9_:?" var_name
|
||
|
|
||
|
:var_brack Var
|
||
|
* var_brack
|
||
|
"`" var_escape recolor=-1
|
||
|
"}" idle
|
||
|
|
||
|
:var_escape VarEscape
|
||
|
* var_brack
|
||
|
|
||
|
:delim_comment Comment
|
||
|
* delim_comment
|
||
|
"#" delim_comment1
|
||
|
|
||
|
:delim_comment1 Comment
|
||
|
* delim_comment noeat
|
||
|
">" idle
|
||
|
|
||
|
:kw Keyword
|
||
|
* idle noeat
|
||
|
|
||
|
:string_dq Constant
|
||
|
* string_dq
|
||
|
"\"\n" idle
|
||
|
"$" string_dq_subst recolor=-1
|
||
|
"`" string_dq_esc recolor=-1
|
||
|
|
||
|
:string_dq_subst Var
|
||
|
* string_dq noeat recolor=-2
|
||
|
"a-zA-Z_" string_dq_subst_name
|
||
|
"{" string_dq_subst_brack
|
||
|
"(" string_dq_subst_parens
|
||
|
"`" string_dq_subst_escape recolor=-1
|
||
|
|
||
|
:string_dq_subst_name Var
|
||
|
* string_dq recolor=-1 noeat
|
||
|
"a-zA-Z0-9_:" string_dq_subst_name
|
||
|
"`" string_dq_subst_escape recolor=-1
|
||
|
|
||
|
:string_dq_subst_escape VarEscape
|
||
|
* string_dq_subst_name
|
||
|
|
||
|
:string_dq_subst_brack Var
|
||
|
* string_dq_subst_brack
|
||
|
"}" string_dq
|
||
|
|
||
|
:string_dq_subst_parens Var
|
||
|
* string_dq_sustr_parens
|
||
|
")" string_dq
|
||
|
|
||
|
:string_sq Constant
|
||
|
* string_sq
|
||
|
"\'\n" idle
|
||
|
|
||
|
:string_dq_esc ConstEscape
|
||
|
* string_dq
|
||
|
|
||
|
:string_sq_esc ConstEscape
|
||
|
* string_sq
|
||
|
|
||
|
:herestr_dq Constant
|
||
|
* herestr_dq
|
||
|
"\"" herestr_dq1
|
||
|
"$" herestr_dq_subst recolor=-1
|
||
|
|
||
|
:herestr_dq1 Constant
|
||
|
* herestr_dq noeat
|
||
|
"@" idle
|
||
|
|
||
|
:herestr_dq_subst Var
|
||
|
* herestr_dq noeat recolor=-2
|
||
|
"a-zA-Z_" herestr_dq_subst_name
|
||
|
"(" herestr_dq_subst_parens
|
||
|
"`" herestr_dq_subst_escape recolor=-1
|
||
|
|
||
|
:herestr_dq_subst_name Var
|
||
|
* herestr_dq recolor=-1 noeat
|
||
|
"a-zA-Z0-9_:" herestr_dq_subst_name
|
||
|
"`" herestr_dq_subst_escape recolor=-1
|
||
|
|
||
|
:herestr_dq_subst_escape VarEscape
|
||
|
* herestr_dq_subst_name
|
||
|
|
||
|
:herestr_dq_subst_parens Var
|
||
|
* herestr_dq_subst_parens
|
||
|
")" herestr_dq
|
||
|
|
||
|
:herestr_sq Constant
|
||
|
* herestr_sq
|
||
|
"\'" herestr_sq1
|
||
|
|
||
|
:herestr_sq1 Constant
|
||
|
* herestr_sq noeat
|
||
|
"@" idle
|
||
|
|
||
|
:ident Idle
|
||
|
* idle noeat istrings
|
||
|
"-and" kw
|
||
|
"-band" kw
|
||
|
"-bnot" kw
|
||
|
"-bor" kw
|
||
|
"-bxor" kw
|
||
|
"-not" kw
|
||
|
"-or" kw
|
||
|
"-xor" kw
|
||
|
"-f" kw
|
||
|
"-as" kw
|
||
|
"-ccontains" kw
|
||
|
"-ceq" kw
|
||
|
"-cge" kw
|
||
|
"-cgt" kw
|
||
|
"-cle" kw
|
||
|
"-clike" kw
|
||
|
"-clt" kw
|
||
|
"-cmatch" kw
|
||
|
"-cne" kw
|
||
|
"-cnotcontains" kw
|
||
|
"-cnotlike" kw
|
||
|
"-cnotmatch" kw
|
||
|
"-contains" kw
|
||
|
"-creplace" kw
|
||
|
"-csplit" kw
|
||
|
"-eq" kw
|
||
|
"-ge" kw
|
||
|
"-gt" kw
|
||
|
"-icontains" kw
|
||
|
"-ieq" kw
|
||
|
"-ige" kw
|
||
|
"-igt" kw
|
||
|
"-ile" kw
|
||
|
"-ilike" kw
|
||
|
"-ilt" kw
|
||
|
"-imatch" kw
|
||
|
"-in" kw
|
||
|
"-ine" kw
|
||
|
"-inotcontains" kw
|
||
|
"-inotlike" kw
|
||
|
"-inotmatch" kw
|
||
|
"-ireplace" kw
|
||
|
"-is" kw
|
||
|
"-isnot" kw
|
||
|
"-isplit" kw
|
||
|
"-join" kw
|
||
|
"-le" kw
|
||
|
"-like" kw
|
||
|
"-lt" kw
|
||
|
"-match" kw
|
||
|
"-ne" kw
|
||
|
"-notcontains" kw
|
||
|
"-notin" kw
|
||
|
"-notlike" kw
|
||
|
"-notmatch" kw
|
||
|
"-replace" kw
|
||
|
"-shl" kw
|
||
|
"-shr" kw
|
||
|
"-split" kw
|
||
|
"begin" kw
|
||
|
"break" kw
|
||
|
"catch" kw
|
||
|
"class" kw
|
||
|
"continue" kw
|
||
|
"data" kw
|
||
|
"define" kw
|
||
|
"do" kw
|
||
|
"dynamicparam" kw
|
||
|
"else" kw
|
||
|
"elseif" kw
|
||
|
"end" kw
|
||
|
"exit" kw
|
||
|
"filter" kw
|
||
|
"finally" kw
|
||
|
"for" kw
|
||
|
"foreach" kw
|
||
|
"from" kw
|
||
|
"function" kw
|
||
|
"if" kw
|
||
|
"in" kw
|
||
|
"inlinescript" kw
|
||
|
"parallel" kw
|
||
|
"param" kw
|
||
|
"process" kw
|
||
|
"return" kw
|
||
|
"switch" kw
|
||
|
"throw" kw
|
||
|
"trap" kw
|
||
|
"try" kw
|
||
|
"until" kw
|
||
|
"using" kw
|
||
|
"var" kw
|
||
|
"while" kw
|
||
|
"workflow" kw
|
||
|
done
|
||
|
"a-zA-Z_" ident
|