You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
284 lines
4.2 KiB
284 lines
4.2 KiB
# JOE syntax highlight file for JAVA |
|
|
|
# Needs: \uXXXX for unicode in strings |
|
# improve escape parsing |
|
|
|
=Idle |
|
=Comment green |
|
=CommentLabel bold green |
|
=Constant cyan |
|
=Escape bold cyan |
|
=Type bold |
|
=Keyword bold |
|
=Operator bold |
|
=Bad bold red |
|
=Brace magenta |
|
=Control |
|
|
|
=Methods |
|
|
|
:begin Idle |
|
* begin noeat call=.java() |
|
|
|
# |
|
# Java as a subroute- for use as java script in html |
|
# |
|
|
|
.subr java |
|
|
|
:idle Idle |
|
* idle |
|
"\n" idle |
|
"/" slash |
|
"0" first_digit recolor=-1 |
|
"1-9" decimal recolor=-1 |
|
"." maybe_float |
|
"\"" string recolor=-1 |
|
"'" char recolor=-1 |
|
"a-zA-Z_" ident mark buffer |
|
"{}" brace recolor=-1 |
|
",:;=()><[]*&|!~+\-%^" control recolor=-1 |
|
|
|
:maybe_done Control |
|
* idle noeat |
|
"/" idle noeat return recolor=-2 |
|
|
|
:brace Brace |
|
* idle noeat |
|
|
|
:control Control |
|
* idle noeat |
|
|
|
:slash Idle |
|
* idle noeat |
|
"*" comment recolor=-2 |
|
"/" line_comment recolor=-2 |
|
|
|
:comment Comment |
|
* comment |
|
# might be TODO label |
|
"BFHNTX" comment noeat call=.comment_todo() |
|
"*" maybe_end_comment |
|
|
|
:maybe_end_comment Comment |
|
* comment noeat |
|
"/" idle |
|
"*" maybe_end_comment |
|
|
|
:line_comment Comment |
|
* line_comment |
|
# might be TODO label |
|
"BFHNTX" line_comment noeat call=.comment_todo() |
|
"\n" idle |
|
|
|
:first_digit Constant |
|
* idle noeat |
|
"xX" hex |
|
"." float |
|
"eE" epart |
|
"0-7" octal |
|
"89" bad_number recolor=-1 |
|
|
|
:bad_number Bad |
|
* idle noeat |
|
"0-9" bad_number |
|
|
|
:octal Constant |
|
* idle noeat |
|
"0-7" octal |
|
"89" bad_number recolor=-1 |
|
|
|
:hex Constant |
|
* idle noeat |
|
"0-9A-Fa-f" hex |
|
|
|
:decimal Constant |
|
* idle noeat |
|
"0-9" decimal |
|
"eE" epart |
|
"." float |
|
|
|
:maybe_float Constant |
|
* idle recolor=-2 noeat |
|
"0-9" float recolor=-2 |
|
|
|
:float Constant |
|
* idle noeat |
|
"eE" epart |
|
"0-9" float |
|
|
|
:epart Constant |
|
* idle noeat |
|
"0-9+\-" enum |
|
|
|
:enum Constant |
|
* idle noeat |
|
"0-9" enum |
|
|
|
:string Constant |
|
* string |
|
"\"" idle |
|
"\\" string_escape recolor=-1 |
|
"%" string_control recolor=-1 |
|
|
|
:string_escape Escape |
|
* string |
|
"x" string_hex1 |
|
"0-7" string_octal2 |
|
"\n" string recolor=-2 |
|
|
|
:string_hex1 Escape |
|
* string noeat |
|
"0-9a-fA-F" string_hex2 |
|
|
|
:string_hex2 Escape |
|
* string noeat |
|
"0-9a-fA-F" string |
|
|
|
:string_octal2 Escape |
|
* string noeat |
|
"0-7" string_octal3 |
|
|
|
:string_octal3 Escape |
|
* string noeat |
|
"0-7" string |
|
|
|
:string_control Escape |
|
* string_control |
|
"\n" reset |
|
"diouxXeEfFgGaAcspn%SC" string |
|
|
|
:char Constant |
|
* char |
|
"\n" reset |
|
"'" idle |
|
"\\" char_escape recolor=-1 |
|
|
|
:char_escape Escape |
|
* char |
|
"x" char_hex1 |
|
"0-7" char_octal2 |
|
"\n" char recolor=-2 |
|
|
|
:char_hex1 Escape |
|
* char noeat |
|
"0-9a-fA-F" char_hex2 |
|
|
|
:char_hex2 Escape |
|
* char noeat |
|
"0-9a-fA-F" char |
|
|
|
:char_octal2 Escape |
|
* char noeat |
|
"0-7" char_octal3 |
|
|
|
:char_octal3 Escape |
|
* char noeat |
|
"0-7" char |
|
|
|
:ident Idle |
|
* ident_end noeat markend strings |
|
"abstract" kw |
|
"assert" kw |
|
"boolean" type |
|
"break" kw |
|
"byte" type |
|
"case" kw |
|
"catch" kw |
|
"char" type |
|
"class" kw |
|
"const" bad_kw |
|
"continue" kw |
|
"default" kw |
|
"do" kw |
|
"double" type |
|
"else" kw |
|
"enum" kw |
|
"extends" kw |
|
"false" lit |
|
"final" kw |
|
"finally" kw |
|
"float" type |
|
"for" kw |
|
"goto" bad_kw |
|
"if" kw |
|
"implements" kw |
|
"import" kw |
|
"instanceof" operator |
|
"int" type |
|
"interface" kw |
|
"long" type |
|
"native" kw |
|
"new" operator |
|
"null" lit |
|
"package" kw |
|
"private" kw |
|
"protected" kw |
|
"public" kw |
|
"return" kw |
|
"short" type |
|
"static" kw |
|
"strictfp" kw |
|
"super" kw |
|
"switch" kw |
|
"synchronized" kw |
|
"this" kw |
|
"throw" kw |
|
"throws" kw |
|
"transient" kw |
|
"true" lit |
|
"try" kw |
|
"void" kw |
|
"volatile" kw |
|
"while" kw |
|
done |
|
"a-zA-Z0-9_" ident |
|
|
|
:type Type |
|
* idle noeat |
|
|
|
:kw Keyword |
|
* idle noeat |
|
|
|
:bad_kw Bad |
|
* idle noeat |
|
|
|
:lit Constant |
|
* idle noeat |
|
|
|
:operator Operator |
|
* idle noeat |
|
|
|
:ident_end Idle |
|
* idle noeat |
|
" " ident_end |
|
"(" method_end noeat recolormark |
|
|
|
:method_end Methods |
|
* idle noeat |
|
|
|
.end |
|
|
|
.subr comment_todo |
|
# initial state |
|
:comment_todo_init Comment |
|
* comment_todo_guess buffer |
|
|
|
# highlight common TODO labels |
|
:comment_todo_guess Comment |
|
* comment_todo_unknown noeat strings |
|
"BUG" comment_todo |
|
"FIXME" comment_todo |
|
"HACK" comment_todo |
|
"NOTE" comment_todo |
|
"TODO" comment_todo |
|
"XXX" comment_todo |
|
done |
|
"A-Z" comment_todo_guess |
|
|
|
:comment_todo_unknown Comment |
|
* NULL noeat return |
|
|
|
:comment_todo CommentLabel |
|
* NULL noeat return |
|
.end
|
|
|