# JOE syntax highlight file for Sieve # by Christian Nicolai (http://mycrobase.de) =Idle =Ident =Comment =Constant =String +Constant =Number +Constant =Boolean +Constant =Escape =StringEscape +Escape +String =Keyword =Statement +Keyword =Conditional +Statement +Keyword =Bad =Brace =TaggedArgument +Operator +Keyword :idle Idle * idle "#" line_comment recolor=-1 "/" maybe_comment "1-9" decimal recolor=-1 "\"" string recolor=-1 "[]{}" brace recolor=-1 ":" maybe_tagged_arg "a-zA-Z_" ident buffer :brace Brace * idle noeat :line_comment Comment comment * line_comment "BFHNTX" line_comment noeat call=comment_todo.comment_todo() "\n" idle :maybe_comment Idle * idle noeat "*" comment recolor=-2 :comment Comment comment * comment "BFHNTX" comment noeat call=comment_todo.comment_todo() "*" maybe_end_comment :maybe_end_comment Comment comment * comment noeat "/" idle :decimal Number * idle noeat "0-9" decimal "KMG" decimal_suffix :decimal_suffix Number * idle noeat :string String string * string "\"" idle "\\" string_escape recolor=-1 :string_escape StringEscape string * string_bad_escape recolor=-1 "\\" string "\"" string :string_bad_escape Bad * string noeat :maybe_tagged_arg Idle * idle noeat "a-zA-Z_" tagged_arg recolor=-2 :tagged_arg TaggedArgument * idle noeat "a-zA-Z0-9_" tagged_arg :ident Ident * idle noeat strings # control" "else" cond "elsif" cond "if" cond "require" kw "stop" kw # commands "discard" cmd "fileinto" cmd "keep" cmd "redirect" cmd # tests "address" test "allof" test "anyof" test "envelope" test "exists" test "false" bool "header" test "not" test "size" test "true" bool done "a-zA-Z0-9_" ident :kw Keyword * idle noeat :cmd Statement * idle noeat :cond Conditional * idle noeat :bool Boolean * idle noeat :test Idle * idle noeat