erlang.jsf (8694B)
1 # JOE syntax highlight file for Erlang 2 # by Christian Nicolai (http://mycrobase.de) 3 # with contributions from Jonas Rosling and Andrew Lisin 4 5 # TODO Handle type information :: 6 # TODO implement subroutines for cleaner and more correct implementation. 7 # TODO Probably use less colors to be less distractive. 8 9 10 =Idle 11 =Ident 12 =Comment 13 =Constant 14 =String +Constant 15 =String_mod +StringEscape 16 =String_esc +StringEscape 17 =Number +Constant 18 =Keyword 19 =Operator +Keyword 20 =Type 21 =Module +Type 22 =Brace +Control 23 =Bracket +Control 24 =Character +String +Constant 25 =CharacterEscape +StringEscape +Character 26 =Attribute +Preproc 27 =Variable #+DefinedIdent +Ident ?? 28 =Record +Include +Preproc 29 =Macro +Define 30 =Guard +Conditional +Statement +Bif 31 =Bif +DefinedFunction 32 =Fun +Ident 33 =Recatt 34 35 36 :idle Idle 37 * idle 38 "A-Z_" variable noeat 39 "%" line_comment noeat 40 "\"" string recolor=-1 41 "'" quoted_atom mark 42 "0-9" decimal recolor=-1 43 "[]" brack recolor=-1 44 "{}" brace recolor=-1 45 "-" maybe_attribute buffer 46 "a-z" atom buffer mark noeat 47 "#" record recolor=-1 48 "$" char recolor=-1 49 "?" is_macro mark 50 "<|" lc buffer 51 52 :lc Idle 53 * idle noeat strings 54 "<-" kw 55 "||" kw 56 done 57 "-<|" lc 58 59 :pipe Idle 60 * idle noeat 61 "|" kw recolormark 62 63 :is_macro Idle 64 * macro recolormark noeat 65 "a-zA-Z0-9_@" is_macro 66 67 :macro Macro 68 * idle noeat 69 70 :char Character string 71 * idle 72 "\\" charesc 73 74 :charesc Character string 75 * idle 76 77 :line_comment Comment comment 78 * line_comment 79 "@" is_edoc noeat buffer 80 "BFHNTX" line_comment noeat call=comment_todo.comment_todo() 81 "\n" idle 82 83 :is_edoc Comment comment 84 * line_comment noeat strings 85 "@clear" edoc 86 "@docfile" edoc 87 "@headerfle" edoc 88 "@todo" edoc 89 "@TODO" edoc 90 "@type" edoc 91 "@reference" edoc 92 "@see" edoc 93 "@since" edoc 94 "@deprecated" edoc 95 "@hidden" edoc 96 "@private" edoc 97 "@equiv" edoc 98 "@throws" edoc 99 "@author" edoc 100 "@copyright" edoc 101 "@version" edoc 102 "@title" edoc 103 "@spec" edoc 104 "@doc" edoc 105 "@end" edoc 106 done 107 "A-Za-z@" is_edoc 108 109 :edoc Keyword 110 * line_comment noeat 111 112 :variable Variable 113 * idle noeat 114 "a-zA-Z0-9_" variable 115 116 :record Record 117 * idle noeat 118 "a-z" rec noeat 119 "'" qtrec recolor=-1 120 121 :rec Record 122 * idle noeat 123 "a-zA-Z0-9_@" rec 124 "." recatt recolor=-1 125 126 :qtrec Record 127 * qtrec 128 "'" rec 129 130 :recatt Recatt 131 * idle noeat 132 "a-zA-Z_" recatt 133 "#" record 134 135 # STRINGS 136 :string String string 137 * string 138 "\\" string_escape recolor=-1 139 "~" string_ mark 140 "\"" idle 141 142 :string_escape String_esc string 143 * string 144 145 :string_ String string 146 * string_mod noeat 147 "0-9" string_f 148 "t" string_mod 149 :string_f String string 150 * string_mod noeat 151 "0-9*" string_f 152 "." string_p 153 154 :string_p String string 155 * string_mod noeat 156 "0-9*" string_p 157 158 :string_mod String string 159 * string 160 "cfegswpWPBX#bx+ni" string_modifier recolormark noeat 161 162 :string_modifier String_mod string 163 * string 164 # END STRINGS 165 :decimal Number 166 * idle noeat 167 "0-9" decimal 168 "." float 169 "#" base 170 171 :float Number 172 * idle noeat 173 "0-9" float 174 "Ee" eintval 175 176 :base Number 177 * idle noeat 178 "0-9A-Fa-f" base 179 180 :eintval Number 181 * eint noeat 182 "-" eint 183 184 :eint Number 185 * idle noeat 186 "0-9" eint 187 188 :brace Brace 189 * idle noeat 190 191 :brack Bracket 192 * idle noeat 193 194 :maybe_attribute Idle 195 * idle noeat strings 196 "-module" attribute 197 "-export" attribute 198 "-import" attribute 199 "-compile" attribute 200 "-ifdef" attribute 201 "-endif" attribute 202 "-define" attribute 203 "-file" attribute 204 "-type" attribute 205 "-opaque" attribute 206 "-export_type" attribute 207 "-spec" attribute 208 "-author" attribute 209 "-copyright" attribute 210 "-include" attribute 211 "-include_lib" attribute 212 "-vsn" attribute 213 "-behaviour" attribute 214 "-behavior" attribute 215 "-record" attribute 216 "-on_load" attribute 217 "-connect_all" attribute 218 "-hidden" attribute 219 "-name" attribute 220 "-setcookie" attribute 221 "-sname" attribute 222 "-mode" attribute 223 done 224 "a-z_" maybe_attribute 225 226 :attribute Attribute 227 * idle noeat 228 229 :no_atom Idle 230 * idle noeat 231 " " no_atom 232 "(" function recolormark noeat 233 ":" module recolormark noeat 234 "/" funarity 235 236 :module Module 237 * idle noeat 238 239 :function Fun 240 * idle noeat 241 242 :funarity Fun 243 * function recolormark noeat 244 "0-9" idle 245 246 :kw Keyword 247 * idle noeat 248 249 :guard Guard 250 * idle noeat 251 252 :rterr Guard 253 * idle noeat 254 255 :bif Bif 256 * idle recolormark noeat 257 " " bif 258 "(" idle noeat 259 260 :type Type 261 * idle recolormark noeat 262 "(" idle noeat 263 ":" module recolormark noeat 264 265 :quoted_atom Idle 266 * quoted_atom 267 "'" no_atom 268 269 # This implementation is sort of funky. 270 # Most of the cases it's correct but some highlighting may be wrong. 271 # Should be looked over... 272 :atom Ident 273 * no_atom noeat strings 274 "after" kw 275 "and" kw 276 "andalso" kw 277 "band" kw 278 "begin" kw 279 "bnot" kw 280 "bor" kw 281 "bsl" kw 282 "bsr" kw 283 "bxor" kw 284 "case" kw 285 "catch" kw 286 "cond" kw 287 "div" kw 288 "end" kw 289 "fun" kw 290 "if" kw 291 "let" kw 292 "not" kw 293 "of" kw 294 "or" kw 295 "orelse" kw 296 "query" kw 297 "receive" kw 298 "rem" kw 299 "try" kw 300 "when" kw 301 "xor" kw 302 "any" type 303 "none" type 304 "pid" type 305 "port" type 306 "reference" type 307 "float" type 308 "atom" type 309 "binary" type 310 "integer" type 311 "list" type 312 "improper_list" type 313 "maybe_improper_list" type 314 "tuple" type 315 "term" type 316 "boolean" type 317 "byte" type 318 "char" type 319 "non_neg_integer" type 320 "pos_integer" type 321 "neg_integer" type 322 "number" type 323 "string" type 324 "nonempty_string" type 325 "iolist" type 326 "module" type 327 "mfa" type 328 #interfears with the bif "node" type 329 "timeout" type 330 "no_return" type 331 "badarg" rterr 332 "badarith" rterr 333 "badmatch" rterr 334 "function_clause" rterr 335 "case_clause" rterr 336 "if_clause" rterr 337 "try_clause" rterr 338 "undef" rterr 339 "badfun" rterr 340 "badarity" rterr 341 "timeout_value" rterr 342 "noproc" rterr 343 "nocatch" rterr 344 "system_limit" rterr 345 "is_atom" guard 346 "is_binary" guard 347 "is_bitstream" guard 348 "is_boolean" guard 349 "is_float" guard 350 "is_function" guard 351 "is_integer" guard 352 "is_list" guard 353 "is_number" guard 354 "is_pid" guard 355 "is_port" guard 356 "is_record" guard 357 "is_reference" guard 358 "is_tuple" guard 359 "abs" bif 360 "adler32" bif 361 "adler32_combine" bif 362 "append_element" bif 363 "apply" bif 364 "atom_to_binary" bif 365 "atom_to_list" bif 366 "binary_part" bif 367 "binary_to_atom" bif 368 "binary_to_existing_atom" bif 369 "binary_to_list" bif 370 "bitstring_to_list" bif 371 "binary_to_term" bif 372 "bit_size" bif 373 "bump_reductions" bif 374 "byte_size" bif 375 "cancel_timer" bif 376 "check_old_code" bif 377 "check_process_code" bif 378 "crc32" bif 379 "crc32_combine" bif 380 "date" bif 381 "decode_packet" bif 382 "delete_module" bif 383 "demonitor" bif 384 "disconnect_node" bif 385 "display" bif 386 "element" bif 387 "erase" bif 388 "error" bif 389 "exit" bif 390 "external_size" bif 391 "float" bif 392 "float_to_list" bif 393 "fun_info" bif 394 "fun_to_list" bif 395 "function_exported" bif 396 "garbage_collect" bif 397 "get" bif 398 "get_cookie" bif 399 "get_keys" bif 400 "get_stacktrace" bif 401 "group_leader" bif 402 "halt" bif 403 "hash" bif 404 "hd" bif 405 "hibernate" bif 406 "integer_to_list" bif 407 "iolist_to_binary" bif 408 "iolist_size" bif 409 "is_alive" bif 410 "is_builtin" bif 411 "is_process_alive" bif 412 "length" bif 413 "link" bif 414 "list_to_atom" bif 415 "list_to_binary" bif 416 "list_to_bitstring" bif 417 "list_to_existing_atom" bif 418 "list_to_float" bif 419 "list_to_integer" bif 420 "list_to_pid" bif 421 "list_to_tuple" bif 422 "load_module" bif 423 "load_nif" bif 424 "loaded" bif 425 "local_time" bif 426 "local_time_to_universaltime" bif 427 "make_ref" bif 428 "make_tuple" bif 429 "max" bif 430 "md5" bif 431 "md5_final" bif 432 "md5_init" bif 433 "md5_update" bif 434 "memory" bif 435 "min" bif 436 "module_loaded" bif 437 "monitor" bif 438 "monitor_node" bif 439 "nif_error" bif 440 "node" bif 441 "nodes" bif 442 "now" bif 443 "open_port" bif 444 "phash" bif 445 "phash2" bif 446 "pid_to_list" bif 447 "port_close" bif 448 "port_command" bif 449 "port_connect" bif 450 "port_control" bif 451 "port_call" bif 452 "port_info" bif 453 "port_to_list" bif 454 "ports" bif 455 "pre_loaded" bif 456 "process_display" bif 457 "process_flag" bif 458 "process_info" bif 459 "processes" bif 460 "purge_module" bif 461 "put" bif 462 "raise" bif 463 "read_timer" bif 464 "ref_to_list" bif 465 "register" bif 466 "registered" bif 467 "resume_process" bif 468 "round" bif 469 "self" bif 470 "send" bif 471 "send_after" bif 472 "send_nosuspend" bif 473 "set_cookie" bif 474 "setelement" bif 475 "size" bif 476 "spawn" bif 477 "spawn_link" bif 478 "spawn_monitor" bif 479 "spawn_opt" bif 480 "split_binary" bif 481 "start_timer" bif 482 "statistics" bif 483 "suspended_process" bif 484 "system_flag" bif 485 "system_info" bif 486 "system_monitor" bif 487 "system_profile" bif 488 "term_to_binary" bif 489 "throw" bif 490 "time" bif 491 "tl" bif 492 "trace" bif 493 "trace_deliviered" bif 494 "trace_info" bif 495 "trace_pattern" bif 496 "trunc" bif 497 "tuple_size" bif 498 "tuple_to_list" bif 499 "universaltime" bif 500 "universaltime_to_localtime" bif 501 "unlink" bif 502 "unregister" bif 503 "whereis" bif 504 "yield" bif 505 done 506 "a-zA-Z0-9_@" atom