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.
155 lines
2.2 KiB
155 lines
2.2 KiB
5 years ago
|
# JOE syntax highlight file for Prolog
|
||
|
|
||
|
=Idle
|
||
|
=Comment green
|
||
|
=Constant cyan
|
||
|
=Escape bold cyan
|
||
|
=Keyword bold
|
||
|
=Bad bold red
|
||
|
|
||
|
=Brace #magenta
|
||
|
=Variable fg_310
|
||
|
=Predicate red
|
||
|
|
||
|
:idle Idle
|
||
|
* idle
|
||
|
"\n" idle
|
||
|
"%" line_comment recolor=-1
|
||
|
"/" maybe_comment
|
||
|
"0-9" first_digit recolor=-1
|
||
|
"'" string_sq_1 recolor=-1
|
||
|
"\"" string_dq_1 recolor=-1
|
||
|
|
||
|
# marking -> predicate hilite
|
||
|
# buffering -> keyword hilite
|
||
|
"a-z" atom mark buffer
|
||
|
|
||
|
"A-Z" variable recolor=-1
|
||
|
"_" _variable
|
||
|
"[]" brace recolor=-1
|
||
|
|
||
|
:line_comment Comment
|
||
|
* line_comment
|
||
|
"\n" idle
|
||
|
|
||
|
:maybe_comment Idle
|
||
|
* idle noeat
|
||
|
"*" comment recolor=-2
|
||
|
|
||
|
:comment Comment
|
||
|
* comment
|
||
|
"*" maybe_end_comment
|
||
|
|
||
|
:maybe_end_comment Comment
|
||
|
* comment
|
||
|
"/" idle
|
||
|
"*" maybe_end_comment
|
||
|
|
||
|
:brace Brace
|
||
|
* idle noeat
|
||
|
|
||
|
:string_sq_1 Constant
|
||
|
* string_sq noeat
|
||
|
|
||
|
:string_sq Constant
|
||
|
* string_sq
|
||
|
"\'" idle
|
||
|
"\\" string_sq_esc recolor=-1
|
||
|
|
||
|
:string_sq_esc Escape
|
||
|
* string_sq
|
||
|
"\n" string_sq recolor=-2
|
||
|
|
||
|
:string_dq_1 Constant
|
||
|
* string_dq noeat
|
||
|
|
||
|
:string_dq Constant
|
||
|
* string_dq
|
||
|
"\"" idle
|
||
|
"\\" string_dq_esc recolor=-1
|
||
|
|
||
|
:string_dq_esc Escape
|
||
|
* string_dq
|
||
|
"\n" string_dq recolor=-2
|
||
|
|
||
|
:first_digit Constant
|
||
|
* idle noeat
|
||
|
# no float support
|
||
|
# "." float
|
||
|
"0-9" first_number
|
||
|
|
||
|
:first_number Constant
|
||
|
* idle noeat
|
||
|
"0-9" first_number
|
||
|
"." float
|
||
|
|
||
|
:float Constant
|
||
|
* idle noeat
|
||
|
"eE" epart
|
||
|
"0-9" float
|
||
|
|
||
|
:epart Constant
|
||
|
* idle noeat
|
||
|
"0-9+\-" enum
|
||
|
|
||
|
:enum Constant
|
||
|
* idle noeat
|
||
|
"0-9" enum
|
||
|
|
||
|
# list of keywords includes some predicates...
|
||
|
:atom Idle
|
||
|
* atom_end noeat markend strings
|
||
|
"append" kw
|
||
|
"atom" kw
|
||
|
"atomic" kw
|
||
|
"call" kw
|
||
|
"catch" kw
|
||
|
"clause" kw
|
||
|
"close" kw
|
||
|
"fail" kw
|
||
|
"findall" kw
|
||
|
"float" kw
|
||
|
"halt" kw
|
||
|
"integer" kw
|
||
|
"is" kw
|
||
|
"member" kw
|
||
|
"nl" kw
|
||
|
"nonvar" kw
|
||
|
"number" kw
|
||
|
"once" kw
|
||
|
"op" kw
|
||
|
"open" kw
|
||
|
"read" kw
|
||
|
"repeat" kw
|
||
|
"throw" kw
|
||
|
"true" kw
|
||
|
"var" kw
|
||
|
"write" kw
|
||
|
done
|
||
|
"a-zA-Z0-9_" atom
|
||
|
|
||
|
:kw Keyword
|
||
|
* idle noeat
|
||
|
|
||
|
:atom_end Idle
|
||
|
* idle noeat
|
||
|
" " atom_end
|
||
|
"(" pred_end recolormark
|
||
|
":" maybe_pred_end
|
||
|
|
||
|
:pred_end Predicate
|
||
|
* idle noeat
|
||
|
|
||
|
:maybe_pred_end Idle
|
||
|
* idle noeat
|
||
|
"-" pred_end recolormark
|
||
|
|
||
|
:variable Variable
|
||
|
* idle noeat
|
||
|
"a-zA-Z0-9_" variable
|
||
|
|
||
|
:_variable Idle
|
||
|
* idle noeat
|
||
|
# if it's not only _, color it
|
||
|
"a-zA-Z0-9_" variable recolor=-2
|