fix(vim.system): improve error message when cwd does not exist

Problem:
vim.uv.spawn will emit ENOENT for either when the cmd or cwd do not
exist and does not tell you which.

Solution:
If an error occurs, check if cwd was supplied and included in the error
message if it does not exist.

(cherry picked from commit 532610388b)
This commit is contained in:
Lewis Russell
2025-04-29 10:48:18 +01:00
committed by github-actions[bot]
parent 4cb2b19197
commit 3a0d37681f
2 changed files with 13 additions and 2 deletions

View File

@@ -55,9 +55,14 @@ describe('vim.system', function()
describe('(' .. name .. ')', function()
it('failure modes', function()
t.matches(
'ENOENT%: no such file .*: "non%-existent%-cmd"',
"ENOENT%: no such file .* %(cmd%): 'non%-existent%-cmd'",
t.pcall_err(system, { 'non-existent-cmd', 'arg1', 'arg2' }, { text = true })
)
t.matches(
"ENOENT%: no such file .* %(cwd%): 'non%-existent%-cwd'",
t.pcall_err(system, { 'echo', 'hello' }, { cwd = 'non-existent-cwd', text = true })
)
end)
it('can run simple commands', function()