diff options
Diffstat (limited to 'indent/dylan.vim')
| -rw-r--r-- | indent/dylan.vim | 94 | 
1 files changed, 0 insertions, 94 deletions
| diff --git a/indent/dylan.vim b/indent/dylan.vim deleted file mode 100644 index 4858ea84..00000000 --- a/indent/dylan.vim +++ /dev/null @@ -1,94 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 -   -" Vim indent file -" Language:	Dylan -" Version:	0.01 -" Last Change:	2017 Jun 13 -" Maintainer:	Brent A. Fulgham <bfulgham@debian.org> - -" Only load this indent file when no other was loaded. -if exists("b:did_indent") -  finish -endif -let b:did_indent = 1 - -setlocal indentkeys+==~begin,=~block,=~case,=~cleanup,=~define,=~end,=~else,=~elseif,=~exception,=~for,=~finally,=~if,=~otherwise,=~select,=~unless,=~while - -" Define the appropriate indent function but only once -setlocal indentexpr=DylanGetIndent() -if exists("*DylanGetIndent") -  finish -endif - -function DylanGetIndent() -  " Get the line to be indented -  let cline = getline(v:lnum) - -  " Don't reindent comments on first column -  if cline =~ '^/\[/\*]' -    return 0 -  endif - -  "Find the previous non-blank line -  let lnum = prevnonblank(v:lnum - 1) -  "Use zero indent at the top of the file -  if lnum == 0 -    return 0 -  endif - -  let prevline=getline(lnum) -  let ind = indent(lnum) -  let chg = 0 - -  " If previous line was a comment, use its indent -  if prevline =~ '^\s*//' -    return ind -  endif - -  " If previous line was a 'define', indent -  if prevline =~? '\(^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)\|\s*\S*\s*=>$\)' -    let chg = shiftwidth() -  " local methods indent the shift-width, plus 6 for the 'local' -  elseif prevline =~? '^\s*local' -    let chg = shiftwidth() + 6 -  " If previous line was a let with no closing semicolon, indent -  elseif prevline =~? '^\s*let.*[^;]\s*$' -    let chg = shiftwidth() -  " If previous line opened a parenthesis, and did not close it, indent -  elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$' -    return = match( prevline, '(.*\((.*)\|[^)]\)*.*$') + 1 -  "elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$' -  elseif prevline =~ '^[^(]*)\s*$' -    " This line closes a parenthesis.  Find opening -    let curr_line = prevnonblank(lnum - 1) -    while curr_line >= 0 -      let str = getline(curr_line) -      if str !~ '^.*(\s*[^)]*\((.*)\)*[^)]*$' -	let curr_line = prevnonblank(curr_line - 1) -      else -	break -      endif -    endwhile -    if curr_line < 0 -      return -1 -    endif -    let ind = indent(curr_line) -    " Although we found the closing parenthesis, make sure this -    " line doesn't start with an indentable command: -    let curr_str = getline(curr_line) -    if curr_str =~? '^\s*\(begin\|block\|case\|define\|else\|elseif\|for\|finally\|if\|select\|unless\|while\)' -      let chg = shiftwidth() -    endif -  endif - -  " If a line starts with end, un-indent (even if we just indented!) -  if cline =~? '^\s*\(cleanup\|end\|else\|elseif\|exception\|finally\|otherwise\)' -    let chg = chg - shiftwidth() -  endif - -  return ind + chg -endfunction - -" vim:sw=2 tw=130 - -endif | 
