summaryrefslogtreecommitdiffstats
path: root/syntax/elixir.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2021-04-14 11:59:14 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2021-04-14 11:59:22 +0200
commit9e45c07a8d2eb77a1d276f762a448f42a33a47c6 (patch)
treef7a2926e460a75b7bd5b7498576042275e9fa57f /syntax/elixir.vim
parent3c5fca7621a1f5e53911195ebb6e7c777fad8031 (diff)
downloadvim-polyglot-9e45c07a8d2eb77a1d276f762a448f42a33a47c6.tar.gz
vim-polyglot-9e45c07a8d2eb77a1d276f762a448f42a33a47c6.zip
Update
Diffstat (limited to 'syntax/elixir.vim')
-rw-r--r--syntax/elixir.vim11
1 files changed, 7 insertions, 4 deletions
diff --git a/syntax/elixir.vim b/syntax/elixir.vim
index 871a4157..2c9dd2e5 100644
--- a/syntax/elixir.vim
+++ b/syntax/elixir.vim
@@ -12,7 +12,7 @@ endif
let s:cpo_save = &cpo
set cpo&vim
-syn cluster elixirNotTop contains=@elixirRegexSpecial,@elixirStringContained,@elixirDeclaration,elixirTodo,elixirArguments,elixirBlockDefinition,elixirUnusedVariable,elixirStructDelimiter
+syn cluster elixirNotTop contains=@elixirRegexSpecial,@elixirStringContained,@elixirDeclaration,elixirTodo,elixirArguments,elixirBlockDefinition,elixirUnusedVariable,elixirStructDelimiter,elixirListDelimiter
syn cluster elixirRegexSpecial contains=elixirRegexEscape,elixirRegexCharClass,elixirRegexQuantifier,elixirRegexEscapePunctuation
syn cluster elixirStringContained contains=elixirInterpolation,elixirRegexEscape,elixirRegexCharClass
syn cluster elixirDeclaration contains=elixirFunctionDeclaration,elixirPrivateFunctionDeclaration,elixirModuleDeclaration,elixirProtocolDeclaration,elixirImplDeclaration,elixirRecordDeclaration,elixirPrivateRecordDeclaration,elixirMacroDeclaration,elixirPrivateMacroDeclaration,elixirDelegateDeclaration,elixirOverridableDeclaration,elixirExceptionDeclaration,elixirCallbackDeclaration,elixirStructDeclaration
@@ -70,12 +70,15 @@ syn match elixirRegexCharClass "\[:\(alnum\|alpha\|ascii\|blank\|cntrl\|
syn region elixirRegex matchgroup=elixirRegexDelimiter start="%r/" end="/[uiomxfr]*" skip="\\\\" contains=@elixirRegexSpecial
-syn region elixirTuple matchgroup=elixirTupleDelimiter start="\(\w\|#\)\@<!{" end="}" contains=ALLBUT,@elixirNotTop
+syn region elixirTuple matchgroup=elixirTupleDelimiter start="\(\w\|#\)\@<!{" end="}" contains=ALLBUT,@elixirNotTop fold
+
+syn match elixirListDelimiter '\[' contained containedin=elixirList
+syn region elixirList matchgroup=elixirListDelimiter start='\[' end='\]' contains=ALLBUT,@elixirNotTop fold
syn match elixirStructDelimiter '{' contained containedin=elixirStruct
-syn region elixirStruct matchgroup=elixirStructDelimiter start="%\(\w\+{\)\@=" end="}" contains=ALLBUT,@elixirNotTop
+syn region elixirStruct matchgroup=elixirStructDelimiter start="%\(\w\+{\)\@=" end="}" contains=ALLBUT,@elixirNotTop fold
-syn region elixirMap matchgroup=elixirMapDelimiter start="%{" end="}" contains=ALLBUT,@elixirNotTop
+syn region elixirMap matchgroup=elixirMapDelimiter start="%{" end="}" contains=ALLBUT,@elixirNotTop fold
syn region elixirString matchgroup=elixirStringDelimiter start=+\z('\)+ end=+\z1+ skip=+\\\\\|\\\z1+ contains=@Spell,@elixirStringContained
syn region elixirString matchgroup=elixirStringDelimiter start=+\z("\)+ end=+\z1+ skip=+\\\\\|\\\z1+ contains=@Spell,@elixirStringContained