neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 14003bd1c56322b1095e3cda44fdd78aec54ff27
parent 565cfa04eb00125eae2ade200591d435f5a86ad0
Author: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Date:   Thu,  8 Jan 2026 11:38:45 +0200

fix(pack): ensure plugin directory is created during first usage attempt

Problem: Plugin directory ('.../pack/core/opt') may be missing while
  lockfile is present. Like after discarded attempt to install plugins.

Solution: Ensure plugin directory is created on first `vim.pack` use.

Diffstat:
Mruntime/lua/vim/pack.lua | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/runtime/lua/vim/pack.lua b/runtime/lua/vim/pack.lua @@ -838,9 +838,13 @@ local function lock_sync(confirm) end -- Compute installed plugins + local plug_dir = get_plug_dir() + if vim.uv.fs_stat(plug_dir) == nil then + vim.fn.mkdir(plug_dir, 'p') + end + -- NOTE: The directory traversal is done on every startup, but it is very fast. -- Also, single `vim.fs.dir()` scales better than on demand `uv.fs_stat()` checks. - local plug_dir = get_plug_dir() local installed = {} --- @type table<string,string> for name, fs_type in vim.fs.dir(plug_dir) do installed[name] = fs_type