aboutsummaryrefslogtreecommitdiff
path: root/test/functional/plugin/pack_spec.lua
diff options
context:
space:
mode:
authorEvgeni Chasnovski <evgeni.chasnovski@gmail.com>2025-08-09 17:28:14 +0300
committerEvgeni Chasnovski <evgeni.chasnovski@gmail.com>2025-08-09 17:54:39 +0300
commitacff86601efd3923fdb1ef4088574fff6befbe37 (patch)
treef97c65e1700a52438e7815f66031e600cc4eb7b7 /test/functional/plugin/pack_spec.lua
parentdd828690c747d0adf19b9f455e0b4cfe2d1ae954 (diff)
downloadrneovim-acff86601efd3923fdb1ef4088574fff6befbe37.tar.gz
rneovim-acff86601efd3923fdb1ef4088574fff6befbe37.tar.bz2
rneovim-acff86601efd3923fdb1ef4088574fff6befbe37.zip
feat(pack): allow skip install confirmation in `add()`
Problem: No way to skip install confirmation in `add()`. Having install confirmation by default is a more secure design. However, users are usually aware of the fact that plugin will be installed and there is currently no way to skip confirmation. Plus it can introduce inconvenience on the clean config initialization if it is modularized with many `vim.pack.add()` calls (leads to confirming installation many times in a row). Solution: Add `opts.confirm` option that can skip install confirmation.
Diffstat (limited to 'test/functional/plugin/pack_spec.lua')
-rw-r--r--test/functional/plugin/pack_spec.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/functional/plugin/pack_spec.lua b/test/functional/plugin/pack_spec.lua
index 5123321121..165afa1f49 100644
--- a/test/functional/plugin/pack_spec.lua
+++ b/test/functional/plugin/pack_spec.lua
@@ -332,6 +332,22 @@ describe('vim.pack', function()
eq({ confirm_msg, 'Proceed? &Yes\n&No', 1, 'Question' }, exec_lua('return _G.confirm_args'))
end)
+ it('respects `opts.confirm`', function()
+ exec_lua(function()
+ _G.confirm_used = false
+ ---@diagnostic disable-next-line: duplicate-set-field
+ vim.fn.confirm = function()
+ _G.confirm_used = true
+ return 1
+ end
+
+ vim.pack.add({ repos_src.basic }, { confirm = false })
+ end)
+
+ eq(false, exec_lua('return _G.confirm_used'))
+ eq('basic main', exec_lua('return require("basic")'))
+ end)
+
it('installs at proper version', function()
local out = exec_lua(function()
vim.pack.add({