# # epic.jsf - JOE syntax highlight file for ircII-EPIC scripts # Author: Brian Weiss # Last modified: 2004/04/30 # # This is far from perfect, of course, but given the fact that # the ircII language is completely whacky I would say it does pretty # darn well most of the time :-). It could certainly be made more # complex but I'm not sure that it would be beneficial to do so. # =Idle =Comment green =Constant cyan =Escape bold cyan =Keyword bold =Expando =Expando2 :reset Idle * first noeat " \t" reset :first Idle * idle noeat "#" line_comment recolor=-1 "/" slash :idle Idle * idle "\n" reset "\[ ]\+\[ ]" idle ";" reset "{" lbracket # "/" slash "$" expando "%" expando_two recolor=-1 "0-9" first_digit recolor=-1 "." maybe_float "'" string_sq recolor=-1 "\"" string_dq recolor=-1 "a-zA-Z_" ident buffer :lbracket Idle * idle "\n" reset "#" line_comment2 recolor=-1 "\[ ]\+\[ ]" lbracket2 "/" slash :lbracket2 Idle * idle "#" line_comment2 recolor=-1 :echo Idle * echo "\;" echo ";" reset "}" reset "\n" reset "$" expando_echo # "0-9" first_digit recolor=-1 # "." maybe_float # "'" string_sq recolor=-1 # "\"" string_dq recolor=-1 "'" echo "\"" echo # "a-zA-Z_" ident buffer :slash Idle * idle noeat "*" comment recolor=-2 :comment Comment * comment "*" maybe_end_comment :maybe_end_comment Comment * comment "/" idle "*" maybe_end_comment :line_comment Comment * line_comment "\n" reset :line_comment2 Comment * line_comment2 "\n" reset "{\*}" idle recolor=-1 :expando Idle * idle noeat "*" expando2 recolor=-2 "-" expando2 recolor=-2 "0-9" expando2 recolor=-2 "~" expando2 recolor=-2 "," expando2 recolor=-2 "." expando2 recolor=-2 ":" expando2 recolor=-2 ";" expando2 recolor=-2 :expando_echo Idle * echo noeat "*" expando2_echo recolor=-2 "-" expando2_echo recolor=-2 "0-9" expando2_echo recolor=-2 "~" expando2_echo recolor=-2 "," expando2_echo recolor=-2 "." expando2_echo recolor=-2 ":" expando2_echo recolor=-2 ";" expando2_echo recolor=-2 :expando2 Expando * idle noeat recolor=-1 "-" expando3 recolor=-3 "0-9" expando3 recolor=-3 :expando2_echo Expando * echo noeat recolor=-1 "-" expando3_echo recolor=-3 "0-9" expando3_echo recolor=-3 :expando3 Expando * idle noeat recolor=-1 "0-9" expando4 recolor=-4 :expando3_echo Expando * echo noeat recolor=-1 "0-9" expando4_echo recolor=-4 :expando4 Expando * idle noeat recolor=-1 :expando4_echo Expando * echo noeat recolor=-1 :expando_two Expando2 * expando_too recolor=-1 :expando_too Expando2 * idle recolor=-1 :first_digit Constant * idle noeat recolor=-1 "xX" hex "." float "0-9" first_number :hex Constant * idle noeat recolor=-1 "0-9A-Fa-f" hex :first_number Constant * idle noeat recolor=-1 "0-9" first_number "." float :maybe_float Constant * idle recolor=-2 noeat "0-9" float recolor=-2 :float Constant * idle noeat recolor=-1 "eE" epart "0-9" float :epart Constant * idle noeat recolor=-1 "0-9+\-" enum :enum Constant * idle noeat recolor=-1 "0-9" enum :string_sq Constant * string_sq "\n" reset "\'" idle # "\\" string_sq_esc recolor=-1 :string_sq_esc Constant * string_sq "\n" string_sq recolor=-2 :string_dq Constant * string_dq "\n" reset "\"" idle # "\\" string_dq_esc recolor=-1 :string_dq_escape Escape * string_dq "\n" string_dq recolor=-2 :ident Idle * idle noeat istrings "alias" kw "assign" kw "defer" kw "do" kw "echo" echo "else" kw "elsif" kw "eval" kw "fe" kw "fec" kw "for" kw "foreach" kw "if" kw "input" kw "local" kw "on" kw "queue" kw "switch" kw "timer" kw "while" kw "xecho" echo "xeval" kw done "a-zA-Z0-9_" ident :kw Keyword * idle noeat