Mercurial > vim
diff runtime/indent/r.vim @ 3153:37ecb8ff4560
Updated runtime files.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 20 Oct 2011 22:22:38 +0200 |
parents | 3502a7f991fc |
children | 8b86b69546a9 |
line wrap: on
line diff
--- a/runtime/indent/r.vim +++ b/runtime/indent/r.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: R " Author: Jakson Alves de Aquino <jalvesaq@gmail.com> -" Last Change: Wed Aug 31, 2011 12:24AM +" Last Change: Fri Oct 14, 2011 09:50PM " Only load this indent file when no other was loaded. @@ -455,19 +455,29 @@ function GetRIndent() return ind endif + if g:r_indent_align_args == 0 && bb != 0 + let ind += bb * &sw + return ind + endif + if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0) return ind endif - while pind < ind && plnum > 0 && ppb == 0 + let pline = getline(plnum) + let pbb = s:Get_paren_balance(pline, '[', ']') + + while pind < ind && plnum > 0 && ppb == 0 && pbb == 0 let ind = pind let plnum = s:Get_prev_line(plnum) let pline = getline(plnum) let ppb = s:Get_paren_balance(pline, '(', ')') + let pbb = s:Get_paren_balance(pline, '[', ']') while pline =~ '^\s*else' let plnum = s:Get_matching_if(plnum, 1) let pline = getline(plnum) let ppb = s:Get_paren_balance(pline, '(', ')') + let pbb = s:Get_paren_balance(pline, '[', ']') endwhile let pind = indent(plnum) if ind == (pind + &sw) && pline =~ '{$'