diff options
Diffstat (limited to 'indent/rhelp.vim')
| -rw-r--r-- | indent/rhelp.vim | 112 | 
1 files changed, 0 insertions, 112 deletions
| diff --git a/indent/rhelp.vim b/indent/rhelp.vim deleted file mode 100644 index a676a3a0..00000000 --- a/indent/rhelp.vim +++ /dev/null @@ -1,112 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 -   -" Vim indent file -" Language:	R Documentation (Help), *.Rd -" Author:	Jakson Alves de Aquino <jalvesaq@gmail.com> -" Homepage:     https://github.com/jalvesaq/R-Vim-runtime -" Last Change:	Tue Apr 07, 2015  04:38PM - - -" Only load this indent file when no other was loaded. -if exists("b:did_indent") -  finish -endif -runtime indent/r.vim -let s:RIndent = function(substitute(&indentexpr, "()", "", "")) -let b:did_indent = 1 - -setlocal noautoindent -setlocal nocindent -setlocal nosmartindent -setlocal nolisp -setlocal indentkeys=0{,0},:,!^F,o,O,e -setlocal indentexpr=GetCorrectRHelpIndent() - -" Only define the functions once. -if exists("*GetRHelpIndent") -  finish -endif - -function s:SanitizeRHelpLine(line) -  let newline = substitute(a:line, '\\\\', "x", "g") -  let newline = substitute(newline, '\\{', "x", "g") -  let newline = substitute(newline, '\\}', "x", "g") -  let newline = substitute(newline, '\\%', "x", "g") -  let newline = substitute(newline, '%.*', "", "") -  let newline = substitute(newline, '\s*$', "", "") -  return newline -endfunction - -function GetRHelpIndent() - -  let clnum = line(".")    " current line -  if clnum == 1 -    return 0 -  endif -  let cline = getline(clnum) - -  if cline =~ '^\s*}\s*$' -    let i = clnum -    let bb = -1 -    while bb != 0 && i > 1 -      let i -= 1 -      let line = s:SanitizeRHelpLine(getline(i)) -      let line2 = substitute(line, "{", "", "g") -      let openb = strlen(line) - strlen(line2) -      let line3 = substitute(line2, "}", "", "g") -      let closeb = strlen(line2) - strlen(line3) -      let bb += openb - closeb -    endwhile -    return indent(i) -  endif - -  if cline =~ '^\s*#ifdef\>' || cline =~ '^\s*#endif\>' -    return 0 -  endif - -  let lnum = clnum - 1 -  let line = getline(lnum) -  if line =~ '^\s*#ifdef\>' || line =~ '^\s*#endif\>' -    let lnum -= 1 -    let line = getline(lnum) -  endif -  while lnum > 1 && (line =~ '^\s*$' || line =~ '^#ifdef' || line =~ '^#endif') -    let lnum -= 1 -    let line = getline(lnum) -  endwhile -  if lnum == 1 -    return 0 -  endif -  let line = s:SanitizeRHelpLine(line) -  let line2 = substitute(line, "{", "", "g") -  let openb = strlen(line) - strlen(line2) -  let line3 = substitute(line2, "}", "", "g") -  let closeb = strlen(line2) - strlen(line3) -  let bb = openb - closeb - -  let ind = indent(lnum) + (bb * shiftwidth()) - -  if line =~ '^\s*}\s*$' -    let ind = indent(lnum) -  endif - -  if ind < 0 -    return 0 -  endif - -  return ind -endfunction - -function GetCorrectRHelpIndent() -  let lastsection = search('^\\[a-z]*{', "bncW") -  let secname = getline(lastsection) -  if secname =~ '^\\usage{' || secname =~ '^\\examples{' || secname =~ '^\\dontshow{' || secname =~ '^\\dontrun{' || secname =~ '^\\donttest{' || secname =~ '^\\testonly{' || secname =~ '^\\method{.*}{.*}(' -    return s:RIndent() -  else -    return GetRHelpIndent() -  endif -endfunction - -" vim: sw=2 - -endif | 
