108 lines
1.8 KiB
Plaintext
108 lines
1.8 KiB
Plaintext
# JOE syntax highlight file for SKILL
|
|
# Based on the very rudimentary lisp syntax file
|
|
# Written by Joachim Fenkes <skill dot jsf at dojoe dot net> in 2005
|
|
|
|
=Idle
|
|
=Ident
|
|
=Comment
|
|
=Constant
|
|
=String +Constant
|
|
=StringEscape +Escape +String
|
|
=Brace
|
|
=Symbol +Atom +Constant +DefinedIdent
|
|
=Keyword
|
|
=Conditional +Statement +Keyword
|
|
=Loop +Statement +Keyword
|
|
=Number +Constant
|
|
=Bad
|
|
|
|
:idle Idle
|
|
* idle
|
|
";" comment recolor=-1
|
|
"\"" string recolor=-1
|
|
"/" slash
|
|
"()[]{}" bracket recolor=-1
|
|
"'" maybe_symbol recolor=-1
|
|
"a-zA-Z_" maybe_keyword buffer recolor=-1
|
|
"0-9" number recolor=-1
|
|
|
|
:maybe_keyword Ident
|
|
* idle noeat strings
|
|
"list" keyword
|
|
"procedure" keyword
|
|
"while" loop
|
|
"foreach" loop
|
|
"if" cond
|
|
"for" loop
|
|
"when" cond
|
|
"unless" cond
|
|
"cond" cond
|
|
"defun" keyword
|
|
"let" keyword
|
|
"prog" keyword
|
|
"else" cond
|
|
"then" cond
|
|
"case" cond
|
|
"caseq" cond
|
|
"nil" const
|
|
"t" keyword
|
|
done
|
|
"0-9a-zA-Z_" maybe_keyword
|
|
|
|
:number Number
|
|
* idle noeat
|
|
"0-9." number
|
|
|
|
:slash Idle
|
|
* idle
|
|
"/" slash
|
|
"*" mcomment recolor=-2
|
|
|
|
:comment Comment comment
|
|
* comment
|
|
"BFHNTX" comment noeat call=comment_todo.comment_todo()
|
|
"\n" idle
|
|
|
|
:mcomment Comment comment
|
|
* mcomment
|
|
"BFHNTX" mcomment noeat call=comment_todo.comment_todo()
|
|
"*" maybe_end_mcomment
|
|
|
|
:maybe_end_mcomment Comment comment
|
|
* mcomment noeat
|
|
"*" maybe_end_mcomment
|
|
"/" idle
|
|
|
|
:string String string
|
|
* string
|
|
"\"" idle
|
|
"\\" string_escape recolor=-1
|
|
|
|
:string_escape StringEscape string
|
|
* string
|
|
"\n" string recolor=-2
|
|
|
|
:bracket Brace
|
|
* idle noeat
|
|
|
|
:maybe_symbol Idle
|
|
* symbol recolor=-2
|
|
"(){}" bracket recolor=-2
|
|
|
|
:symbol Symbol
|
|
* symbol
|
|
" \t\n" idle recolor=-1
|
|
")" bracket recolor=-1
|
|
|
|
:keyword Keyword
|
|
* idle noeat
|
|
|
|
:cond Conditional
|
|
* idle noeat
|
|
|
|
:loop Loop
|
|
* idle noeat
|
|
|
|
:const Constant
|
|
* idle noeat
|