Edit file File name : css.jsf Content :# JOE syntax highlight file for CSS # by Eric Lin # Define colors =Idle =Comment =Constant =Number +Constant =Escape =Keyword =Bad =Class +Type =Id +String +DefinedIdent =Tag =HTML # TODO: Get back to this when going over html, xml, php, ant, etc # from html.jsf to support <?php?> =TagEdge :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 * comment "*" maybe_end_comment :maybe_end_comment 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 comment * style_comment "*" maybe_end_style_comment :maybe_end_style_comment 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 Number * style_value noeat "0-9" decimal "." float "a-zA-Z%" decimal_unit :maybe_float Number * style_value noeat recolor=-2 "0-9" float recolor=-2 :float Number * style_value noeat "0-9" float "a-zA-Z%" decimal_unit :decimal_unit Number * style_value noeat "a-zA-Z" decimal_unit :ident Idle * style_value noeat "a-ZA-Z0-9_-" ident .end Save