Skip to content

Commit 0686bf9

Browse files
committed
Fix for plenary path error
1 parent 57cd577 commit 0686bf9

File tree

1 file changed

+35
-3
lines changed

1 file changed

+35
-3
lines changed

tests/minimal_init.lua

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
-- Copyright (c) 2024 Erich L Foster
2-
--
2+
--
33
-- Permission is hereby granted, free of charge, to any person obtaining a copy of
44
-- this software and associated documentation files (the "Software"), to deal in
55
-- the Software without restriction, including without limitation the rights to
66
-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
77
-- of the Software, and to permit persons to whom the Software is furnished to do
88
-- so, subject to the following conditions:
9-
--
9+
--
1010
-- The above copyright notice and this permission notice shall be included in all
1111
-- copies or substantial portions of the Software.
12-
--
12+
--
1313
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1414
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1515
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -18,6 +18,38 @@
1818
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1919
-- SOFTWARE.
2020

21+
-- Create Neovim runtime directories needed by plenary
22+
local function ensure_dir(path)
23+
local stat = vim.loop.fs_stat(path)
24+
if not stat then
25+
vim.fn.mkdir(path, "p")
26+
end
27+
end
28+
29+
-- Create the directories that Neovim and plenary expect to exist
30+
ensure_dir(vim.fn.stdpath("data"))
31+
ensure_dir(vim.fn.stdpath("cache"))
32+
33+
-- Handle 'log' path safely
34+
local ok, log_path = pcall(function()
35+
return vim.fn.stdpath("log")
36+
end)
37+
if not ok then
38+
-- Fall back to a path within data directory for older Neovim versions
39+
log_path = vim.fn.stdpath("data") .. "/log"
40+
end
41+
ensure_dir(log_path)
42+
43+
-- Handle 'state' path safely
44+
local ok, state_path = pcall(function()
45+
return vim.fn.stdpath("state")
46+
end)
47+
if not ok then
48+
-- Fall back to a path within data directory
49+
state_path = vim.fn.stdpath("data") .. "/state"
50+
end
51+
ensure_dir(state_path)
52+
2153
local plenary_dir = os.getenv("PLENARY_DIR") or "/tmp/plenary.nvim"
2254
local is_not_a_directory = vim.fn.isdirectory(plenary_dir) == 0
2355
if is_not_a_directory then

0 commit comments

Comments
 (0)