aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-05-28 15:13:44 +0200
committerGitHub <noreply@github.com>2023-05-28 15:13:44 +0200
commit03a2c5b77200845c30f62250f26e83ff7fbc24b3 (patch)
treebb794ec56cbf4639e5b59dae0a0eba53e5ef9304
parent8e17054a2333318340f23abd7a94abfe474fb52f (diff)
downloadrneovim-03a2c5b77200845c30f62250f26e83ff7fbc24b3.tar.gz
rneovim-03a2c5b77200845c30f62250f26e83ff7fbc24b3.tar.bz2
rneovim-03a2c5b77200845c30f62250f26e83ff7fbc24b3.zip
fix(ftplugin): source Lua files after Vimscript files per directory (#23801)
Problem: Lua ftplugins in runtime take precedence over Vimscript ftplugins in user configs (even in `after/`). Solution: Source ftplugins separately per directory, first Vimscript then Lua.
-rw-r--r--runtime/ftplugin.vim8
1 files changed, 5 insertions, 3 deletions
diff --git a/runtime/ftplugin.vim b/runtime/ftplugin.vim
index feef949dba..d24c0a036e 100644
--- a/runtime/ftplugin.vim
+++ b/runtime/ftplugin.vim
@@ -28,9 +28,11 @@ augroup filetypeplugin
" 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'
- " Load lua ftplugins
- exe printf('runtime! ftplugin/%s.lua ftplugin/%s_*.lua ftplugin/%s/*.lua', name, name, name)
+ " Load Lua ftplugins after Vim ftplugins _per directory_
+ " TODO(clason): use nvim__get_runtime when supports globs and modeline
+ exe printf('runtime! ftplugin/%s.vim ftplugin/%s.lua', name, name)
+ exe printf('runtime! ftplugin/%s_*.vim ftplugin/%s_*.lua', name, name)
+ exe printf('runtime! ftplugin/%s/*.vim ftplugin/%s/*.lua', name, name)
endfor
endif
endfunc