diff --git a/plugin/snipMate.vim b/plugin/snipMate.vim index 790c041..c6f6b8c 100644 --- a/plugin/snipMate.vim +++ b/plugin/snipMate.vim @@ -106,14 +106,13 @@ endf let g:did_ft = {} fun! GetSnippets(dir) for ft in split(&ft, '\.') - if !has_key(g:did_ft, ft) - if isdirectory(a:dir.ft) - call ExtractSnips(a:dir.ft, ft) - endif - if filereadable(a:dir.ft.'.snippets') - call ExtractSnipsFile(a:dir.ft.'.snippets') - endif - endif + if has_key(g:did_ft, ft) | continue | endif + for path in split(globpath(a:dir, ft.'\(-*\)\=/'), '\n') + call ExtractSnips(path, ft) + endfor + for path in split(globpath(a:dir, ft.'\(-*\)\=.snippets'), '\n') + call ExtractSnipsFile(path) + endfor let g:did_ft[ft] = 1 endfor endf