From 956f06b910e02b04f0ec019bad06b6dd9933b70b Mon Sep 17 00:00:00 2001 From: r0nsha Date: Thu, 26 Jun 2025 21:40:52 +0300 Subject: [PATCH] feat: add M.setup function for global configuration introduce M.setup to provide a global entrypoint for configuring vim.ui.input with default options. this refactors the vim.ui.input override from plugin/wrapinput.lua into the main module. also rename lua/wrapinput/init.lua to lua/wrapinput.lua for consistency --- lua/{wrapinput/init.lua => wrapinput.lua} | 14 ++++++++++++++ plugin/wrapinput.lua | 3 --- 2 files changed, 14 insertions(+), 3 deletions(-) rename lua/{wrapinput/init.lua => wrapinput.lua} (93%) delete mode 100644 plugin/wrapinput.lua diff --git a/lua/wrapinput/init.lua b/lua/wrapinput.lua similarity index 93% rename from lua/wrapinput/init.lua rename to lua/wrapinput.lua index 352c6cf..56cd468 100644 --- a/lua/wrapinput/init.lua +++ b/lua/wrapinput.lua @@ -1,3 +1,9 @@ +---@class wrapinput.UserConfig +---@field padding? integer +---@field max_width? integer +---@field max_height? integer +---@field win? vim.api.keyset.win_config + ---@class wrapinput.Config ---@field prompt string ---@field default string @@ -200,4 +206,12 @@ function M.input(config, on_confirm) setup_autocmds(winnr, bufnr, config) end +---@param config? wrapinput.UserConfig +function M.setup(config) + vim.ui.input = function(opts, on_confirm) + config = vim.tbl_deep_extend("force", config or {}, opts or {}) + M.input(config --[[@as wrapinput.Config]], on_confirm) + end +end + return M diff --git a/plugin/wrapinput.lua b/plugin/wrapinput.lua deleted file mode 100644 index e9c3ff7..0000000 --- a/plugin/wrapinput.lua +++ /dev/null @@ -1,3 +0,0 @@ -vim.ui.input = function(opts, on_confirm) - require("wrapinput").input(opts or {}, on_confirm) -end -- 2.54.0