Files
outline.nvim/lua/symbols-outline/utils/init.lua
2022-02-22 22:32:53 +07:00

37 lines
691 B
Lua

local M = {}
---maps the table|string of keys to the action
---@param keys table|string
---@param action string
function M.nmap(bufnr, keys, action)
if type(keys) == 'string' then
keys = { keys }
end
for _, value in ipairs(keys) do
vim.api.nvim_buf_set_keymap(bufnr, 'n', value, action, { silent = true, noremap = true })
end
end
--- @param f function
--- @param delay number
--- @return function
function M.debounce(f, delay)
local timer = vim.loop.new_timer()
return function(...)
local args = { ... }
timer:start(
delay,
0,
vim.schedule_wrap(function()
timer:stop()
f(unpack(args))
end)
)
end
end
return M