Mercurial > vim
diff runtime/indent/eruby.vim @ 4869:a5352e73dc00
Update runtime files.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 12 Jun 2013 21:29:15 +0200 |
parents | dd5c1983e355 |
children | 43efa4f5a8ea |
line wrap: on
line diff
--- a/runtime/indent/eruby.vim +++ b/runtime/indent/eruby.vim @@ -1,9 +1,7 @@ " Vim indent file " Language: eRuby " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2010 May 28 -" URL: http://vim-ruby.rubyforge.org -" Anon CVS: See above site +" URL: https://github.com/vim-ruby/vim-ruby " Release Coordinator: Doug Kearns <dougkearns@gmail.com> if exists("b:did_indent") @@ -50,29 +48,32 @@ function! GetErubyIndent(...) call cursor(v:lnum,1) let inruby = searchpair('<%','','%>','W') call cursor(v:lnum,vcol) - if inruby && getline(v:lnum) !~ '^<%\|^\s*-\=%>' - let ind = GetRubyIndent() + if inruby && getline(v:lnum) !~ '^<%\|^\s*[-=]\=%>' + let ind = GetRubyIndent(v:lnum) else exe "let ind = ".b:eruby_subtype_indentexpr endif let lnum = prevnonblank(v:lnum-1) let line = getline(lnum) let cline = getline(v:lnum) - if cline =~# '^\s*<%-\=\s*\%(}\|end\|else\|\%(ensure\|rescue\|elsif\|when\).\{-\}\)\s*\%(-\=%>\|$\)' + if cline =~# '^\s*<%[-=]\=\s*\%(}\|end\|else\|\%(ensure\|rescue\|elsif\|when\).\{-\}\)\s*\%([-=]\=%>\|$\)' let ind = ind - &sw endif - if line =~# '\S\s*<%-\=\s*\%(}\|end\).\{-\}\s*\%(-\=%>\|$\)' + if line =~# '\S\s*<%[-=]\=\s*\%(}\|end\).\{-\}\s*\%([-=]\=%>\|$\)' let ind = ind - &sw endif - if line =~# '\%({\|\<do\)\%(\s*|[^|]*|\)\=\s*-\=%>' + if line =~# '\%({\|\<do\)\%(\s*|[^|]*|\)\=\s*[-=]\=%>' let ind = ind + &sw - elseif line =~# '<%-\=\s*\%(module\|class\|def\|if\|for\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure\|rescue\)\>.*%>' + elseif line =~# '<%[-=]\=\s*\%(module\|class\|def\|if\|for\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure\|rescue\)\>.*%>' let ind = ind + &sw endif if line =~# '^\s*<%[=#-]\=\s*$' && cline !~# '^\s*end\>' let ind = ind + &sw endif - if cline =~# '^\s*-\=%>\s*$' + if line !~# '^\s*<%' && line =~# '%>\s*$' + let ind = ind - &sw + endif + if cline =~# '^\s*[-=]\=%>\s*$' let ind = ind - &sw endif return ind