blob: 922656605acdd2e50e3266c38c17bf3c2d1ee94b [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim support file to switch on loading plugins for file types
2"
3" Maintainer: Bram Moolenaar <Bram@vim.org>
Bram Moolenaar68b76a62005-03-25 21:53:48 +00004" Last change: 2005 Mar 25
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
6if exists("did_load_ftplugin")
7 finish
8endif
9let did_load_ftplugin = 1
10
11augroup filetypeplugin
12 au FileType * call s:LoadFTPlugin()
13 func! s:LoadFTPlugin()
Bram Moolenaar68b76a62005-03-25 21:53:48 +000014 if exists("b:undo_ftplugin")
15 exe b:undo_ftplugin
16 unlet! b:undo_ftplugin b:did_ftplugin
17 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000018 if expand("<amatch>") != ""
Bram Moolenaar071d4272004-06-13 20:20:40 +000019 if &cpo =~# "S" && exists("b:did_ftplugin")
20 " In compatible mode options are reset to the global values, need to
21 " set the local values also when a plugin was already used.
22 unlet b:did_ftplugin
23 endif
24 runtime! ftplugin/<amatch>.vim ftplugin/<amatch>_*.vim ftplugin/<amatch>/*.vim
25 endif
26 endfunc
27augroup END