aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_defaults.lua
diff options
context:
space:
mode:
authorYochem van Rosmalen <git@yochem.nl>2025-05-19 15:11:45 +0200
committerYochem van Rosmalen <git@yochem.nl>2025-05-19 15:16:36 +0200
commitdc6fc11b8753111a80f537dc762152d9adad2518 (patch)
treeab56307913c75577d14ae62fac222a081421d660 /runtime/lua/vim/_defaults.lua
parentdc6885dc24c91f6465de985498cd02deed1aa0f8 (diff)
downloadrneovim-dc6fc11b8753111a80f537dc762152d9adad2518.tar.gz
rneovim-dc6fc11b8753111a80f537dc762152d9adad2518.tar.bz2
rneovim-dc6fc11b8753111a80f537dc762152d9adad2518.zip
fix(defaults): start exrc search from parent directory
Problem: The exrc file in the current directory is executed twice, here and in `do_exrc_initalization()`. Solution: Start search from parent directory. Let core handle exrc in current directory.
Diffstat (limited to 'runtime/lua/vim/_defaults.lua')
-rw-r--r--runtime/lua/vim/_defaults.lua14
1 files changed, 9 insertions, 5 deletions
diff --git a/runtime/lua/vim/_defaults.lua b/runtime/lua/vim/_defaults.lua
index d0b3fea389..9ae2412350 100644
--- a/runtime/lua/vim/_defaults.lua
+++ b/runtime/lua/vim/_defaults.lua
@@ -928,13 +928,17 @@ do
vim.api.nvim_create_autocmd('VimEnter', {
group = vim.api.nvim_create_augroup('nvim.find_exrc', {}),
- desc = 'Find project-local configuration',
+ desc = 'Find exrc files in parent directories',
callback = function()
if vim.o.exrc then
- local files = vim.fs.find(
- { '.nvim.lua', '.nvimrc', '.exrc' },
- { type = 'file', upward = true, limit = math.huge }
- )
+ -- Start from parent directory, as exrc file in the current
+ -- directory is already loaded in do_exrc_initalization().
+ local files = vim.fs.find({ '.nvim.lua', '.nvimrc', '.exrc' }, {
+ type = 'file',
+ upward = true,
+ limit = math.huge,
+ path = vim.fs.dirname(vim.uv.cwd()),
+ })
for _, file in ipairs(files) do
local trusted = vim.secure.read(file) --[[@as string|nil]]
if trusted then