mirror of
https://github.com/cmur2/joe-syntax.git
synced 2024-12-22 02:54:23 +01:00
2b59cf9e90
The main features of Haml can be correctly parsed according to http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html. There exist some limitations inherently comming from the limitations of state machine based highlighters (without side effects)... this parsers sucks with multiline comments, strings etc since the indent based grouping can't be evaluated.
116 lines
1.7 KiB
Plaintext
116 lines
1.7 KiB
Plaintext
# JOE syntax highlight file for Haml
|
|
|
|
=Idle
|
|
=Comment green
|
|
=Constant cyan
|
|
=Escape bold cyan
|
|
=Bad bold red
|
|
=Brace magenta
|
|
|
|
=Tag fg_310
|
|
=Class yellow
|
|
=Id green
|
|
=Doctype bold magenta
|
|
=Filter blue
|
|
|
|
:line_start Idle
|
|
* idle noeat
|
|
# eat indent
|
|
" " line_start
|
|
"\\" escape_first recolor=-1
|
|
"!" doctype1
|
|
"%" tag recolor=-1
|
|
# implicit <div>
|
|
".#" after_tag noeat
|
|
"/" html_comment recolor=-1
|
|
":" filter recolor=-1
|
|
|
|
:escape_first Constant
|
|
* idle
|
|
|
|
:idle Constant
|
|
* idle
|
|
"\n" line_start
|
|
"=~-" ruby_call noeat
|
|
"&!" maybe_esc_ruby_call
|
|
"#" maybe_subst
|
|
"\\" maybe_subst_escape
|
|
|
|
:doctype1 Idle
|
|
* idle recolor=-2
|
|
"=" esc_ruby_call recolor=-2
|
|
"!" doctype2
|
|
|
|
:doctype2 Idle
|
|
* idle recolor=-3
|
|
"!" doctype3 recolor=-3
|
|
|
|
:doctype3 Doctype
|
|
* doctype3
|
|
"\n" line_start
|
|
|
|
:tag Tag
|
|
* idle noeat
|
|
"a-zA-Z0-9_-" tag
|
|
".#{(/" after_tag noeat
|
|
|
|
:after_tag Idle
|
|
* idle noeat
|
|
"." class recolor=-1
|
|
"#" id recolor=-1
|
|
"{" attrA
|
|
"(" attrB
|
|
"/" tag_close recolor=-1
|
|
|
|
:class Class
|
|
* after_tag noeat
|
|
"a-zA-Z0-9_-" class
|
|
|
|
:id Id
|
|
* after_tag noeat
|
|
"a-zA-Z0-9_-" id
|
|
|
|
:attrA Idle
|
|
* attrA
|
|
"}" after_tag
|
|
|
|
:attrB Idle
|
|
* attrB
|
|
")" after_tag
|
|
|
|
:tag_close Tag
|
|
* idle noeat
|
|
|
|
:html_comment Comment
|
|
* html_comment
|
|
"\n" line_start
|
|
|
|
:ruby_call Idle
|
|
* line_start call=ruby.ruby(haml)
|
|
|
|
:maybe_esc_ruby_call Constant
|
|
* idle
|
|
"=" esc_ruby_call recolor=-2
|
|
|
|
:esc_ruby_call Idle
|
|
* line_start call=ruby.ruby(haml)
|
|
"=" esc_ruby_call2
|
|
|
|
:esc_ruby_call2 Idle
|
|
* line_start call=ruby.ruby(haml)
|
|
|
|
:maybe_subst Constant
|
|
* idle
|
|
"{" subst recolor=-2
|
|
|
|
:subst Escape
|
|
* subst
|
|
"}" idle
|
|
|
|
:maybe_subst_escape Constant
|
|
* idle
|
|
|
|
:filter Filter
|
|
* idle
|
|
"a-zA-Z0-9_" filter
|