diff options
Diffstat (limited to 'indent/vb.vim')
-rw-r--r-- | indent/vb.vim | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/indent/vb.vim b/indent/vb.vim deleted file mode 100644 index 853d8e38..00000000 --- a/indent/vb.vim +++ /dev/null @@ -1,82 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 - -" Vim indent file -" Language: VisualBasic (ft=vb) / Basic (ft=basic) / SaxBasic (ft=vb) -" Author: Johannes Zellner <johannes@zellner.org> -" Last Change: Fri, 18 Jun 2004 07:22:42 CEST -" Small update 2010 Jul 28 by Maxim Kim - -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal autoindent -setlocal indentexpr=VbGetIndent(v:lnum) -setlocal indentkeys& -setlocal indentkeys+==~else,=~elseif,=~end,=~wend,=~case,=~next,=~select,=~loop,<:> - -let b:undo_indent = "set ai< indentexpr< indentkeys<" - -" Only define the function once. -if exists("*VbGetIndent") - finish -endif - -fun! VbGetIndent(lnum) - " labels and preprocessor get zero indent immediately - let this_line = getline(a:lnum) - let LABELS_OR_PREPROC = '^\s*\(\<\k\+\>:\s*$\|#.*\)' - if this_line =~? LABELS_OR_PREPROC - return 0 - endif - - " Find a non-blank line above the current line. - " Skip over labels and preprocessor directives. - let lnum = a:lnum - while lnum > 0 - let lnum = prevnonblank(lnum - 1) - let previous_line = getline(lnum) - if previous_line !~? LABELS_OR_PREPROC - break - endif - endwhile - - " Hit the start of the file, use zero indent. - if lnum == 0 - return 0 - endif - - let ind = indent(lnum) - - " Add - if previous_line =~? '^\s*\<\(begin\|\%(\%(private\|public\|friend\)\s\+\)\=\%(function\|sub\|property\)\|select\|case\|default\|if\|else\|elseif\|do\|for\|while\|enum\|with\)\>' - let ind = ind + shiftwidth() - endif - - " Subtract - if this_line =~? '^\s*\<end\>\s\+\<select\>' - if previous_line !~? '^\s*\<select\>' - let ind = ind - 2 * shiftwidth() - else - " this case is for an empty 'select' -- 'end select' - " (w/o any case statements) like: - " - " select case readwrite - " end select - let ind = ind - shiftwidth() - endif - elseif this_line =~? '^\s*\<\(end\|else\|elseif\|until\|loop\|next\|wend\)\>' - let ind = ind - shiftwidth() - elseif this_line =~? '^\s*\<\(case\|default\)\>' - if previous_line !~? '^\s*\<select\>' - let ind = ind - shiftwidth() - endif - endif - - return ind -endfun - -" vim:sw=4 - -endif |