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.
169 lines
2.7 KiB
169 lines
2.7 KiB
5 years ago
|
# JOE syntax highlight file for CSS
|
||
|
# by Eric Lin
|
||
|
|
||
|
# Define colors
|
||
|
|
||
|
=Idle
|
||
|
=Comment green
|
||
|
=Constant cyan
|
||
|
=Escape bold cyan
|
||
|
=Keyword bold
|
||
|
=Bad bold red
|
||
|
|
||
|
=Class yellow
|
||
|
=Id red
|
||
|
=Tag magenta
|
||
|
=HTML
|
||
|
|
||
|
# from html.jsf to support <?php?>
|
||
|
=TagEdge green
|
||
|
|
||
|
:begin Idle
|
||
|
* begin noeat call=.css()
|
||
|
|
||
|
#
|
||
|
# For <style> in html
|
||
|
#
|
||
|
|
||
|
.subr css
|
||
|
|
||
|
:reset HTML
|
||
|
* reset
|
||
|
"<" maybe_done recolor=-1
|
||
|
"/" slash
|
||
|
# prevent duplicate code
|
||
|
"#.a-zA-Z" selector noeat
|
||
|
"@" command recolor=-1
|
||
|
|
||
|
:maybe_done TagEdge
|
||
|
* reset_html noeat
|
||
|
"/" reset noeat return recolor=-2
|
||
|
.ifdef php
|
||
|
"?%" rtn_php call=php.php()
|
||
|
.endif
|
||
|
|
||
|
# fix needed to produce similar output without php
|
||
|
:reset_html HTML
|
||
|
* reset noeat recolor=-2
|
||
|
|
||
|
# this state allows php and perl to recolor the ?> %> or &> properly.
|
||
|
:rtn_php TagEdge
|
||
|
* reset noeat
|
||
|
|
||
|
:slash Idle
|
||
|
* reset noeat
|
||
|
"*" comment recolor=-2
|
||
|
|
||
|
:comment Comment
|
||
|
* comment
|
||
|
"*" maybe_end_comment
|
||
|
|
||
|
:maybe_end_comment Comment
|
||
|
* comment
|
||
|
"/" reset
|
||
|
"*" maybe_end_comment
|
||
|
|
||
|
:command Idle
|
||
|
* command
|
||
|
";" reset
|
||
|
"{" command_block
|
||
|
|
||
|
:command_block Idle
|
||
|
* command_block
|
||
|
"}" reset
|
||
|
|
||
|
# CSS selectors
|
||
|
:selector Idle
|
||
|
* selector
|
||
|
"#" id_sel recolor=-1
|
||
|
"." class_sel recolor=-1
|
||
|
"a-zA-Z" tag_sel recolor=-1
|
||
|
":" pseudo_class_sel recolor=-1
|
||
|
"{" style_block recolor=-1
|
||
|
|
||
|
:id_sel Id
|
||
|
* selector noeat
|
||
|
"a-zA-Z0-9_-" id_sel
|
||
|
|
||
|
:class_sel Class
|
||
|
* selector noeat
|
||
|
"a-zA-Z0-9_-" class_sel
|
||
|
|
||
|
:tag_sel Tag
|
||
|
* selector noeat
|
||
|
"a-zA-Z0-9_-" tag_sel
|
||
|
"[" tag_sel_attr recolor=-1
|
||
|
|
||
|
:tag_sel_attr Idle
|
||
|
* tag_sel_attr
|
||
|
"]" selector
|
||
|
|
||
|
:pseudo_class_sel Idle
|
||
|
* selector noeat
|
||
|
"a-zA-Z0-9_-" pseudo_class_sel
|
||
|
|
||
|
# everything inside "{ ... }", containing many "key: value;" pairs
|
||
|
:style_block Idle
|
||
|
* style_block
|
||
|
"}" reset
|
||
|
"/" maybe_style_comment
|
||
|
"a-zA-Z-" style_word recolor=-1
|
||
|
|
||
|
:maybe_style_comment Idle
|
||
|
* style_block recolor=-1
|
||
|
"*" style_comment recolor=-2
|
||
|
|
||
|
:style_comment Comment
|
||
|
* style_comment
|
||
|
"*" maybe_end_style_comment
|
||
|
|
||
|
:maybe_end_style_comment Comment
|
||
|
* comment
|
||
|
"/" style_block
|
||
|
"*" maybe_end_style_comment
|
||
|
|
||
|
# property-key
|
||
|
:style_word Keyword
|
||
|
* style_word
|
||
|
":" style_value recolor=-1
|
||
|
|
||
|
# property-value
|
||
|
:style_value Idle
|
||
|
* style_value
|
||
|
";" style_block
|
||
|
# treat } without previous ; like ;}
|
||
|
"}" style_block noeat
|
||
|
"#" color recolor=-1
|
||
|
"0-9" decimal recolor=-1
|
||
|
"." maybe_float
|
||
|
"a-zA-Z_" ident
|
||
|
|
||
|
:color Constant
|
||
|
* style_value noeat
|
||
|
"0-9a-fA-F" color
|
||
|
|
||
|
:decimal Constant
|
||
|
* style_value noeat
|
||
|
"0-9" decimal
|
||
|
"." float
|
||
|
"a-zA-Z%" decimal_unit
|
||
|
|
||
|
:maybe_float Constant
|
||
|
* style_value noeat recolor=-2
|
||
|
"0-9" float recolor=-2
|
||
|
|
||
|
:float Constant
|
||
|
* style_value noeat
|
||
|
"0-9" float
|
||
|
"a-zA-Z%" decimal_unit
|
||
|
|
||
|
:decimal_unit Constant
|
||
|
* style_value noeat
|
||
|
"a-zA-Z" decimal_unit
|
||
|
|
||
|
:ident Idle
|
||
|
* style_value noeat
|
||
|
"a-ZA-Z0-9_-" ident
|
||
|
|
||
|
.end
|