1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
# JOE syntax highlight file for Sieve
# by Christian Nicolai (http://mycrobase.de)
=Idle
=Comment green
=Constant cyan
=Escape bold cyan
=Keyword bold
=Bad bold red
=Brace magenta
=TaggedArgument red
: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
* line_comment
"\n" idle
:maybe_comment Idle
* idle noeat
"*" comment recolor=-2
:comment Comment
* comment
"*" maybe_end_comment
:maybe_end_comment Comment
* comment noeat
"/" idle
:decimal Constant
* idle noeat
"0-9" decimal
"KMG" decimal_suffix
:decimal_suffix Constant
* idle noeat
:string Constant
* string
"\"" idle
"\\" string_escape recolor=-1
:string_escape Escape
* 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 Idle
* idle noeat strings
# control"
"else" kw
"elsif" kw
"if" kw
"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" test
"header" test
"not" test
"size" test
"true" test
done
"a-zA-Z0-9_" ident
:kw Keyword
* idle noeat
:cmd Idle
* idle noeat
:test Idle
* idle noeat
|