Skip to content

Commit

Permalink
Source lua files (if any) from rtp when loading a plugin
Browse files Browse the repository at this point in the history
Neovim 0.5.0 allows lua files to be used in runtime files (such as
plugin, ftdetect, etc.) as well as vimscript files. Indeed, some
plugins have `plugin/*.lua` scripts only, but not `plugin/*.vim`;
such plugins cannot be sourced and work properly if it is lazy-loaded.
  • Loading branch information
wookayin authored and junegunn committed Feb 24, 2024
1 parent 6154433 commit 64b9f9e
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions plug.vim
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,9 @@ function! plug#end()
if !empty(types)
augroup filetypedetect
call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim')
if has('nvim-0.5.0')
call s:source(s:rtp(plug), 'ftdetect/**/*.lua', 'after/ftdetect/**/*.lua')
endif
augroup END
endif
for type in types
Expand Down Expand Up @@ -438,6 +441,9 @@ endfunction

function! s:load_plugin(spec)
call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim')
if has('nvim-0.5.0')
call s:source(s:rtp(a:spec), 'plugin/**/*.lua', 'after/plugin/**/*.lua')
endif
endfunction

function! s:reload_plugins()
Expand Down Expand Up @@ -655,6 +661,9 @@ function! s:lod(names, types, ...)
let rtp = s:rtp(g:plugs[name])
for dir in a:types
call s:source(rtp, dir.'/**/*.vim')
if has('nvim-0.5.0') " see neovim#14686
call s:source(rtp, dir.'/**/*.lua')
endif
endfor
if a:0
if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2))
Expand Down

0 comments on commit 64b9f9e

Please sign in to comment.