From 1ffaaa06c5529b26a97d57caf349eaed02233795 Mon Sep 17 00:00:00 2001 From: Evgeni Chasnovski Date: Fri, 22 Aug 2025 13:41:36 +0300 Subject: [PATCH] docs(pack): document `$XDG_DATA_HOME/nvim/site` presence in 'packpath' Problem: Some use cases might lead to `vim.pack.add()` failing to `:packadd` a plugin because of missing entry in 'packpath'. Like with `nvim --clean` or manually setting `$XDG_DATA_HOME` during startup. Solution: Document it. A more proactive approach can be ensuring correct 'packpath' entry, but it is currently somewhat verbose to do (due to having to adjust for Windows using `\` in 'packpath' entries). --- runtime/doc/pack.txt | 4 +++- runtime/lua/vim/pack.lua | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/runtime/doc/pack.txt b/runtime/doc/pack.txt index 29482354af..285ad08bfc 100644 --- a/runtime/doc/pack.txt +++ b/runtime/doc/pack.txt @@ -211,7 +211,9 @@ WORK IN PROGRESS built-in plugin manager! Early testing of existing features is appreciated, but expect breaking changes without notice. Manages plugins only in a dedicated *vim.pack-directory* (see |packages|): -`$XDG_DATA_HOME/nvim/site/pack/core/opt`. Plugin's subdirectory name matches +`$XDG_DATA_HOME/nvim/site/pack/core/opt`. `$XDG_DATA_HOME/nvim/site` needs to +be part of 'packpath'. It usually is, but might not be in cases like |--clean| +or setting |$XDG_DATA_HOME| during startup. Plugin's subdirectory name matches plugin's name in specification. It is assumed that all plugins in the directory are managed exclusively by `vim.pack`. diff --git a/runtime/lua/vim/pack.lua b/runtime/lua/vim/pack.lua index ea3007731d..279d8a1d66 100644 --- a/runtime/lua/vim/pack.lua +++ b/runtime/lua/vim/pack.lua @@ -4,7 +4,9 @@ ---is appreciated, but expect breaking changes without notice. --- ---Manages plugins only in a dedicated [vim.pack-directory]() (see |packages|): ----`$XDG_DATA_HOME/nvim/site/pack/core/opt`. +---`$XDG_DATA_HOME/nvim/site/pack/core/opt`. `$XDG_DATA_HOME/nvim/site` needs to +---be part of 'packpath'. It usually is, but might not be in cases like |--clean| or +---setting |$XDG_DATA_HOME| during startup. ---Plugin's subdirectory name matches plugin's name in specification. ---It is assumed that all plugins in the directory are managed exclusively by `vim.pack`. ---