122 lines
1.9 KiB
Plaintext
122 lines
1.9 KiB
Plaintext
# 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
|