Mercurial > vim
diff runtime/ftplugin.vim @ 782:d20041a02ee5
updated for version 7.0228
author | vimboss |
---|---|
date | Sat, 18 Mar 2006 21:40:56 +0000 |
parents | 9281a51ca7a2 |
children | 8cd729851562 |
line wrap: on
line diff
--- a/runtime/ftplugin.vim +++ b/runtime/ftplugin.vim @@ -1,7 +1,7 @@ " Vim support file to switch on loading plugins for file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last change: 2005 Mar 25 +" Last change: 2006 Mar 18 if exists("did_load_ftplugin") finish @@ -10,18 +10,26 @@ let did_load_ftplugin = 1 augroup filetypeplugin au FileType * call s:LoadFTPlugin() + func! s:LoadFTPlugin() if exists("b:undo_ftplugin") exe b:undo_ftplugin unlet! b:undo_ftplugin b:did_ftplugin endif - if expand("<amatch>") != "" + + let s = expand("<amatch>") + if s != "" if &cpo =~# "S" && exists("b:did_ftplugin") " In compatible mode options are reset to the global values, need to " set the local values also when a plugin was already used. unlet b:did_ftplugin endif - runtime! ftplugin/<amatch>.vim ftplugin/<amatch>_*.vim ftplugin/<amatch>/*.vim + + " When there is a dot it is used to separate filetype names. Thus for + " "aaa.bbb" load "aaa" and then "bbb". + for name in split(s, '\.') + exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim' + endfor endif endfunc augroup END