# haskell.jsf - By Brian Alliet # Portions based on c.jsf by Joseph Allen =Idle =LatexIdle =LatexCommand blue =LatexArg red =LatexComment green =LatexMath magenta =LatexBeginCode bold magenta =Keyword red =Constructor blue =Constant cyan =Escape bold cyan =Comment green =Operator magenta =Preproc bold :latex_idle LatexIdle * latex_idle "\\" latex_cmd_tramp recolor=-1 "{}" latex_brace recolor=-1 "$" latex_math recolor=-1 "%" latex_comment recolor=-1 :latex_math LatexMath * latex_idle noeat :latex_comment LatexComment * latex_comment "\n" latex_idle :latex_brace LatexArg * latex_idle noeat :latex_cmd_tramp LatexCommand * latex_cmd buffer :latex_cmd LatexCommand * latex_idle noeat strings "documentclass" latex_cmd_ca "usepackage" latex_cmd_ca "begin" latex_cmd_begin "end" latex_cmd_end "ref" latex_cmd_ca done "a-z" latex_cmd :latex_cmd_ca LatexCommand * latex_idle noeat "{" latex_cmd_argc recolor=-1 "[" latex_cmd_argb recolor=-1 :latex_cmd_argc LatexArg * latex_cmd_argc "}" latex_idle :latex_cmd_argb LatexArg * latex_cmd_argb "]" latex_cmd_ca :latex_cmd_begin LatexCommand * latex_idle noeat "{" latex_cmd_begin_arg recolor=-1 buffer :latex_cmd_begin_arg LatexArg * latex_cmd_begin_arg "}" latex_idle strings "{code" latex_cmd_begin_arg_code recolor=-12 done :latex_cmd_begin_arg_code LatexBeginCode * idle noeat "}" latex_cmd_begin_arg_code :latex_cmd_end LatexCommand * latex_idle noeat "{" latex_cmd_end_arg recolor=-1 buffer :latex_cmd_end_arg LatexArg * latex_cmd_end_arg "}" latex_idle strings "{code" latex_cmd_end_arg_code recolor=-10 done :latex_cmd_end_arg_code LatexBeginCode * latex_idle noeat "}" latex_cmd_end_arg_code :idle Idle * op recolor=-1 "\n" first "0" first_digit recolor=-1 "1-9" decimal recolor=-1 "\"" string recolor=-1 "'" char recolor=-1 "A-Z" ctor recolor=-1 "a-z_" ident buffer "-" dash recolor=-1 "`" named_op recolor=-1 "{" lcurley " \t[]()}\\|," idle :first Idle * idle noeat "\\" latex_cmd_tramp recolor=-1 # Isn't exactly correct... "#" preproc recolor=-1 :preproc Preproc * preproc "\\" preproc_cont "\n" idle noeat :preproc_cont Preproc * preproc_cont "\n" preproc :named_op Operator * named_op "`" idle :op Operator * idle noeat :dash Operator * idle noeat "-" line_comment recolor=-2 :line_comment Comment * line_comment "\n" idle noeat :lcurley Idle * idle noeat "-" comment recolor=-2 :comment Comment * comment "-" maybe_end_comment :maybe_end_comment Comment * comment "}" idle "-" maybe_end_comment :string Constant * string "\"" idle "\\" string_escape :char Constant * char "'" idle "\\" char_escape recolor=-1 :ctor Constructor * idle noeat "A-Za-z0-9" ctor :string_escape Escape * string "x" string_hex1 "0-7" string_octal2 "\n" string recolor=-2 :string_hex1 Escape * string noeat "0-9a-fA-F" string_hex2 :string_hex2 Escape * string noeat "0-9a-fA-F" string :string_octal2 Escape * string noeat "0-7" string_octal3 :string_octal3 Escape * string noeat "0-7" string :char Constant * char "'" idle "\\" char_escape recolor=-1 :char_escape Escape * char "x" char_hex1 "0-7" char_octal2 "\n" char recolor=-2 :char_hex1 Escape * char noeat "0-9a-fA-F" char_hex2 :char_hex2 Escape * char noeat "0-9a-fA-F" char :char_octal2 Escape * char noeat "0-7" char_octal3 :char_octal3 Escape * char noeat "0-7" char :first_digit Constant * idle noeat "xX" hex "eE" epart "0-9" decimal "." dot recolor=-1 :dot Constant * float "." op recolor=-2 :hex Constant * idle noeat "0-9A-Fa-f" hex :decimal Constant * idle noeat "0-9" decimal "eE" epart "." float recolor=-1 :float Constant * idle noeat "eE" epart "0-9" float :epart Constant * idle noeat "0-9+\-" enum :ident Idle * idle noeat strings "import" kw "type" kw "data" kw "case" kw "class" kw "default" kw "deriving" kw "do" kw "else" kw "if" kw "in" kw "infix" kw "infixl" kw "infixr" kw "instance" kw "let" kw "module" kw "newtype" kw "of" kw "then" kw "where" kw "_" kw done "A-Za-z0-9_'" ident :kw Keyword * idle noeat