mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			46 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim filetype plugin file | ||
|  | " Language:	VisualBasic (ft=vb) | ||
|  | " Maintainer:	Johannes Zellner <johannes@zellner.org> | ||
|  | " Last Change:	Thu, 22 Nov 2001 12:56:14 W. Europe Standard Time | ||
|  | 
 | ||
|  | if exists("b:did_ftplugin") | finish | endif | ||
|  | let b:did_ftplugin = 1 | ||
|  | 
 | ||
|  | setlocal com=sr:'\ -,mb:'\ \ ,el:'\ \ ,:' | ||
|  | 
 | ||
|  | " we need this wrapper, as call doesn't allow a count | ||
|  | fun! <SID>VbSearch(pattern, flags) | ||
|  |     let cnt = v:count1 | ||
|  |     while cnt > 0 | ||
|  | 	call search(a:pattern, a:flags) | ||
|  | 	let cnt = cnt - 1 | ||
|  |     endwhile | ||
|  | endfun | ||
|  | 
 | ||
|  | let s:cpo_save = &cpo | ||
|  | set cpo&vim | ||
|  | 
 | ||
|  | " NOTE the double escaping \\| | ||
|  | nnoremap <buffer> <silent> [[ :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'bW')<cr> | ||
|  | nnoremap <buffer> <silent> ]] :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'W')<cr> | ||
|  | nnoremap <buffer> <silent> [] :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'bW')<cr> | ||
|  | nnoremap <buffer> <silent> ][ :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'W')<cr> | ||
|  | 
 | ||
|  | " matchit support | ||
|  | if exists("loaded_matchit") | ||
|  |     let b:match_ignorecase=1 | ||
|  |     let b:match_words= | ||
|  |     \ '\%(^\s*\)\@<=\<if\>.*\<then\>\s*$:\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<elseif\>:\%(^\s*\)\@<=\<end\>\s\+\<if\>,' . | ||
|  |     \ '\%(^\s*\)\@<=\<for\>:\%(^\s*\)\@<=\<next\>,' . | ||
|  |     \ '\%(^\s*\)\@<=\<while\>:\%(^\s*\)\@<=\<wend\>,' . | ||
|  |     \ '\%(^\s*\)\@<=\<do\>:\%(^\s*\)\@<=\<loop\>\s\+\<while\>,' . | ||
|  |     \ '\%(^\s*\)\@<=\<select\>\s\+\<case\>:\%(^\s*\)\@<=\<case\>:\%(^\s*\)\@<=\<end\>\s\+\<select\>,' . | ||
|  |     \ '\%(^\s*\)\@<=\<enum\>:\%(^\s*\)\@<=\<end\>\s\<enum\>,' . | ||
|  |     \ '\%(^\s*\)\@<=\<with\>:\%(^\s*\)\@<=\<end\>\s\<with\>,' . | ||
|  |     \ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<function\>\s\+\([^ \t(]\+\):\%(^\s*\)\@<=\<\1\>\s*=:\%(^\s*\)\@<=\<end\>\s\+\<function\>,' . | ||
|  |     \ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<sub\>\s\+:\%(^\s*\)\@<=\<end\>\s\+\<sub\>' | ||
|  | endif | ||
|  | 
 | ||
|  | let &cpo = s:cpo_save | ||
|  | unlet s:cpo_save |