diff --git a/plug.vim b/plug.vim index 2b1be94..0e41553 100644 --- a/plug.vim +++ b/plug.vim @@ -222,7 +222,9 @@ function! plug#end() if has_key(plug, 'for') let types = s:to_a(plug.for) if !empty(types) + augroup filetypedetect call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim') + augroup END endif for type in types call s:assoc(lod.ft, type, name) diff --git a/test/regressions.vader b/test/regressions.vader index 6f20fcc..0b19db0 100644 --- a/test/regressions.vader +++ b/test/regressions.vader @@ -286,3 +286,19 @@ Execute (#350: Ruby installer failed to unshallow tagged plugin on update): PlugUpdate Assert !filereadable(g:plugs['vim-easy-align'].dir.'/.git/shallow') q + +********************************************************************** +Execute (#474: Load ftdetect files in filetypedetect augroup): + call plug#begin('/tmp/plugged') + Plug 'junegunn/rust.vim', { 'for': 'rust', 'commit': '115d321d383eb96d438466c56cc871fcc1bd0faa' } + call plug#end() + PlugInstall + q + + tabnew /tmp/any.rs + AssertEqual 'rust', &filetype + Log &filetype + filetype detect + AssertEqual 'rust', &filetype + Log &filetype + bd diff --git a/test/run b/test/run index 2310300..8bbc181 100755 --- a/test/run +++ b/test/run @@ -27,6 +27,7 @@ clone_repos() ( done clone https://github.com/vim-scripts/beauty256.git vim-scripts/beauty256 & clone https://github.com/junegunn/fzf.git fzf & + clone https://github.com/rust-lang/rust.vim.git junegunn/rust.vim & clone https://github.com/yous/subsubmodule.git yous/subsubmodule && \ (cd yous/subsubmodule && git submodule update --init --recursive &) & wait