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