@@ -22,13 +22,9 @@ syn match elixirKeyword '\(\.\)\@<!\<\(for\|case\|when\|with\|cond\|if\|unless\|
22
22
syn match elixirKeyword ' \(\.\)\@ <!\<\( exit\| raise\| throw\| after\| rescue\| catch\| else\)\> '
23
23
syn match elixirKeyword ' \(\.\)\@ <!\<\( quote\| unquote\| super\| spawn\| spawn_link\| spawn_monitor\)\> '
24
24
25
- " Functions used on guards
26
- syn keyword elixirKeyword contained is_atom is_binary is_bitstring is_boolean
27
- syn keyword elixirKeyword contained is_float is_function is_integer is_list
28
- syn keyword elixirKeyword contained is_map is_nil is_number is_pid is_port
29
- syn keyword elixirKeyword contained is_record is_reference is_tuple is_exception
30
- syn keyword elixirKeyword contained abs bit_size byte_size div elem hd length
31
- syn keyword elixirKeyword contained map_size node rem round tl trunc tuple_size
25
+ " Kernel functions
26
+ syn match elixirKernelFunction contained containedin =elixirGuard ' \<\( is_atom\| is_binary\| is_bitstring\| is_boolean\| is_float\| is_function\| is_integer\| is_list\| is_map\| is_nil\| is_number\| is_pid\| is_port\)\>\( [ (]\)\@ ='
27
+ syn match elixirKernelFunction contained containedin =elixirGuard ' \<\( is_record\| is_reference\| is_tuple\| is_exception\| abs\| bit_size\| byte_size\| div\| elem\| hd\| length\| map_size\| node\| rem\| round\| tl\| trunc\| tuple_size\)\>\( [ (]\)\@ ='
32
28
33
29
syn match elixirGuard ' .*when.*' contains =ALLBUT,@elixirNotTop
34
30
@@ -83,14 +79,14 @@ syn region elixirString matchgroup=elixirStringDelimiter start=+\z('\)+ end=+
83
79
syn region elixirString matchgroup =elixirStringDelimiter start =+ \z ("\) + end =+ \z 1+ skip =+ \\\\\|\\\z 1+ contains =@elixirStringContained
84
80
syn region elixirString matchgroup =elixirStringDelimiter start =+ \z ('''\) + end =+ ^\s *\z 1+ skip =+ '\|\\\\ + contains =@elixirStringContained
85
81
syn region elixirString matchgroup =elixirStringDelimiter start =+ \z ("""\) + end =+ ^\s *\z 1+ skip =+ "\|\\\\ + contains =@elixirStringContained
86
- syn region elixirInterpolation matchgroup =elixirInterpolationDelimiter start =" #{" end =" }" contained contains =ALLBUT,elixirComment,@elixirNotTop
82
+ syn region elixirInterpolation matchgroup =elixirInterpolationDelimiter start =" #{" end =" }" contained contains =ALLBUT,elixirKernelFunction, elixirComment,@elixirNotTop
87
83
88
84
syn match elixirAtomInterpolated ' :\( "\)\@ =' contains =elixirString
89
85
syn match elixirString " \(\w\)\@ <!?\% (\\\( x\d {1,2}\|\h {1,2}\h\@ !\>\| 0[0-7]{0,2}[0-7]\@ !\>\| [^x0MC]\)\| (\\ [MC]-)+\w\| [^\s\\ ]\) "
90
86
91
- syn region elixirBlock matchgroup =elixirBlockDefinition start =" \< do\> :\@ !" end =" \< end\> " contains =ALLBUT,@elixirNotTop fold
92
- syn region elixirElseBlock matchgroup =elixirBlockDefinition start =" \< else\> :\@ !" end =" \< end\> " contains =ALLBUT,@elixirNotTop fold
93
- syn region elixirAnonymousFunction matchgroup =elixirBlockDefinition start =" \< fn\> " end =" \< end\> " contains =ALLBUT,@elixirNotTop fold
87
+ syn region elixirBlock matchgroup =elixirBlockDefinition start =" \< do\> :\@ !" end =" \< end\> " contains =ALLBUT,elixirKernelFunction, @elixirNotTop fold
88
+ syn region elixirElseBlock matchgroup =elixirBlockDefinition start =" \< else\> :\@ !" end =" \< end\> " contains =ALLBUT,elixirKernelFunction, @elixirNotTop fold
89
+ syn region elixirAnonymousFunction matchgroup =elixirBlockDefinition start =" \< fn\> " end =" \< end\> " contains =ALLBUT,elixirKernelFunction, @elixirNotTop fold
94
90
95
91
syn region elixirArguments start =" (" end =" )" contained contains =elixirOperator,elixirAtom,elixirPseudoVariable,elixirAlias,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirAtomInterpolated,elixirRegex,elixirString,elixirStringDelimiter,elixirRegexDelimiter,elixirInterpolationDelimiter,elixirSigilDelimiter
96
92
@@ -172,6 +168,7 @@ hi def link elixirInclude Include
172
168
hi def link elixirComment Comment
173
169
hi def link elixirTodo Todo
174
170
hi def link elixirKeyword Keyword
171
+ hi def link elixirKernelFunction Keyword
175
172
hi def link elixirOperator Operator
176
173
hi def link elixirAtom Constant
177
174
hi def link elixirPseudoVariable Constant
0 commit comments