@@ -11,7 +11,7 @@ syn sync minlines=2000
1111syn cluster elixirNotTop contains =@elixirRegexSpecial,@elixirStringContained,@elixirDeclaration,elixirTodo,elixirArguments,elixirBlockDefinition,elixirUnusedVariable,elixirStructDelimiter
1212syn cluster elixirRegexSpecial contains =elixirRegexEscape,elixirRegexCharClass,elixirRegexQuantifier,elixirRegexEscapePunctuation
1313syn cluster elixirStringContained contains =elixirInterpolation,elixirRegexEscape,elixirRegexCharClass
14- syn cluster elixirDeclaration contains =elixirFunctionDeclaration,elixirModuleDeclaration,elixirProtocolDeclaration,elixirImplDeclaration,elixirRecordDeclaration,elixirMacroDeclaration,elixirDelegateDeclaration,elixirOverridableDeclaration,elixirExceptionDeclaration,elixirCallbackDeclaration,elixirStructDeclaration
14+ syn cluster elixirDeclaration contains =elixirFunctionDeclaration,elixirPrivateFunctionDeclaration, elixirModuleDeclaration,elixirProtocolDeclaration,elixirImplDeclaration,elixirRecordDeclaration,elixirPrivateRecordDeclaration, elixirMacroDeclaration,elixirPrivateMacroDeclaration ,elixirDelegateDeclaration,elixirOverridableDeclaration,elixirExceptionDeclaration,elixirCallbackDeclaration,elixirStructDeclaration
1515
1616syn match elixirComment ' #.*' contains =elixirTodo,@Spell
1717syn keyword elixirTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained
@@ -128,93 +128,99 @@ syn region elixirDocString matchgroup=elixirDocSigilDelimiter start=+\%(@\w*doc
128128syn region elixirDocString matchgroup =elixirDocSigilDelimiter start =+ \% (@\w *doc\s\+\)\@ <=\~ [Ss]\z ("""\) + end =+ \z 1+ skip =+ \\ "+ contains =@elixirDocStringContained fold keepend
129129
130130" Defines
131- syn match elixirDefine ' \< def\>\( :\)\@ !' nextgroup =elixirFunctionDeclaration skipwhite skipnl
132- syn match elixirPrivateDefine ' \< defp\>\( :\)\@ !' nextgroup =elixirFunctionDeclaration skipwhite skipnl
133- syn match elixirGuard ' \< defguard\>\( :\)\@ !' nextgroup =elixirFunctionDeclaration skipwhite skipnl
134- syn match elixirPrivateGuard ' \< defguardp\>\( :\)\@ !' nextgroup =elixirFunctionDeclaration skipwhite skipnl
135- syn match elixirModuleDefine ' \< defmodule\>\( :\)\@ !' nextgroup =elixirModuleDeclaration skipwhite skipnl
136- syn match elixirProtocolDefine ' \< defprotocol\>\( :\)\@ !' nextgroup =elixirProtocolDeclaration skipwhite skipnl
137- syn match elixirImplDefine ' \< defimpl\>\( :\)\@ !' nextgroup =elixirImplDeclaration skipwhite skipnl
138- syn match elixirRecordDefine ' \< defrecord\>\( :\)\@ !' nextgroup =elixirRecordDeclaration skipwhite skipnl
139- syn match elixirPrivateRecordDefine ' \< defrecordp\>\( :\)\@ !' nextgroup =elixirRecordDeclaration skipwhite skipnl
140- syn match elixirMacroDefine ' \< defmacro\>\( :\)\@ !' nextgroup =elixirMacroDeclaration skipwhite skipnl
141- syn match elixirPrivateMacroDefine ' \< defmacrop\>\( :\)\@ !' nextgroup =elixirMacroDeclaration skipwhite skipnl
142- syn match elixirDelegateDefine ' \< defdelegate\>\( :\)\@ !' nextgroup =elixirDelegateDeclaration skipwhite skipnl
143- syn match elixirOverridableDefine ' \< defoverridable\>\( :\)\@ !' nextgroup =elixirOverridableDeclaration skipwhite skipnl
144- syn match elixirExceptionDefine ' \< defexception\>\( :\)\@ !' nextgroup =elixirExceptionDeclaration skipwhite skipnl
145- syn match elixirCallbackDefine ' \< defcallback\>\( :\)\@ !' nextgroup =elixirCallbackDeclaration skipwhite skipnl
131+ syn match elixirDefine ' \< def\>\( :\)\@ !' nextgroup =elixirFunctionDeclaration skipwhite skipnl
132+ syn match elixirPrivateDefine ' \< defp\>\( :\)\@ !' nextgroup =elixirPrivateFunctionDeclaration skipwhite skipnl
133+ syn match elixirGuard ' \< defguard\>\( :\)\@ !' nextgroup =elixirFunctionDeclaration skipwhite skipnl
134+ syn match elixirPrivateGuard ' \< defguardp\>\( :\)\@ !' nextgroup =elixirPrivateFunctionDeclaration skipwhite skipnl
135+ syn match elixirModuleDefine ' \< defmodule\>\( :\)\@ !' nextgroup =elixirModuleDeclaration skipwhite skipnl
136+ syn match elixirProtocolDefine ' \< defprotocol\>\( :\)\@ !' nextgroup =elixirProtocolDeclaration skipwhite skipnl
137+ syn match elixirImplDefine ' \< defimpl\>\( :\)\@ !' nextgroup =elixirImplDeclaration skipwhite skipnl
138+ syn match elixirRecordDefine ' \< defrecord\>\( :\)\@ !' nextgroup =elixirRecordDeclaration skipwhite skipnl
139+ syn match elixirPrivateRecordDefine ' \< defrecordp\>\( :\)\@ !' nextgroup =elixirPrivateRecordDeclaration skipwhite skipnl
140+ syn match elixirMacroDefine ' \< defmacro\>\( :\)\@ !' nextgroup =elixirMacroDeclaration skipwhite skipnl
141+ syn match elixirPrivateMacroDefine ' \< defmacrop\>\( :\)\@ !' nextgroup =elixirPrivateMacroDeclaration skipwhite skipnl
142+ syn match elixirDelegateDefine ' \< defdelegate\>\( :\)\@ !' nextgroup =elixirDelegateDeclaration skipwhite skipnl
143+ syn match elixirOverridableDefine ' \< defoverridable\>\( :\)\@ !' nextgroup =elixirOverridableDeclaration skipwhite skipnl
144+ syn match elixirExceptionDefine ' \< defexception\>\( :\)\@ !' nextgroup =elixirExceptionDeclaration skipwhite skipnl
145+ syn match elixirCallbackDefine ' \< defcallback\>\( :\)\@ !' nextgroup =elixirCallbackDeclaration skipwhite skipnl
146146syn match elixirStructDefine ' \< defstruct\>\( :\)\@ !' skipwhite skipnl
147147
148148" Declarations
149- syn match elixirModuleDeclaration " [^[:space:];#<]\+ " contained nextgroup =elixirBlock skipwhite skipnl
150- syn match elixirFunctionDeclaration " [^[:space:];#<,()\[\] ]\+ " contained nextgroup =elixirArguments skipwhite skipnl
151- syn match elixirProtocolDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias skipwhite skipnl
152- syn match elixirImplDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias skipwhite skipnl
153- syn match elixirRecordDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias,elixirAtom skipwhite skipnl
154- syn match elixirMacroDeclaration " [^[:space:];#<,()\[\] ]\+ " contained nextgroup =elixirArguments skipwhite skipnl
155- syn match elixirDelegateDeclaration " [^[:space:];#<,()\[\] ]\+ " contained contains =elixirFunctionDeclaration skipwhite skipnl
156- syn region elixirDelegateDeclaration start =' \[ ' end =' \] ' contained contains =elixirFunctionDeclaration skipwhite skipnl
157- syn match elixirOverridableDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias,elixirAtom skipwhite skipnl
158- syn match elixirExceptionDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias,elixirAtom skipwhite skipnl
159- syn match elixirCallbackDeclaration " [^[:space:];#<,()\[\] ]\+ " contained contains =elixirFunctionDeclaration skipwhite skipnl
149+ syn match elixirModuleDeclaration " [^[:space:];#<]\+ " contained nextgroup =elixirBlock skipwhite skipnl
150+ syn match elixirFunctionDeclaration " [^[:space:];#<,()\[\] ]\+ " contained nextgroup =elixirArguments skipwhite skipnl
151+ syn match elixirPrivateFunctionDeclaration " [^[:space:];#<,()\[\] ]\+ " contained nextgroup =elixirArguments skipwhite skipnl
152+ syn match elixirProtocolDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias skipwhite skipnl
153+ syn match elixirImplDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias skipwhite skipnl
154+ syn match elixirRecordDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias,elixirAtom skipwhite skipnl
155+ syn match elixirPrivateRecordDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias,elixirAtom skipwhite skipnl
156+ syn match elixirMacroDeclaration " [^[:space:];#<,()\[\] ]\+ " contained nextgroup =elixirArguments skipwhite skipnl
157+ syn match elixirPrivateMacroDeclaration " [^[:space:];#<,()\[\] ]\+ " contained nextgroup =elixirArguments skipwhite skipnl
158+ syn match elixirDelegateDeclaration " [^[:space:];#<,()\[\] ]\+ " contained contains =elixirFunctionDeclaration skipwhite skipnl
159+ syn region elixirDelegateDeclaration start =' \[ ' end =' \] ' contained contains =elixirFunctionDeclaration skipwhite skipnl
160+ syn match elixirOverridableDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias,elixirAtom skipwhite skipnl
161+ syn match elixirExceptionDeclaration " [^[:space:];#<]\+ " contained contains =elixirAlias,elixirAtom skipwhite skipnl
162+ syn match elixirCallbackDeclaration " [^[:space:];#<,()\[\] ]\+ " contained contains =elixirFunctionDeclaration skipwhite skipnl
160163
161164" ExUnit
162165syn match elixirExUnitMacro " \( ^\s *\)\@ <=\<\( test\| describe\| setup\| setup_all\| on_exit\| doctest\)\> "
163166syn match elixirExUnitAssert " \( ^\s *\)\@ <=\<\( assert\| assert_in_delta\| assert_raise\| assert_receive\| assert_received\| catch_error\)\> "
164167syn match elixirExUnitAssert " \( ^\s *\)\@ <=\<\( catch_exit\| catch_throw\| flunk\| refute\| refute_in_delta\| refute_receive\| refute_received\)\> "
165168
166- hi def link elixirBlockDefinition Define
167- hi def link elixirDefine Define
168- hi def link elixirPrivateDefine Define
169- hi def link elixirGuard Define
170- hi def link elixirPrivateGuard Define
171- hi def link elixirModuleDefine Define
172- hi def link elixirProtocolDefine Define
173- hi def link elixirImplDefine Define
174- hi def link elixirRecordDefine Define
175- hi def link elixirPrivateRecordDefine Define
176- hi def link elixirMacroDefine Define
177- hi def link elixirPrivateMacroDefine Define
178- hi def link elixirDelegateDefine Define
179- hi def link elixirOverridableDefine Define
180- hi def link elixirExceptionDefine Define
181- hi def link elixirCallbackDefine Define
182- hi def link elixirStructDefine Define
183- hi def link elixirExUnitMacro Define
184- hi def link elixirModuleDeclaration Type
185- hi def link elixirFunctionDeclaration Function
186- hi def link elixirMacroDeclaration Macro
187- hi def link elixirInclude Include
188- hi def link elixirComment Comment
189- hi def link elixirTodo Todo
190- hi def link elixirKeyword Define
191- hi def link elixirExUnitAssert Keyword
192- hi def link elixirOperator Operator
193- hi def link elixirAtom Constant
194- hi def link elixirPseudoVariable Constant
195- hi def link elixirAlias Type
196- hi def link elixirBoolean Boolean
197- hi def link elixirVariable Identifier
198- hi def link elixirSelf Identifier
199- hi def link elixirUnusedVariable Comment
200- hi def link elixirNumber Number
201- hi def link elixirDocString Comment
202- hi def link elixirDocTest elixirKeyword
203- hi def link elixirAtomInterpolated elixirAtom
204- hi def link elixirRegex elixirString
205- hi def link elixirRegexEscape elixirSpecial
206- hi def link elixirRegexEscapePunctuation elixirSpecial
207- hi def link elixirRegexCharClass elixirSpecial
208- hi def link elixirRegexQuantifier elixirSpecial
209- hi def link elixirSpecial Special
210- hi def link elixirString String
211- hi def link elixirSigil String
212- hi def link elixirDocStringDelimiter elixirStringDelimiter
213- hi def link elixirDocSigilDelimiter elixirSigilDelimiter
214- hi def link elixirStringDelimiter Delimiter
215- hi def link elixirRegexDelimiter Delimiter
216- hi def link elixirInterpolationDelimiter Delimiter
217- hi def link elixirSigilDelimiter Delimiter
169+ hi def link elixirBlockDefinition Define
170+ hi def link elixirDefine Define
171+ hi def link elixirPrivateDefine Define
172+ hi def link elixirGuard Define
173+ hi def link elixirPrivateGuard Define
174+ hi def link elixirModuleDefine Define
175+ hi def link elixirProtocolDefine Define
176+ hi def link elixirImplDefine Define
177+ hi def link elixirRecordDefine Define
178+ hi def link elixirPrivateRecordDefine Define
179+ hi def link elixirMacroDefine Define
180+ hi def link elixirPrivateMacroDefine Define
181+ hi def link elixirDelegateDefine Define
182+ hi def link elixirOverridableDefine Define
183+ hi def link elixirExceptionDefine Define
184+ hi def link elixirCallbackDefine Define
185+ hi def link elixirStructDefine Define
186+ hi def link elixirExUnitMacro Define
187+ hi def link elixirModuleDeclaration Type
188+ hi def link elixirPrivateFunctionDeclaration elixirFunctionDeclaration
189+ hi def link elixirFunctionDeclaration Function
190+ hi def link elixirPrivateMacroDeclaration elixirMacroDeclaration
191+ hi def link elixirMacroDeclaration Macro
192+ hi def link elixirInclude Include
193+ hi def link elixirComment Comment
194+ hi def link elixirTodo Todo
195+ hi def link elixirKeyword Define
196+ hi def link elixirExUnitAssert Keyword
197+ hi def link elixirOperator Operator
198+ hi def link elixirAtom Constant
199+ hi def link elixirPseudoVariable Constant
200+ hi def link elixirAlias Type
201+ hi def link elixirBoolean Boolean
202+ hi def link elixirVariable Identifier
203+ hi def link elixirSelf Identifier
204+ hi def link elixirUnusedVariable Comment
205+ hi def link elixirNumber Number
206+ hi def link elixirDocString Comment
207+ hi def link elixirDocTest elixirKeyword
208+ hi def link elixirAtomInterpolated elixirAtom
209+ hi def link elixirRegex elixirString
210+ hi def link elixirRegexEscape elixirSpecial
211+ hi def link elixirRegexEscapePunctuation elixirSpecial
212+ hi def link elixirRegexCharClass elixirSpecial
213+ hi def link elixirRegexQuantifier elixirSpecial
214+ hi def link elixirSpecial Special
215+ hi def link elixirString String
216+ hi def link elixirSigil String
217+ hi def link elixirDocStringDelimiter elixirStringDelimiter
218+ hi def link elixirDocSigilDelimiter elixirSigilDelimiter
219+ hi def link elixirStringDelimiter Delimiter
220+ hi def link elixirRegexDelimiter Delimiter
221+ hi def link elixirInterpolationDelimiter Delimiter
222+ hi def link elixirSigilDelimiter Delimiter
223+ hi def link elixirPrivateRecordDeclaration elixirRecordDeclaration
218224
219225let b: current_syntax = " elixir"
220226
0 commit comments