358 lines
5.8 KiB
Plaintext
358 lines
5.8 KiB
Plaintext
|
# JOE syntax highlight file for Scala
|
||
|
|
||
|
=Idle
|
||
|
=Ident
|
||
|
=Comment
|
||
|
=Constant
|
||
|
=Number +Constant
|
||
|
=String +Constant
|
||
|
=StringEscape +Escape
|
||
|
=Character +Constant
|
||
|
=CharacterEscape +Escape
|
||
|
=Boolean +Constant
|
||
|
=Type
|
||
|
=DefinedFunction +DefinedIdent
|
||
|
|
||
|
=Keyword
|
||
|
=Operator +Keyword
|
||
|
=Statement +Keyword
|
||
|
=Loop +Statement
|
||
|
=Conditional +Statement
|
||
|
=Structure +Statement
|
||
|
=StorageClass +Type +Keyword
|
||
|
|
||
|
=Bad
|
||
|
=Brace
|
||
|
=Control
|
||
|
|
||
|
=Methods
|
||
|
|
||
|
:begin Idle
|
||
|
* begin noeat call=.scala()
|
||
|
|
||
|
.subr scala
|
||
|
|
||
|
:idle Idle
|
||
|
* idle
|
||
|
"\n" idle
|
||
|
"/" slash
|
||
|
"0" first_digit recolor=-1
|
||
|
"1-9" decimal recolor=-1
|
||
|
"." maybe_float
|
||
|
"\"" maybe_string recolor=-1
|
||
|
"'" char recolor=-1
|
||
|
"\i\p{Sc}" 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
|
||
|
* comment
|
||
|
# might be TODO label
|
||
|
"BFHNTX" comment noeat call=comment_todo.comment_todo()
|
||
|
"*" maybe_end_comment
|
||
|
|
||
|
:maybe_end_comment Comment comment
|
||
|
* comment noeat
|
||
|
"/" idle
|
||
|
"*" maybe_end_comment
|
||
|
|
||
|
:line_comment Comment comment
|
||
|
* line_comment
|
||
|
# might be TODO label
|
||
|
"BFHNTX" line_comment noeat call=comment_todo.comment_todo()
|
||
|
"\n" idle
|
||
|
|
||
|
:first_digit Number
|
||
|
* idle noeat
|
||
|
"lLfF" idle
|
||
|
"xX" hex
|
||
|
"." float
|
||
|
"eE" epart
|
||
|
"0-7" octal
|
||
|
"89" bad_number recolor=-1
|
||
|
|
||
|
:bad_number Bad
|
||
|
* idle noeat
|
||
|
"0-9" bad_number
|
||
|
|
||
|
:octal Number
|
||
|
* idle noeat
|
||
|
"0-7" octal
|
||
|
"89" bad_number recolor=-1
|
||
|
"lL" idle
|
||
|
|
||
|
:hex Number
|
||
|
* idle noeat
|
||
|
"0-9A-Fa-f" hex
|
||
|
"lL" idle
|
||
|
|
||
|
:decimal Number
|
||
|
* idle noeat
|
||
|
"0-9" decimal
|
||
|
"lLfF" idle
|
||
|
"eE" epart
|
||
|
"." float
|
||
|
|
||
|
:maybe_float Number
|
||
|
* idle recolor=-2 noeat
|
||
|
"\i\p{Sc}" not_ident recolor=-2
|
||
|
"0-9" float recolor=-2
|
||
|
|
||
|
:not_ident Idle
|
||
|
* idle noeat
|
||
|
"\c\p{Sc}" not_ident
|
||
|
|
||
|
:float Number
|
||
|
* idle noeat
|
||
|
"eE" epart
|
||
|
"0-9" float
|
||
|
"fFlL" idle
|
||
|
|
||
|
:epart Number
|
||
|
* idle noeat
|
||
|
"0-9+\-" enum
|
||
|
|
||
|
:enum Number
|
||
|
* idle noeat
|
||
|
"0-9" enum
|
||
|
"fFlL" idle
|
||
|
|
||
|
:maybe_string String string
|
||
|
* string noeat
|
||
|
"\"" maybe_string_1
|
||
|
|
||
|
:maybe_string_1 String string
|
||
|
* idle noeat
|
||
|
"\"" stringstring
|
||
|
|
||
|
:string String string
|
||
|
* string
|
||
|
"\"" idle
|
||
|
"\\" string_escape recolor=-1
|
||
|
"%" string_control recolor=-1
|
||
|
|
||
|
:string_escape StringEscape string
|
||
|
* string
|
||
|
"u" string_uni1
|
||
|
"0-7" string_octal2
|
||
|
"\n" string recolor=-2
|
||
|
|
||
|
:string_uni1 StringEscape string
|
||
|
* string noeat
|
||
|
"0-9a-fA-F" string_uni2
|
||
|
|
||
|
:string_uni2 StringEscape string
|
||
|
* string noeat
|
||
|
"0-9a-fA-F" string_uni3
|
||
|
|
||
|
:string_uni3 StringEscape string
|
||
|
* string noeat
|
||
|
"0-9a-fA-F" string_uni4
|
||
|
|
||
|
:string_uni4 StringEscape string
|
||
|
* string noeat
|
||
|
"0-9a-fA-F" string
|
||
|
|
||
|
:string_octal2 StringEscape string
|
||
|
* string noeat
|
||
|
"0-7" string_octal3
|
||
|
|
||
|
:string_octal3 StringEscape string
|
||
|
* string noeat
|
||
|
"0-7" string
|
||
|
|
||
|
:string_control StringEscape string
|
||
|
* string_control
|
||
|
"\n" idle
|
||
|
"\"" string noeat
|
||
|
"diouxXeEfFgGaAcspn%SCM" string
|
||
|
|
||
|
:stringstring String string
|
||
|
* stringstring
|
||
|
"\"" stringstring_1
|
||
|
"\\" stringstring_escape recolor=-1
|
||
|
"%" stringstring_control recolor=-1
|
||
|
|
||
|
:stringstring_1 String string
|
||
|
* stringstring noeat
|
||
|
"\"" stringstring_2
|
||
|
|
||
|
:stringstring_2 String string
|
||
|
* stringstring noeat
|
||
|
"\"" idle
|
||
|
|
||
|
:stringstring_escape StringEscape string
|
||
|
* stringstring
|
||
|
"u" stringstring_uni1
|
||
|
"0-7" stringstring_octal2
|
||
|
"\n" stringstring recolor=-2
|
||
|
|
||
|
:stringstring_uni1 StringEscape string
|
||
|
* stringstring noeat
|
||
|
"0-9a-fA-F" stringstring_uni2
|
||
|
|
||
|
:stringstring_uni2 StringEscape string
|
||
|
* stringstring noeat
|
||
|
"0-9a-fA-F" stringstring_uni3
|
||
|
|
||
|
:stringstring_uni3 StringEscape string
|
||
|
* stringstring noeat
|
||
|
"0-9a-fA-F" stringstring_uni4
|
||
|
|
||
|
:stringstring_uni4 StringEscape string
|
||
|
* stringstring noeat
|
||
|
"0-9a-fA-F" stringstring
|
||
|
|
||
|
:stringstring_octal2 StringEscape string
|
||
|
* stringstring noeat
|
||
|
"0-7" stringstring_octal3
|
||
|
|
||
|
:stringstring_octal3 StringEscape string
|
||
|
* stringstring noeat
|
||
|
"0-7" stringstring
|
||
|
|
||
|
:stringstring_control StringEscape string
|
||
|
* stringstring_control
|
||
|
"\n" idle
|
||
|
"\"" stringstring noeat
|
||
|
"diouxXeEfFgGaAcspn%SCM" stringstring
|
||
|
|
||
|
:char Character string
|
||
|
* char_done
|
||
|
"'" idle
|
||
|
"\\" char_escape recolor=-1
|
||
|
|
||
|
:char_done Character string
|
||
|
* idle noeat recolor=-3
|
||
|
"\'" idle
|
||
|
|
||
|
:char_escape CharacterEscape string
|
||
|
* char_done
|
||
|
"u" char_uni1
|
||
|
"0-7" char_octal2
|
||
|
|
||
|
:char_uni1 CharacterEscape string
|
||
|
* char_done noeat
|
||
|
"0-9a-fA-F" char_uni2
|
||
|
|
||
|
:char_uni2 CharacterEscape string
|
||
|
* char_done noeat
|
||
|
"0-9a-fA-F" char_uni3
|
||
|
|
||
|
:char_uni3 CharacterEscape string
|
||
|
* char_done noeat
|
||
|
"0-9a-fA-F" char_uni4
|
||
|
|
||
|
:char_uni4 CharacterEscape string
|
||
|
* char_done noeat
|
||
|
"0-9a-fA-F" char_done
|
||
|
|
||
|
:char_octal2 CharacterEscape string
|
||
|
* char_done noeat
|
||
|
"0-7" char_octal3
|
||
|
|
||
|
:char_octal3 CharacterEscape string
|
||
|
* char_done noeat
|
||
|
"0-7" char_done
|
||
|
|
||
|
:ident Ident
|
||
|
* ident_end noeat markend strings
|
||
|
"abstract" storage
|
||
|
"case" struct
|
||
|
"catch" kw
|
||
|
"class" struct
|
||
|
"def" struct
|
||
|
"do" loop
|
||
|
"else" cond
|
||
|
"false" bool
|
||
|
"final" storage
|
||
|
"finally" stmt
|
||
|
"for" loop
|
||
|
"forSome" loop
|
||
|
"if" cond
|
||
|
"implicit" storage
|
||
|
"import" stmt
|
||
|
"lazy" storage
|
||
|
"match" cond
|
||
|
"new" operator
|
||
|
"null" lit
|
||
|
"object" storage
|
||
|
"override" storage
|
||
|
"package" storage
|
||
|
"private" storage
|
||
|
"protected" storage
|
||
|
"return" stmt
|
||
|
"sealed" storage
|
||
|
"super" kw
|
||
|
"this" kw
|
||
|
"throw" stmt
|
||
|
"trait" kw
|
||
|
"try" stmt
|
||
|
"true" bool
|
||
|
"type" kw
|
||
|
"val" kw
|
||
|
"var" kw
|
||
|
"while" loop
|
||
|
"with" kw
|
||
|
"yield" loop
|
||
|
done
|
||
|
"\c\p{Sc}" ident
|
||
|
|
||
|
:type Type
|
||
|
* idle noeat
|
||
|
|
||
|
:kw Keyword
|
||
|
* idle noeat
|
||
|
|
||
|
:bad_kw Bad
|
||
|
* idle noeat
|
||
|
|
||
|
:lit Constant
|
||
|
* idle noeat
|
||
|
|
||
|
:bool Boolean
|
||
|
* idle noeat
|
||
|
|
||
|
:operator Operator
|
||
|
* idle noeat
|
||
|
|
||
|
:storage StorageClass
|
||
|
* idle noeat
|
||
|
|
||
|
:cond Conditional
|
||
|
* idle noeat
|
||
|
|
||
|
:loop Loop
|
||
|
* idle noeat
|
||
|
|
||
|
:stmt Statement
|
||
|
* idle noeat
|
||
|
|
||
|
:struct Structure
|
||
|
* idle noeat
|
||
|
|
||
|
:ident_end Idle
|
||
|
* idle noeat
|
||
|
" " ident_end
|
||
|
"(" method_end noeat recolormark
|
||
|
|
||
|
:method_end DefinedFunction
|
||
|
* idle noeat
|
||
|
|
||
|
.end
|