dotfiles

My dotfiles.
Log | Files | Refs | LICENSE

elixir.jsf (3966B)


      1 # JOE syntax highlight file for Elixir
      2 
      3 # Written by Andrey Lisin (at gmail.com)
      4 
      5 # TODO
      6 # - test attributes and docstrings highlighting
      7 # - maybe highlight arithmetical operations
      8 # - comprehensions highlighting
      9 
     10 # Changes
     11 # - fix atom with underscore highlighting
     12 # - distinct docstrings and module attributes
     13 
     14 =Idle
     15 =Ident
     16 =Comment
     17 =Keyword
     18 =Statement	+Keyword
     19 =Conditional	+Statement
     20 =Type
     21 =DefinedIdent	+Ident
     22 =DefinedType	+DefinedIdent
     23 =DefinedFunction +DefinedIdent
     24 =Operator	+Keyword
     25 =Constant
     26 =Boolean	+Constant
     27 =Number		+Constant
     28 =String		+Constant
     29 =StringEscape	+Escape
     30 =StringVariable +StringEscape
     31 =Atom		+Constant +DefinedIdent
     32 =Attribute	+Define +Preproc
     33 =Brace		+Escape
     34 =Bracket	+Brace
     35 =Underscore	+Keyword
     36 =ModAttr	+Atom		# key in %{key: value}
     37 
     38 
     39 :idle Idle
     40 	*		idle
     41 	"#"		line_comment	noeat
     42 	"A-Z"		type		recolor=-1
     43 	"a-z"		ident		noeat
     44 	"_"		underscore	recolor=-1
     45 	"'"		single_quoted	recolor=-1
     46 	"\""		double_quoted	recolor=-1
     47 	":"		atom		recolor=-1
     48 	"@"		modattr		recolor=-1
     49 	"[]"            brack           recolor=-1
     50 	"{}"		brace		recolor=-1
     51 	"|"		maybe_pipe
     52 	"\\"		maybe_opt
     53 	"-"		maybe_rarrow	recolor=-1
     54 	"<"		maybe_larrow	recolor=-1
     55 	"0-9"		decimal		recolor=-1
     56 	
     57 :line_comment Comment comment
     58 	*		line_comment
     59 	"BFHNTX"	line_comment	noeat call=comment_todo.comment_todo()
     60 	"\n"		idle
     61 	
     62 :single_quoted String string
     63 	*		single_quoted
     64 	"'"		idle
     65 	
     66 :double_quoted String string
     67 	*		double_quoted
     68 	"#"		maybe_extrapolation
     69 	"\""		idle
     70 	
     71 :maybe_extrapolation String string
     72 	*		double_quoted   noeat
     73 	"{"		extrapolation	recolor=-2
     74 	
     75 :extrapolation StringVariable string
     76 	*		extrapolation
     77 	"}"		double_quoted
     78 	"\""		double_quoted	noeat
     79 	
     80 :atom Atom
     81 	*		idle		noeat
     82 	"a-zA-Z0-9_"	atom
     83 	
     84 :modattr ModAttr
     85 	*		idle
     86 	"a-zA-Z0-9_"	modattr
     87 	" "		maybe_edoc
     88 	
     89 :maybe_edoc Idle
     90 	*		idle
     91 	" "		maybe_edoc
     92 	"\""		string_dq_1 	recolor=-1
     93 	
     94 :string_dq_1 String string
     95 	*		double_quoted	recolor=-1
     96 	"\""		string_dq_2
     97 	
     98 :string_dq_2 Comment comment
     99 	*		idle
    100 	"\""		docstr_dq	recolor=-3
    101 	
    102 :docstr_dq Comment comment
    103 	*		docstr_dq
    104 	"\""		docstr_dq_1
    105 	
    106 :docstr_dq_1 Comment comment
    107 	*		docstr_dq
    108 	"\""		docstr_dq_2
    109 	
    110 :docstr_dq_2 Comment comment
    111 	*		docstr_dq
    112 	"\""		idle
    113 	
    114 
    115 
    116 :brace Brace
    117 	*		idle		noeat
    118 	
    119 :brack Bracket
    120 	*		idle		noeat
    121 
    122 :maybe_larrow Idle
    123 	"-"		arrow		recolor=-2
    124 	*		idle		noeat
    125 
    126 :maybe_rarrow Idle
    127 	">"		arrow		recolor=-2
    128 	*		idle		noeat
    129 
    130 :arrow Operator
    131 	*		idle		noeat
    132 	
    133 :maybe_pipe Idle
    134 	*		idle
    135 	">"		pipe		recolor=-2
    136 	
    137 :pipe Operator
    138 	*		idle		noeat
    139 	
    140 :maybe_opt Idle
    141 	*		idle
    142 	"\\"		opt		recolor=-2
    143 	
    144 :opt Keyword
    145 	*		idle		noeat
    146 	
    147 :decimal Number
    148 	*		idle		noeat
    149 	"0-9_"		decimal
    150 	"."		float
    151 	
    152 :float Number
    153 	*		idle		noeat
    154 	"0-9"		float
    155 	
    156 	
    157 
    158 	
    159 :underscore Underscore
    160 	*		idle		noeat
    161 	"a-zA-Z0-9?_"	underscore
    162 	
    163 	
    164 :type Type
    165 	"a-zA-Z0-9_"	type
    166 	*		idle		noeat
    167 	
    168 :ident Ident
    169 	*		ident1		noeat buffer mark
    170 	
    171 :ident1 Ident
    172 	*		idle		noeat strings
    173 	"def"					start_func_def
    174 	"defp"					start_func_def
    175 	"defmodule" 				start_mod_def
    176 	"defprotocol"				start_def
    177 	"defmacro"				start_def
    178 	"defmacrop" 				start_def
    179 	"defdelegate"				start_def
    180 	"defexception" 				start_def
    181 	"defstruct" 				start_def
    182 	"defimpl"				start_def
    183 	"defcallback"				start_def
    184 	"import"				start_mod_def
    185 	"require"				start_mod_def
    186 	"test"					start_def
    187 	"use"					start_mod_def
    188 	"alias"					start_mod_def
    189 	"end"					stmt
    190 	"do"					kw
    191 	"for"					loop
    192 	"if"					cond
    193 	"else"					cond
    194 	"unless"				cond
    195 	"case"					cond
    196 	"cond"					cond
    197 	"true"					bool
    198 	"false"					bool
    199 	"fn"					kw
    200 done
    201 	"a-zA-Z_0-9"	ident1
    202 	":"		attr		noeat recolormark
    203 	
    204 :attr Attribute
    205 	*		idle
    206 	
    207 :kw Keyword
    208 	*		idle		noeat
    209 
    210 :stmt Statement
    211 	*		idle		noeat
    212 
    213 :cond Conditional
    214 	*		idle		noeat
    215 
    216 :bool Boolean
    217 	*		idle		noeat
    218 
    219 :start_def Statement
    220 	*		def
    221 	
    222 :start_mod_def Statement
    223 	*		moddef
    224 
    225 :start_func_def Statement
    226 	*		funcdef
    227 	
    228 :def DefinedIdent
    229 	*		def
    230 	" ("		idle		noeat
    231 
    232 :funcdef DefinedFunction
    233 	*		funcdef
    234 	" ("		idle		noeat
    235 	
    236 :moddef DefinedType
    237 	*		moddef
    238 	" "		idle		noeat
    239 	"\n"		idle