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