FILE: C:\Program Files\Git\usr\share\vim\vim91\ftplugin\vb.vim
--
" Vim filetype plugin file
" Language: Visual Basic (ft=vb)
" Maintainer: Doug Kearns
" Previous Maintainer: Johannes Zellner
" Last Change: 2024 Jan 14
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=sr:'\ -,mb:'\ \ ,el:'\ \ ,:'
setlocal commentstring='\ %s
setlocal formatoptions-=t formatoptions+=croql
let b:undo_ftplugin = "setlocal com< cms< fo<"
" we need this wrapper, as call doesn't allow a count
function! s:VbSearch(pattern, flags)
let cnt = v:count1
while cnt > 0
call search(a:pattern, a:flags)
let cnt = cnt - 1
endwhile
endfunction
if !exists("no_plugin_maps") && !exists("no_vb_maps")
nnoremap [[ call VbSearch('^\s*\%(\%(private\public\)\s\+\)\=\%(function\sub\)', 'sbW')
vnoremap [[ call VbSearch('^\s*\%(\%(private\public\)\s\+\)\=\%(function\sub\)', 'sbW')
nnoremap ]] call VbSearch('^\s*\%(\%(private\public\)\s\+\)\=\%(function\sub\)', 'sW')
vnoremap ]] call VbSearch('^\s*\%(\%(private\public\)\s\+\)\=\%(function\sub\)', 'sW')
nnoremap [] call VbSearch('^\s*end\s\+\%(function\sub\)', 'sbW')
vnoremap [] call VbSearch('^\s*end\s\+\%(function\sub\)', 'sbW')
nnoremap ][ call VbSearch('^\s*end\s\+\%(function\sub\)', 'sW')
vnoremap ][ call VbSearch('^\s*end\s\+\%(function\sub\)', 'sW')
let b:undo_ftplugin .= " | sil! exe 'nunmap [[' | sil! exe 'vunmap [['" .
\ " | sil! exe 'nunmap ]]' | sil! exe 'vunmap ]]'" .
\ " | sil! exe 'nunmap []' | sil! exe 'vunmap []'" .
\ " | sil! exe 'nunmap ][' | sil! exe 'vunmap ]['"
endif
" TODO: line start anchors are almost certainly overly restrictive - allow
" after statement separators. Even in QuickBasic only block IF statements
" were required to be at the start of a line.
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 1
let b:match_words =
\ '\%(^\s*\)\@<=\.*\\s*\%($\|''\):\%(^\s*\)\@<=\:\%(^\s*\)\@<=\:\%(^\s*\)\@<=\\s\+\,' .
\ '\%(^\s*\)\@<=\:\%(^\s*\)\@<=\,' .
\ '\%(^\s*\)\@<=\:\%(^\s*\)\@<=\,' .
\ '\%(^\s*\)\@<=\:\%(^\s*\)\@<=\\s\+\,' .
\ '\%(^\s*\)\@<=\