dotfiles

My dotfiles.
Log | Files | Refs | LICENSE

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