init.lua/lua/core/utils.lua(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
local is_qf_exists = false
return {
---@param mode string|table
---@param from string
---@param to string|function
map = function(mode, from, to)
vim.keymap.set(mode, from, to, { noremap = true, silent = true })
end,
---@param mode string|table
---@param from string
---@param to string|function
expr = function(mode, from, to)
vim.keymap.set(mode, from, to, { noremap = true, expr = true })
end,
---@param module string
---@param method string
---@param args? string
---@return string
smap = function(module, method, args)
args = args or ""
return string.format(
"<cmd>lua require'%s'.%s(%s)<cr>",
module,
method,
args
)
end,
qf_toggle = function()
is_qf_exists = false
for _, win in
pairs(vim.fn.getwininfo() --[[@as table]])
do
if win["quickfix"] == 1 then
is_qf_exists = true
end
end
if is_qf_exists == true then
vim.cmd "cclose"
return
end
if not vim.tbl_isempty(vim.fn.getqflist()) then
vim.cmd "copen"
end
end,
---@return boolean
get_qf_status = function()
return is_qf_exists
end,
}
|