diff options
Diffstat (limited to 'indent/elixir.vim')
-rw-r--r-- | indent/elixir.vim | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/indent/elixir.vim b/indent/elixir.vim index 92b98460..636097b7 100644 --- a/indent/elixir.vim +++ b/indent/elixir.vim @@ -25,6 +25,7 @@ let s:block_skip = "synIDattr(synID(line('.'),col('.'),1),'name') =~? '" . s:s let s:block_start = 'do\|fn' let s:block_middle = 'else\|match\|elsif\|catch\|after\|rescue' let s:block_end = 'end' +let s:symbols_end = '\]\|}' let s:arrow = '^.*->$' let s:pipeline = '^\s*|>.*$' @@ -59,7 +60,11 @@ function! GetElixirIndent() let ind += opened_symbol * &sw - if current_line =~ '^\s*\(\]\|}\)' + if last_line =~ '^\s*\(' . s:symbols_end . '\)' + let ind += &sw + endif + + if current_line =~ '^\s*\(' . s:symbols_end . '\)' let ind -= &sw endif |