aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua
diff options
context:
space:
mode:
authorJaehwang Jung <tomtomjhj@gmail.com>2024-04-13 20:41:59 +0900
committerGitHub <noreply@github.com>2024-04-13 19:41:59 +0800
commit328a2373514a880ea80bed53d63de76e2dea2a9c (patch)
tree2291577bef39d923f0e23cf8dee415460c60dcd7 /runtime/lua
parent5ce6b4a294216fb7e3cf4ee79ab3d3c7fde7cb1a (diff)
downloadrneovim-328a2373514a880ea80bed53d63de76e2dea2a9c.tar.gz
rneovim-328a2373514a880ea80bed53d63de76e2dea2a9c.tar.bz2
rneovim-328a2373514a880ea80bed53d63de76e2dea2a9c.zip
fix(defaults): auto-close terminal for &shell with args (#28276)
Problem: The `:terminal` auto-close logic does not support `&shell` that has arguments, e.g., `/bin/bash -O globstar`. Solution: Join `argv` and match `&shell`. This is not perfect since `&shell` may contain irregular spaces and quotes, but it seems to be good enough.
Diffstat (limited to 'runtime/lua')
-rw-r--r--runtime/lua/vim/_defaults.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/lua/vim/_defaults.lua b/runtime/lua/vim/_defaults.lua
index 2f02c2b389..2afcc185e5 100644
--- a/runtime/lua/vim/_defaults.lua
+++ b/runtime/lua/vim/_defaults.lua
@@ -175,7 +175,7 @@ do
end
local info = vim.api.nvim_get_chan_info(vim.bo[args.buf].channel)
local argv = info.argv or {}
- if #argv == 1 and argv[1] == vim.o.shell then
+ if table.concat(argv, ' ') == vim.o.shell then
vim.api.nvim_buf_delete(args.buf, { force = true })
end
end,