ada.jsf (2704B)
1 # JOE syntax highlight file for ADA 2 3 # Define colors 4 5 =Idle 6 =Comment 7 =Constant 8 =Character +Constant 9 =Number +Constant 10 =String +Constant 11 =StringEscape +Escape +String 12 =Keyword 13 =Operator +Keyword 14 15 :idle Idle 16 * idle 17 "-" maybe_comment 18 "'" char recolor=-1 19 "\"" string recolor=-1 20 "0-9" first_digit recolor=-1 21 "." maybe_float 22 "\"" string recolor=-1 23 "Bb" maybe_binary buffer 24 "Oo" maybe_octal buffer 25 "Xx" maybe_hex buffer 26 "ac-np-wyzAC-NP-WYZ" ident buffer 27 28 :maybe_comment Idle 29 * idle noeat 30 "-" comment recolor=-2 31 32 :comment Comment comment 33 * comment 34 "BFHNTX" comment noeat call=comment_todo.comment_todo() 35 "\n" idle 36 37 38 # Character constant 39 40 :char Idle 41 * char1 42 43 :char1 Idle 44 * idle 45 "'" char2 recolor=-3 46 47 :char2 Character 48 * idle noeat 49 50 # Strings 51 52 :maybe_binary Idle 53 * ident noeat 54 "\"" string recolor=-2 55 56 :maybe_octal Idle 57 * ident noeat 58 "\"" string recolor=-2 59 60 :maybe_hex Idle 61 * ident noeat 62 "\"" string recolor=-2 63 64 :string String string 65 * string 66 "\n" idle 67 "\"" idle 68 "\\" string_escape recolor=-1 69 70 :string_escape StringEscape string 71 * string 72 "\n" string recolor=-2 73 74 # Integer constants 75 76 :first_digit Number 77 * idle noeat 78 "." float 79 "_" first_digit 80 "0-9" first_digit 81 82 # Floating point 83 84 :maybe_float Number 85 * idle recolor=-2 noeat 86 "0-9" float recolor=-2 87 88 :float Number 89 * idle noeat 90 "eE" epart 91 "0-9" float 92 93 :epart Number 94 * idle noeat 95 "0-9+\-" enum 96 97 :enum Number 98 * idle noeat 99 "0-9" enum 100 101 # Identifiers 102 103 :ident Idle 104 * quote noeat istrings 105 "abort" kw 106 "abs" operator 107 "abstract" kw 108 "accept" kw 109 "aliased" kw 110 "all" kw 111 "and" operator 112 "array" kw 113 "at" kw 114 "begin" kw 115 "body" kw 116 "case" kw 117 "constant" kw 118 "declare" kw 119 "delay" kw 120 "delta" kw 121 "digits" kw 122 "do" kw 123 "else" kw 124 "elsif" kw 125 "end" kw 126 "entry" kw 127 "exception" kw 128 "exit" kw 129 "for" kw 130 "function" kw 131 "generic" kw 132 "goto" kw 133 "if" kw 134 "in" kw 135 "interface" kw 136 "is" kw 137 "limited" kw 138 "loop" kw 139 "mod" kw 140 "new" kw 141 "not" operator 142 "null" kw 143 "of" kw 144 "or" operator 145 "others" kw 146 "out" kw 147 "overriding" kw 148 "package" kw 149 "pragma" kw 150 "private" kw 151 "procedure" kw 152 "protected" kw 153 "raise" kw 154 "range" kw 155 "record" kw 156 "rem" operator 157 "renames" kw 158 "requeue" kw 159 "return" kw 160 "reverse" kw 161 "select" kw 162 "separate" kw 163 "subtype" kw 164 "synchronized" kw 165 "tagged" kw 166 "task" kw 167 "terminate" kw 168 "then" kw 169 "type" kw 170 "until" kw 171 "use" kw 172 "when" kw 173 "while" kw 174 "with" kw 175 "xor" operator 176 done 177 "a-zA-Z0-9_" ident 178 179 :operator Operator 180 * idle noeat 181 182 :kw Keyword 183 * idle noeat 184 185 # identifiers separated with quote ' 186 187 :quote Idle 188 * idle noeat 189 "'" quote_word 190 191 :quote_word Idle 192 * idle noeat 193 "a-zA-Z" ident buffer