xref: /vim-8.2.3635/runtime/ftplugin.vim (revision 7d1f5dbc)
1" Vim support file to switch on loading plugins for file types
2"
3" Maintainer:	Bram Moolenaar <[email protected]>
4" Last change:	2005 Mar 25
5
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()
14    if exists("b:undo_ftplugin")
15      exe b:undo_ftplugin
16      unlet! b:undo_ftplugin b:did_ftplugin
17    endif
18    if expand("<amatch>") != ""
19      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
28