From 4e1644d4d3cb6b2ae7bd7110add8424e5217882b Mon Sep 17 00:00:00 2001 From: Olivia Kinnear Date: Sat, 6 Dec 2025 16:20:02 -0600 Subject: feat(spell): opt-out of confirm when downloading spellfiles #36836 --- runtime/lua/nvim/spellfile.lua | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'runtime/lua/nvim/spellfile.lua') diff --git a/runtime/lua/nvim/spellfile.lua b/runtime/lua/nvim/spellfile.lua index 63882c37a3..45bfd5b872 100644 --- a/runtime/lua/nvim/spellfile.lua +++ b/runtime/lua/nvim/spellfile.lua @@ -25,11 +25,16 @@ local M = {} --- Number of milliseconds after which the [vim.net.request()] times out. --- (default: 15000) --- @field timeout_ms integer +--- +--- Whether to ask user to confirm download. +--- (default: `true`) +--- @field confirm boolean --- @type nvim.spellfile.Opts local config = { url = vim.g.spellfile_URL or 'https://ftp.nluug.nl/pub/vim/runtime/spell', timeout_ms = 15000, + confirm = true, } --- Configure spellfile download options. For example: @@ -270,18 +275,22 @@ function M.get(lang) return end - local prompt = ('No spell file found for %s (%s). Download? [y/N] '):format( - info.lang, - info.encoding - ) - vim.ui.input({ prompt = prompt }, function(input) - -- properly clear the message window - vim.api.nvim_echo({ { ' ' } }, false, { kind = 'empty' }) - if not input or input:lower() ~= 'y' then - return - end + if config.confirm then + local prompt = ('No spell file found for %s (%s). Download? [y/N] '):format( + info.lang, + info.encoding + ) + vim.ui.input({ prompt = prompt }, function(input) + -- properly clear the message window + vim.api.nvim_echo({ { ' ' } }, false, { kind = 'empty' }) + if not input or input:lower() ~= 'y' then + return + end + download(info) + end) + else download(info) - end) + end return info end -- cgit