init
This commit is contained in:
502
syntax/groovy.jsf
Normal file
502
syntax/groovy.jsf
Normal file
@@ -0,0 +1,502 @@
|
||||
# JOE syntax highlight file for Groovy
|
||||
|
||||
=Idle
|
||||
=Ident
|
||||
=Comment
|
||||
=Shebang +Preproc
|
||||
=Constant
|
||||
=Number +Constant
|
||||
=Boolean +Constant
|
||||
=String +Constant
|
||||
=Regex +String
|
||||
=Escape
|
||||
=StringEscape +Escape +String
|
||||
=RegexEscape +StringEscape
|
||||
=Keyword
|
||||
=Operator +Keyword
|
||||
=Statement +Keyword
|
||||
=Conditional +Statement
|
||||
=Loop +Statement
|
||||
=Structure +Type +Keyword
|
||||
=Label +DefinedIdent
|
||||
=StorageClass +Type +Keyword
|
||||
=Bad
|
||||
=Brace
|
||||
=Builtin +DefinedFunction
|
||||
|
||||
:pre_idle Idle
|
||||
* NULL noeat call=.groovy()
|
||||
|
||||
.subr groovy
|
||||
|
||||
# #! allowed on first line
|
||||
|
||||
:reset Idle
|
||||
* idle noeat
|
||||
"#" maybe_shebang
|
||||
|
||||
:maybe_shebang Idle
|
||||
* idle noeat
|
||||
"!" shebang recolor=-2
|
||||
|
||||
:shebang Shebang
|
||||
* shebang
|
||||
"\n" idle
|
||||
|
||||
:idle Idle
|
||||
* idle
|
||||
"{}" brace recolor=-1
|
||||
"0" first_digit recolor=-1
|
||||
"1-9" decimal recolor=-1
|
||||
"." ident_no_kw
|
||||
"\"" double_quote recolor=-1
|
||||
"'" single_quote recolor=-1
|
||||
"/" maybe_regex recolor=-1
|
||||
"$" not_string buffer
|
||||
"\i" ident buffer
|
||||
|
||||
# / / regex not allowed after terms
|
||||
|
||||
:after_term Idle
|
||||
* idle noeat
|
||||
" \t)" after_term
|
||||
"/" slash_after_term
|
||||
|
||||
:slash_after_term Idle
|
||||
* idle noeat
|
||||
"/" line_comment recolor=-2
|
||||
"*" comment recolor=-2
|
||||
|
||||
:maybe_regex Regex string
|
||||
* regex noeat
|
||||
"*" comment recolor=-2
|
||||
"/" line_comment recolor=-2
|
||||
|
||||
:regex Regex string
|
||||
* regex
|
||||
"\\" regex_quote recolor=-1
|
||||
"/" after_term
|
||||
"$" maybe_regex_subst recolor=-1
|
||||
|
||||
:maybe_regex_subst Regex string
|
||||
* regex noeat
|
||||
"\i" regex_subst1 recolor=-2
|
||||
"{" regex_subst recolor=-2
|
||||
|
||||
:regex_subst RegexEscape string
|
||||
* regex_subst
|
||||
"}" regex
|
||||
|
||||
:regex_subst1 RegexEscape string
|
||||
* regex noeat
|
||||
".\c" regex_subst1
|
||||
|
||||
:regex_quote RegexEscape string
|
||||
* regex
|
||||
|
||||
:not_string Idle
|
||||
* idle noeat
|
||||
"\c" builtin recolor=-2
|
||||
"/" dstring recolor=-2
|
||||
|
||||
:brace Brace
|
||||
* idle noeat
|
||||
|
||||
:comment Comment comment
|
||||
* comment
|
||||
"BFHNTX" comment noeat call=comment_todo.comment_todo()
|
||||
"*" maybe_end_comment
|
||||
|
||||
:maybe_end_comment Comment comment
|
||||
* comment
|
||||
"/" idle
|
||||
"*" maybe_end_comment
|
||||
|
||||
:line_comment Comment comment
|
||||
* line_comment
|
||||
"BFHNTX" line_comment noeat call=comment_todo.comment_todo()
|
||||
"\n" idle
|
||||
|
||||
:end_of_file_comment Comment comment
|
||||
* end_of_file_comment
|
||||
|
||||
:first_digit Number
|
||||
* after_term noeat
|
||||
"x" hex
|
||||
"b" binary
|
||||
"." float
|
||||
"eE" epart
|
||||
"0-7" octal
|
||||
"89" bad_number recolor=-1
|
||||
"gGlLiIdDfF" after_term
|
||||
|
||||
:bad_number Bad
|
||||
* after_term noeat
|
||||
"0-9" bad_number
|
||||
|
||||
:octal Number
|
||||
* after_term noeat
|
||||
"0-7_" octal
|
||||
"89" bad_number recolor=-1
|
||||
|
||||
:binary Number
|
||||
* after_term noeat
|
||||
"01_" binary
|
||||
"2-9" bad_number recolor=-1
|
||||
|
||||
:hex Number
|
||||
* after_term noeat
|
||||
"0-9A-Fa-f_" hex
|
||||
|
||||
:decimal Number
|
||||
* after_term noeat
|
||||
"0-9_" decimal
|
||||
"eE" epart
|
||||
"." float
|
||||
"gGlLiIdDfF" after_term
|
||||
|
||||
:float Number
|
||||
* after_term noeat
|
||||
"eE" epart
|
||||
"0-9_" float
|
||||
"gGlLiIdDfF" after_term
|
||||
|
||||
:epart Number
|
||||
* after_term noeat
|
||||
"0-9+\-" enum
|
||||
|
||||
:enum Number
|
||||
* after_term noeat
|
||||
"0-9_" enum
|
||||
"gGlLiIdDfF" after_term
|
||||
|
||||
# Distinguish between " and """
|
||||
|
||||
:double_quote String string
|
||||
* string noeat
|
||||
"\"" double_quote_1
|
||||
|
||||
:double_quote_1 String string
|
||||
* after_term noeat
|
||||
"\"" tstring
|
||||
|
||||
# strings like "hello"
|
||||
# interpolation allowed
|
||||
# line crossing not allowed
|
||||
|
||||
:string String string
|
||||
* string
|
||||
"\"" after_term
|
||||
"\n" after_term
|
||||
"\\" string_escape recolor=-1
|
||||
"$" maybe_string_subst recolor=-1
|
||||
|
||||
:maybe_string_subst String string
|
||||
* string noeat
|
||||
"\i" string_subst1 recolor=-2
|
||||
"{" string_subst recolor=-2
|
||||
|
||||
:string_subst StringEscape string
|
||||
* string_subst
|
||||
"}" string
|
||||
|
||||
:string_subst1 StringEscape string
|
||||
* string noeat
|
||||
".\c" string_subst1
|
||||
|
||||
:string_escape StringEscape string
|
||||
* string
|
||||
"x" string_hex2
|
||||
"u" string_hex4
|
||||
"0-7" string_octal2
|
||||
"\n" string recolor=-2
|
||||
|
||||
:string_hex4 StringEscape string
|
||||
* string noeat
|
||||
"0-9a-fA-F" string_hex3
|
||||
|
||||
:string_hex3 StringEscape string
|
||||
* string noeat
|
||||
"0-9a-fA-F" string_hex2
|
||||
|
||||
:string_hex2 StringEscape string
|
||||
* string noeat
|
||||
"0-9a-fA-F" string_hex1
|
||||
|
||||
:string_hex1 StringEscape string
|
||||
* string noeat
|
||||
"0-9a-fA-F" string
|
||||
|
||||
:string_octal2 StringEscape string
|
||||
* string noeat
|
||||
"0-7" string_octal1
|
||||
|
||||
:string_octal1 StringEscape string
|
||||
* string noeat
|
||||
"0-7" string
|
||||
|
||||
# tstrings like "hello"
|
||||
# interpolation allowed
|
||||
# line crossing not allowed
|
||||
|
||||
:tstring String string
|
||||
* tstring
|
||||
"\"" tstring_maybe_done
|
||||
"\\" tstring_escape recolor=-1
|
||||
"$" maybe_tstring_subst recolor=-1
|
||||
|
||||
:tstring_maybe_done String string
|
||||
* tstring noeat
|
||||
"\"" tstring_maybe_done_2
|
||||
|
||||
:tstring_maybe_done_2 String string
|
||||
* tstring noeat
|
||||
"\"" after_term
|
||||
|
||||
:maybe_tstring_subst String string
|
||||
* tstring noeat
|
||||
"\i" tstring_subst1 recolor=-2
|
||||
"{" tstring_subst recolor=-2
|
||||
|
||||
:tstring_subst StringEscape string
|
||||
* tstring_subst
|
||||
"}" tstring
|
||||
|
||||
:tstring_subst1 StringEscape string
|
||||
* tstring noeat
|
||||
".\c" tstring_subst1
|
||||
|
||||
:tstring_escape StringEscape string
|
||||
* tstring
|
||||
"x" tstring_hex2
|
||||
"u" tstring_hex4
|
||||
"0-7" tstring_octal2
|
||||
"\n" tstring recolor=-2
|
||||
|
||||
:tstring_hex4 StringEscape string
|
||||
* tstring noeat
|
||||
"0-9a-fA-F" tstring_hex3
|
||||
|
||||
:tstring_hex3 StringEscape string
|
||||
* tstring noeat
|
||||
"0-9a-fA-F" tstring_hex2
|
||||
|
||||
:tstring_hex2 StringEscape string
|
||||
* tstring noeat
|
||||
"0-9a-fA-F" tstring_hex1
|
||||
|
||||
:tstring_hex1 StringEscape string
|
||||
* tstring noeat
|
||||
"0-9a-fA-F" tstring
|
||||
|
||||
:tstring_octal2 StringEscape string
|
||||
* tstring noeat
|
||||
"0-7" tstring_octal1
|
||||
|
||||
:tstring_octal1 StringEscape string
|
||||
* tstring noeat
|
||||
"0-7" tstring
|
||||
|
||||
# strings like: $/sdfsdf/$
|
||||
# interpolation allowed
|
||||
|
||||
:dstring String string
|
||||
* dstring
|
||||
"$" dstring_esc recolor=-1
|
||||
"/" dstring_maybe_done
|
||||
|
||||
:dstring_maybe_done String string
|
||||
* dstring noeat
|
||||
"$" after_term
|
||||
|
||||
:dstring_esc StringEscape string
|
||||
* dstring
|
||||
"/" dstring_esc_slash
|
||||
|
||||
:dstring_esc_slash StringEscape string
|
||||
* dstring noeat recolor=-1
|
||||
"$" dstring
|
||||
|
||||
:single_quote String string
|
||||
* char noeat recolor=-1
|
||||
"\'" single_quote_1
|
||||
|
||||
:single_quote_1 String string
|
||||
* after_term noeat
|
||||
"\'" tchar
|
||||
|
||||
# strings like 'hello'
|
||||
# no interpolation
|
||||
# no line crossing
|
||||
|
||||
:char String string
|
||||
* char
|
||||
"\n" after_term
|
||||
"\'" after_term
|
||||
"\\" char_escape recolor=-1
|
||||
|
||||
:char_escape StringEscape string
|
||||
* char
|
||||
"x" char_hex2
|
||||
"u" char_hex4
|
||||
"0-7" char_octal2
|
||||
"\n" char recolor=-2
|
||||
|
||||
:char_hex4 StringEscape string
|
||||
* char noeat
|
||||
"0-9a-fA-F" char_hex3
|
||||
|
||||
:char_hex3 StringEscape string
|
||||
* char noeat
|
||||
"0-9a-fA-F" char_hex2
|
||||
|
||||
:char_hex2 StringEscape string
|
||||
* char noeat
|
||||
"0-9a-fA-F" char_hex1
|
||||
|
||||
:char_hex1 StringEscape string
|
||||
* char noeat
|
||||
"0-9a-fA-F" char
|
||||
|
||||
:char_octal2 StringEscape string
|
||||
* char noeat
|
||||
"0-7" char_octal1
|
||||
|
||||
:char_octal1 StringEscape string
|
||||
* char noeat
|
||||
"0-7" char
|
||||
|
||||
# strings like 'hello'
|
||||
# no interpolation
|
||||
# no line crossing
|
||||
|
||||
:tchar String string
|
||||
* tchar
|
||||
"\'" after_term
|
||||
"\\" tchar_escape recolor=-1
|
||||
|
||||
:tchar_maybe_done String string
|
||||
* tchar noeat
|
||||
"\'" tchar_maybe_done_2
|
||||
|
||||
:tchar_maybe_done_2 String string
|
||||
* tchar noeat
|
||||
"\'" after_term
|
||||
|
||||
:tchar_escape StringEscape string
|
||||
* tchar
|
||||
"x" tchar_hex2
|
||||
"u" tchar_hex4
|
||||
"0-7" tchar_octal2
|
||||
"\n" tchar recolor=-2
|
||||
|
||||
:tchar_hex4 StringEscape string
|
||||
* tchar noeat
|
||||
"0-9a-fA-F" tchar_hex3
|
||||
|
||||
:tchar_hex3 StringEscape string
|
||||
* tchar noeat
|
||||
"0-9a-fA-F" tchar_hex2
|
||||
|
||||
:tchar_hex2 StringEscape string
|
||||
* tchar noeat
|
||||
"0-9a-fA-F" tchar_hex1
|
||||
|
||||
:tchar_hex1 StringEscape string
|
||||
* tchar noeat
|
||||
"0-9a-fA-F" tchar
|
||||
|
||||
:tchar_octal2 StringEscape string
|
||||
* tchar noeat
|
||||
"0-7" tchar_octal1
|
||||
|
||||
:tchar_octal1 StringEscape string
|
||||
* tchar noeat
|
||||
"0-7" tchar
|
||||
|
||||
:ident_no_kw Ident
|
||||
* after_term noeat
|
||||
"0" first_digit recolor=-1
|
||||
"1-9" decimal recolor=-1
|
||||
"\i" ident_no_kw1
|
||||
|
||||
:ident_no_kw1 Ident
|
||||
* after_term noeat
|
||||
"\c" ident_no_kw1
|
||||
|
||||
:ident Ident
|
||||
* after_term noeat strings
|
||||
"as" operator
|
||||
"assert" stmt
|
||||
"break" loop
|
||||
"case" label
|
||||
"catch" stmt
|
||||
"class" struct
|
||||
"const" storage
|
||||
"continue" loop
|
||||
"def" stmt
|
||||
"default" label
|
||||
"do" loop
|
||||
"else" cond
|
||||
"enum" struct
|
||||
"extends" struct
|
||||
"finally" stmt
|
||||
"for" loop
|
||||
"goto" loop
|
||||
"if" cond
|
||||
"implements" struct
|
||||
"import" kw
|
||||
"in" operator
|
||||
"instanceof" operator
|
||||
"interface" struct
|
||||
"new" operator
|
||||
"package" kw
|
||||
"return" stmt
|
||||
"super" kw
|
||||
"switch" cond
|
||||
"throw" kw
|
||||
"throws" struct
|
||||
"trait" kw
|
||||
"try" stmt
|
||||
"while" loop
|
||||
"true" bool
|
||||
"false" bool
|
||||
"null" lit
|
||||
done
|
||||
"\c" ident
|
||||
|
||||
:kw Keyword
|
||||
* idle noeat
|
||||
|
||||
:stmt Statement
|
||||
* idle noeat
|
||||
|
||||
:loop Loop
|
||||
* idle noeat
|
||||
|
||||
:cond Conditional
|
||||
* idle noeat
|
||||
|
||||
:struct Structure
|
||||
* idle noeat
|
||||
|
||||
:storage StorageClass
|
||||
* idle noeat
|
||||
|
||||
:label Label
|
||||
* idle noeat
|
||||
|
||||
:lit Constant
|
||||
* idle noeat
|
||||
|
||||
:bool Boolean
|
||||
* idle noeat
|
||||
|
||||
:operator Operator
|
||||
* idle noeat
|
||||
|
||||
:builtin Builtin
|
||||
* idle noeat
|
||||
"\c" builtin
|
||||
|
||||
.end
|
||||
Reference in New Issue
Block a user