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