mirror of https://github.com/folke/lazy.nvim.git
feat: single-plugin keys in the lazy view in visual mode (#1476)
Applies to all plugins contained in the range
This commit is contained in:
parent
8f19915175
commit
7667a73dee
|
@ -251,8 +251,9 @@ end
|
|||
---@param key string
|
||||
---@param fn fun(self?)
|
||||
---@param desc? string
|
||||
function M:on_key(key, fn, desc)
|
||||
vim.keymap.set("n", key, function()
|
||||
---@param mode? string[]
|
||||
function M:on_key(key, fn, desc,mode)
|
||||
vim.keymap.set(mode or "n", key, function()
|
||||
fn(self)
|
||||
end, {
|
||||
nowait = true,
|
||||
|
|
|
@ -297,11 +297,21 @@ function M:setup_modes()
|
|||
end
|
||||
if m.key_plugin and name ~= "restore" then
|
||||
self:on_key(m.key_plugin, function()
|
||||
local plugin = self.render:get_plugin()
|
||||
if plugin then
|
||||
Commands.cmd(name, { plugins = { plugin } })
|
||||
vim.api.nvim_feedkeys(vim.keycode("<esc>"), "n", false)
|
||||
local plugins = {}
|
||||
if vim.api.nvim_get_mode().mode:lower() == "v" then
|
||||
local f, t = vim.fn.line("."), vim.fn.line("v")
|
||||
if f > t then f, t = t, f end
|
||||
for i = f, t do
|
||||
plugins[#plugins + 1] = self.render:get_plugin(i)
|
||||
end
|
||||
else
|
||||
plugins[1] = self.render:get_plugin()
|
||||
end
|
||||
end, m.desc_plugin)
|
||||
if #plugins > 0 then
|
||||
Commands.cmd(name, { plugins = plugins })
|
||||
end
|
||||
end, m.desc_plugin, { "n", "x" })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue