1*071d4279SBram Moolenaar" Vim filetype plugin file 2*071d4279SBram Moolenaar" Language: VisualBasic (ft=vb) 3*071d4279SBram Moolenaar" Maintainer: Johannes Zellner <[email protected]> 4*071d4279SBram Moolenaar" Last Change: Thu, 22 Nov 2001 12:56:14 W. Europe Standard Time 5*071d4279SBram Moolenaar 6*071d4279SBram Moolenaarif exists("b:did_ftplugin") | finish | endif 7*071d4279SBram Moolenaarlet b:did_ftplugin = 1 8*071d4279SBram Moolenaar 9*071d4279SBram Moolenaarsetlocal com=sr:'\ -,mb:'\ \ ,el:'\ \ ,:' 10*071d4279SBram Moolenaar 11*071d4279SBram Moolenaar" we need this wrapper, as call doesn't allow a count 12*071d4279SBram Moolenaarfun! <SID>VbSearch(pattern, flags) 13*071d4279SBram Moolenaar let cnt = v:count1 14*071d4279SBram Moolenaar while cnt > 0 15*071d4279SBram Moolenaar call search(a:pattern, a:flags) 16*071d4279SBram Moolenaar let cnt = cnt - 1 17*071d4279SBram Moolenaar endwhile 18*071d4279SBram Moolenaarendfun 19*071d4279SBram Moolenaar 20*071d4279SBram Moolenaarlet s:cpo_save = &cpo 21*071d4279SBram Moolenaarset cpo&vim 22*071d4279SBram Moolenaar 23*071d4279SBram Moolenaar" NOTE the double escaping \\| 24*071d4279SBram Moolenaarnnoremap <buffer> <silent> [[ :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'bW')<cr> 25*071d4279SBram Moolenaarnnoremap <buffer> <silent> ]] :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'W')<cr> 26*071d4279SBram Moolenaarnnoremap <buffer> <silent> [] :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'bW')<cr> 27*071d4279SBram Moolenaarnnoremap <buffer> <silent> ][ :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'W')<cr> 28*071d4279SBram Moolenaar 29*071d4279SBram Moolenaar" matchit support 30*071d4279SBram Moolenaarif exists("loaded_matchit") 31*071d4279SBram Moolenaar let b:match_ignorecase=1 32*071d4279SBram Moolenaar let b:match_words= 33*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\<if\>.*\<then\>\s*$:\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<elseif\>:\%(^\s*\)\@<=\<end\>\s\+\<if\>,' . 34*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\<for\>:\%(^\s*\)\@<=\<next\>,' . 35*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\<while\>:\%(^\s*\)\@<=\<wend\>,' . 36*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\<do\>:\%(^\s*\)\@<=\<loop\>\s\+\<while\>,' . 37*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\<select\>\s\+\<case\>:\%(^\s*\)\@<=\<case\>:\%(^\s*\)\@<=\<end\>\s\+\<select\>,' . 38*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\<enum\>:\%(^\s*\)\@<=\<end\>\s\<enum\>,' . 39*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\<with\>:\%(^\s*\)\@<=\<end\>\s\<with\>,' . 40*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<function\>\s\+\([^ \t(]\+\):\%(^\s*\)\@<=\<\1\>\s*=:\%(^\s*\)\@<=\<end\>\s\+\<function\>,' . 41*071d4279SBram Moolenaar \ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<sub\>\s\+:\%(^\s*\)\@<=\<end\>\s\+\<sub\>' 42*071d4279SBram Moolenaarendif 43*071d4279SBram Moolenaar 44*071d4279SBram Moolenaarlet &cpo = s:cpo_save 45*071d4279SBram Moolenaarunlet s:cpo_save 46