vhdl.jsf (2967B)
1 # JOE syntax highlight file for VHDL 2 3 # Define colors 4 5 =Idle 6 =Comment green 7 =Constant cyan 8 =Escape bold cyan 9 =Keyword bold 10 =Operator bold 11 12 # All following states are for when we're not in a preprocessor line 13 14 :idle Idle 15 * idle 16 "-" maybe_comment 17 "'" char recolor=-1 18 "\"" string recolor=-1 19 "0-9" first_digit recolor=-1 20 "." maybe_float 21 "\"" string recolor=-1 22 "Bb" maybe_binary buffer 23 "Oo" maybe_octal buffer 24 "Xx" maybe_hex buffer 25 "ac-np-wyzAC-NP-WYZ" ident buffer 26 27 :maybe_comment Idle 28 * idle noeat 29 "-" comment recolor=-2 30 31 :comment Comment 32 * comment 33 "\n" idle 34 35 36 # Character constant 37 38 :char Constant 39 * char 40 "'" idle 41 42 # Strings 43 44 :maybe_binary Idle 45 * ident noeat 46 "\"" string recolor=-2 47 48 :maybe_octal Idle 49 * ident noeat 50 "\"" string recolor=-2 51 52 :maybe_hex Idle 53 * ident noeat 54 "\"" string recolor=-2 55 56 :string Constant 57 * string 58 "\n" idle 59 "\"" idle 60 "\\" string_escape recolor=-1 61 62 :string_escape Escape 63 * string 64 "\n" string recolor=-2 65 66 # Integer constants 67 68 :first_digit Constant 69 * idle noeat 70 "." float 71 "_" first_digit 72 "0-9" first_digit 73 74 # Floating point 75 76 :maybe_float Constant 77 * idle recolor=-2 noeat 78 "0-9" float recolor=-2 79 80 :float Constant 81 * idle noeat 82 "eE" epart 83 "0-9" float 84 85 :epart Constant 86 * idle noeat 87 "0-9+\-" enum 88 89 :enum Constant 90 * idle noeat 91 "0-9" enum 92 93 # Identifiers 94 95 :ident Idle 96 * quote noeat istrings 97 "abs" operator 98 "access" kw 99 "after" kw 100 "alias" kw 101 "all" kw 102 "and" operator 103 "architecture" kw 104 "array" kw 105 "assert" kw 106 "attribute" kw 107 "begin" kw 108 "block" kw 109 "body" kw 110 "buffer" kw 111 "bus" kw 112 "case" kw 113 "component" kw 114 "configuration" kw 115 "constant" kw 116 "disconnect" kw 117 "downto" kw 118 "else" kw 119 "elsif" kw 120 "end" kw 121 "entity" kw 122 "exit" kw 123 "file" kw 124 "for" kw 125 "function" kw 126 "generate" kw 127 "generic" kw 128 "group" kw 129 "guarded" kw 130 "if" kw 131 "impure" kw 132 "in" kw 133 "inertial" kw 134 "inout" kw 135 "is" kw 136 "label" kw 137 "library" kw 138 "linkage" kw 139 "literal" kw 140 "loop" kw 141 "map" kw 142 "mod" operator 143 "nand" operator 144 "new" kw 145 "next" kw 146 "nor" operator 147 "not" operator 148 "null" kw 149 "of" kw 150 "on" kw 151 "open" kw 152 "or" operator 153 "others" kw 154 "out" kw 155 "package" kw 156 "port" kw 157 "postponed" kw 158 "procedure" kw 159 "process" kw 160 "process" kw 161 "pure" kw 162 "range" kw 163 "record" kw 164 "register" kw 165 "reject" kw 166 "rem" operator 167 "report" kw 168 "return" kw 169 "rol" operator 170 "ror" operator 171 "select" kw 172 "severity" kw 173 "shared" kw 174 "signal" kw 175 "sla" operator 176 "sll" operator 177 "sra" operator 178 "srl" operator 179 "subtype" kw 180 "then" kw 181 "to" kw 182 "transport" kw 183 "type" kw 184 "unaffected" kw 185 "units" kw 186 "until" kw 187 "use" kw 188 "variable" kw 189 "wait" kw 190 "when" kw 191 "while" kw 192 "with" kw 193 "xnor" operator 194 "xor" operator 195 done 196 "a-zA-Z0-9_" ident 197 198 :operator Operator 199 * idle noeat 200 201 :kw Keyword 202 * idle noeat 203 204 # identifiers separated with quote ' 205 206 :quote Idle 207 * idle noeat 208 "'" quote_word 209 210 :quote_word Idle 211 * idle noeat 212 "a-zA-Z" ident buffer