joe-syntax/erlang.jsf

498 lines
8.1 KiB
Plaintext
Raw Normal View History

# JOE syntax highlight file for Erlang
# TODO Handle type information ::
# TODO implement subroutines for cleaner and more correct implementation.
# TODO Probably use less colors to be less distractive.
=Idle
2012-07-03 14:48:49 +02:00
=Comment fg_030
=String fg_110
2012-07-09 09:49:38 +02:00
=String_mod fg_200 bold
=String_esc fg_000 bold
2012-07-24 22:50:03 +02:00
=Int fg_033
2012-07-03 14:48:49 +02:00
=Record fg_530
2012-07-10 16:32:40 +02:00
=Recatt
2012-07-03 14:48:49 +02:00
=Fun fg_115
=Module fg_101
=Keyword bold
=Guard fg_200
=Bif fg_501
2012-07-24 23:12:33 +02:00
=Type fg_141
2012-07-24 22:50:03 +02:00
=Brace fg_440
=Brack fg_311
=Macro fg_330
=Variable fg_310
2012-07-03 14:48:49 +02:00
=Attribute fg_505
2012-07-22 21:41:03 +02:00
=Char fg_330 bold
:idle Idle
* idle
2012-07-03 14:48:49 +02:00
"A-Z_" variable noeat
"%" line_comment noeat
"\"" string recolor=-1
"'" quoted_atom mark
"0-9" decimal recolor=-1
2012-07-03 14:48:49 +02:00
"[]" brack recolor=-1
"{}" brace recolor=-1
"-" maybe_attribute buffer
2012-07-03 14:48:49 +02:00
"a-z" atom buffer mark noeat
"#" record recolor=-1
2012-07-22 21:41:03 +02:00
"$" char recolor=-1
"?" is_macro mark
"<|" lc buffer
:lc Idle
* idle noeat strings
"<-" kw
"||" kw
done
"-<|" lc
:pipe Idle
* idle noeat
"|" kw recolormark
:is_macro Idle
* macro recolormark noeat
"a-zA-Z0-9_@" is_macro
:macro Macro
* idle noeat
2012-07-22 21:41:03 +02:00
:char Char
* idle
2012-07-22 21:41:03 +02:00
"\\" charesc
2012-07-22 21:41:03 +02:00
:charesc Char
* idle
:line_comment Comment
* line_comment
2012-07-10 14:49:42 +02:00
"@" is_edoc noeat buffer
"\n" idle
2012-07-10 14:49:42 +02:00
:is_edoc Comment
* line_comment noeat strings
"@clear" edoc
"@docfile" edoc
"@headerfle" edoc
"@todo" edoc
"@TODO" edoc
"@type" edoc
"@reference" edoc
"@see" edoc
"@since" edoc
"@deprecated" edoc
"@hidden" edoc
"@private" edoc
"@equiv" edoc
"@throws" edoc
"@author" edoc
"@copyright" edoc
"@version" edoc
"@title" edoc
"@spec" edoc
"@doc" edoc
"@end" edoc
done
2012-07-21 16:30:42 +02:00
"A-Za-z@" is_edoc
2012-07-10 14:49:42 +02:00
:edoc Keyword
* line_comment noeat
:variable Variable
* idle noeat
2012-07-03 14:48:49 +02:00
"a-zA-Z0-9_" variable
2012-07-03 14:48:49 +02:00
:record Record
* idle noeat
2012-07-24 22:05:52 +02:00
"a-z" rec noeat
"'" qtrec recolor=-1
:rec Record
* idle noeat
"a-zA-Z0-9_@" rec
2012-07-03 14:48:49 +02:00
"." recatt recolor=-1
2012-07-24 22:05:52 +02:00
:qtrec Record
* qtrec
"'" rec
2012-07-03 14:48:49 +02:00
:recatt Recatt
* idle noeat
"a-zA-Z_" recatt
"#" record
2012-07-03 14:48:49 +02:00
2012-07-09 09:49:38 +02:00
# STRINGS
2012-07-03 14:48:49 +02:00
:string String
* string
2012-07-03 16:02:37 +02:00
"\\" string_escape recolor=-1
"~" string_ mark
"\"" idle
2012-07-03 16:02:37 +02:00
:string_escape String_esc
2012-07-03 14:48:49 +02:00
* string
2012-07-03 16:02:37 +02:00
:string_ String
* string_mod noeat
"0-9" string_f
"t" string_mod
:string_f String
* string_mod noeat
"0-9*" string_f
"." string_p
2012-07-03 14:48:49 +02:00
2012-07-03 16:02:37 +02:00
:string_p String
* string_mod noeat
"0-9*" string_p
:string_mod String
2012-07-09 09:49:38 +02:00
* string
"cfegswpWPBX#bx+ni" string_modifier recolormark noeat
2012-07-03 16:02:37 +02:00
2012-07-09 09:49:38 +02:00
:string_modifier String_mod
2012-07-03 16:02:37 +02:00
* string
# END STRINGS
2012-07-03 14:48:49 +02:00
:decimal Int
* idle noeat
"0-9" decimal
"." float
"#" base
2012-07-03 14:48:49 +02:00
:float Int
* idle noeat
"0-9" float
2012-07-24 22:05:52 +02:00
"Ee" eintval
:base Int
* idle noeat
2012-07-22 21:41:03 +02:00
"0-9A-Fa-f" base
:eintval Int
* eint noeat
"-" eint
:eint Int
* idle noeat
"0-9" eint
:brace Brace
* idle noeat
2012-07-03 14:48:49 +02:00
:brack Brack
* idle noeat
:maybe_attribute Idle
* idle noeat strings
"-module" attribute
"-export" attribute
2012-07-22 21:48:49 +02:00
"-import" attribute
"-compile" attribute
"-ifdef" attribute
"-endif" attribute
2012-07-22 21:48:49 +02:00
"-define" attribute
"-file" attribute
"-type" attribute
"-opaque" attribute
"-export_type" attribute
"-spec" attribute
"-author" attribute
"-copyright" attribute
"-include" attribute
"-include_lib" attribute
"-vsn" attribute
"-behaviour" attribute
2012-07-22 23:52:55 +02:00
"-behavior" attribute
"-record" attribute
2012-07-22 21:48:49 +02:00
"-on_load" attribute
2012-07-22 23:40:56 +02:00
"-connect_all" attribute
"-hidden" attribute
"-name" attribute
"-setcookie" attribute
"-sname" attribute
"-mode" attribute
done
2012-07-03 14:48:49 +02:00
"a-z_" maybe_attribute
:attribute Attribute
* idle noeat
:no_atom Idle
* idle noeat
" " no_atom
"(" function recolormark noeat
":" module recolormark noeat
"/" funarity
:module Module
* idle noeat
:function Fun
* idle noeat
:funarity Fun
* function recolormark noeat
2015-01-08 16:47:20 +01:00
"0-9" idle
:kw Keyword
* idle noeat
:guard Guard
* idle noeat
2012-07-22 23:40:56 +02:00
:rterr Guard
* idle noeat
:bif Bif
* idle recolormark noeat
" " bif
"(" idle noeat
2012-07-24 23:12:33 +02:00
:type Type
* idle recolormark noeat
"(" idle noeat
":" module recolormark noeat
:quoted_atom Idle
* quoted_atom
"'" no_atom
2012-07-24 23:12:33 +02:00
# This implementation is sort of funky.
# Most of the cases it's correct but some highlighting may be wrong.
# Should be looked over...
:atom Idle
2012-07-09 09:49:38 +02:00
* no_atom noeat strings
"after" kw
"and" kw
"andalso" kw
"band" kw
"begin" kw
"bnot" kw
"bor" kw
"bsl" kw
"bsr" kw
"bxor" kw
"case" kw
"catch" kw
"cond" kw
"div" kw
"end" kw
"fun" kw
"if" kw
"let" kw
"not" kw
"of" kw
"or" kw
"orelse" kw
"query" kw
"receive" kw
"rem" kw
"try" kw
"when" kw
"xor" kw
2012-07-24 23:12:33 +02:00
"any" type
"none" type
"pid" type
"port" type
"reference" type
"float" type
"atom" type
"binary" type
"integer" type
"list" type
"improper_list" type
"maybe_improper_list" type
"tuple" type
"term" type
"boolean" type
"byte" type
"char" type
"non_neg_integer" type
"pos_integer" type
"neg_integer" type
"number" type
"string" type
"nonempty_string" type
"iolist" type
"module" type
"mfa" type
#interfears with the bif "node" type
"timeout" type
"no_return" type
2012-07-22 23:40:56 +02:00
"badarg" rterr
"badarith" rterr
"badmatch" rterr
"function_clause" rterr
2012-07-22 23:52:55 +02:00
"case_clause" rterr
2012-07-22 23:40:56 +02:00
"if_clause" rterr
"try_clause" rterr
"undef" rterr
"badfun" rterr
"badarity" rterr
"timeout_value" rterr
"noproc" rterr
"nocatch" rterr
"system_limit" rterr
"is_atom" guard
"is_binary" guard
"is_bitstream" guard
"is_boolean" guard
"is_float" guard
"is_function" guard
"is_integer" guard
"is_list" guard
"is_number" guard
"is_pid" guard
"is_port" guard
"is_record" guard
"is_reference" guard
"is_tuple" guard
"abs" bif
"adler32" bif
"adler32_combine" bif
"append_element" bif
"apply" bif
"atom_to_binary" bif
"atom_to_list" bif
"binary_part" bif
"binary_to_atom" bif
"binary_to_existing_atom" bif
"binary_to_list" bif
"bitstring_to_list" bif
"binary_to_term" bif
"bit_size" bif
"bump_reductions" bif
"byte_size" bif
"cancel_timer" bif
"check_old_code" bif
"check_process_code" bif
"crc32" bif
"crc32_combine" bif
"date" bif
"decode_packet" bif
"delete_module" bif
"demonitor" bif
"disconnect_node" bif
"display" bif
"element" bif
"erase" bif
"error" bif
"exit" bif
"external_size" bif
"float" bif
"float_to_list" bif
"fun_info" bif
"fun_to_list" bif
"function_exported" bif
"garbage_collect" bif
"get" bif
"get_cookie" bif
"get_keys" bif
"get_stacktrace" bif
"group_leader" bif
"halt" bif
"hash" bif
"hd" bif
"hibernate" bif
"integer_to_list" bif
"iolist_to_binary" bif
"iolist_size" bif
"is_alive" bif
"is_builtin" bif
"is_process_alive" bif
"length" bif
"link" bif
"list_to_atom" bif
"list_to_binary" bif
"list_to_bitstring" bif
"list_to_existing_atom" bif
"list_to_float" bif
"list_to_integer" bif
"list_to_pid" bif
"list_to_tuple" bif
"load_module" bif
"load_nif" bif
"loaded" bif
"local_time" bif
"local_time_to_universaltime" bif
"make_ref" bif
"make_tuple" bif
"max" bif
"md5" bif
"md5_final" bif
"md5_init" bif
"md5_update" bif
"memory" bif
"min" bif
"module_loaded" bif
"monitor" bif
"monitor_node" bif
"nif_error" bif
"node" bif
"nodes" bif
"now" bif
"open_port" bif
"phash" bif
"phash2" bif
"pid_to_list" bif
"port_close" bif
"port_command" bif
"port_connect" bif
"port_control" bif
"port_call" bif
"port_info" bif
"port_to_list" bif
"ports" bif
"pre_loaded" bif
"process_display" bif
"process_flag" bif
"process_info" bif
"processes" bif
"purge_module" bif
"put" bif
"raise" bif
"read_timer" bif
"ref_to_list" bif
"register" bif
"registered" bif
"resume_process" bif
"round" bif
"self" bif
"send" bif
"send_after" bif
"send_nosuspend" bif
"set_cookie" bif
"setelement" bif
"size" bif
"spawn" bif
"spawn_link" bif
"spawn_monitor" bif
"spawn_opt" bif
"split_binary" bif
"start_timer" bif
"statistics" bif
"suspended_process" bif
"system_flag" bif
"system_info" bif
"system_monitor" bif
"system_profile" bif
"term_to_binary" bif
"throw" bif
"time" bif
"tl" bif
"trace" bif
"trace_deliviered" bif
"trace_info" bif
"trace_pattern" bif
"trunc" bif
"tuple_size" bif
"tuple_to_list" bif
"universaltime" bif
"universaltime_to_localtime" bif
"unlink" bif
"unregister" bif
"whereis" bif
"yield" bif
2012-07-03 14:48:49 +02:00
done
2012-07-09 09:49:38 +02:00
"a-zA-Z0-9_@" atom