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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
# JOE syntax highlight file for R
=Idle
=Ident
=Bad
=Comment
=Constant
=Number +Constant
=String +Constant
=StringEscape +Escape
=Character +Constant
=CharacterEscape +Escape
=Boolean +Constant
=Escape
=Keyword
=Brace
=Control
:idle Idle
* idle
"#" line_comment recolor=-1
"0" first_digit recolor=-1
"1-9" decimal recolor=-1
"." maybe_float buffer
"\"" string recolor=-1
"'" char recolor=-1
"\p{L}\p{Nl}" ident buffer
"\\" outside_escape recolor=-1
"{}" brace recolor=-1
"/,:;=()><[]*&|!~+\-%^" control recolor=-1
:outside_escape Escape
* idle
:brace Brace
* idle noeat
:control Control
* idle noeat
:line_comment Comment comment
* line_comment
"BFHNTX" line_comment noeat call=comment_todo.comment_todo()
"\n" idle
:first_digit Number
* idle noeat
"xX" hex
"." float
"eE" epart
"0-9" decimal
"L" idle
:hex Number
* idle noeat
"0-9A-Fa-f" hex
:decimal Number
* idle noeat
"0-9" decimal
"eE" epart
"." float
"L" idle
:maybe_float Number
* idle recolor=-2 noeat
"\i." ident recolor=-2
"0-9" float recolor=-2
:float Number
* idle noeat
"eE" epart
"0-9" float
"L" idle
:epart Number
* idle noeat
"0-9+\-" enum
:enum Number
* idle noeat
"0-9" enum
"L" idle
:string String string
* string
"\"" idle
"\\" string_escape recolor=-1
"%" string_control recolor=-1
:string_escape StringEscape string
* string
"x" string_hex
"0-7" string_octal2
"\n" string recolor=-2
# \x will consume all successive hex digits (ANSI C).
:string_hex StringEscape string
* string noeat
"0-9a-fA-F" string_hex
:string_octal2 StringEscape string
* string noeat
"0-7" string_octal3
:string_octal3 StringEscape string
* string noeat
"0-7" string
:string_control StringEscape string
* string
"\"" string noeat
"\n" idle
"\\" string_escape recolor=-1
"0-9.\-+ #hjILtz$" string_control
:char Character string
* char
"\n" idle
"'" idle
"\\" char_escape recolor=-1
:char_escape CharacterEscape string
* char
"x" char_hex
"0-7" char_octal2
"\n" char recolor=-2
# \x will consume all successive hex digits (ANSI C).
:char_hex CharacterEscape string
* char noeat
"0-9a-fA-F" char_hex
:char_octal2 CharacterEscape string
* char noeat
"0-7" char_octal3
:char_octal3 CharacterEscape string
* char noeat
"0-7" char
# It feels to me like this could use some more work...
:ident Ident
* idle noeat strings
"TRUE" bool
"FALSE" bool
"NULL" val
"Inf" val
"NaN" val
"NA" val
"NA_integer_" val
"NA_real_" val
"NA_complex_" val
"NA_character_" val
"if" kw
"else" kw
"repeat" kw
"while" kw
"function" kw
"for" kw
"in" kw
"next" kw
"break" kw
done
"\c." ident
:bool Boolean
* idle noeat
:val Constant
* idle noeat
:kw Keyword
* idle noeat
|