From d3922ebb3f468138e325f79d46ab025d6f749241 Mon Sep 17 00:00:00 2001 From: Daniil Tsivinsky Date: Sat, 9 Mar 2024 00:12:07 +0300 Subject: [PATCH] neovim: check if quickfix is opened different way --- neovim/.config/nvim/after/plugin/remaps.lua | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/neovim/.config/nvim/after/plugin/remaps.lua b/neovim/.config/nvim/after/plugin/remaps.lua index 44c3ce3..459362a 100644 --- a/neovim/.config/nvim/after/plugin/remaps.lua +++ b/neovim/.config/nvim/after/plugin/remaps.lua @@ -21,14 +21,22 @@ vim.keymap.set("n", "H", ":tabprev") vim.keymap.set("n", "L", ":tabnext") -- quickfix -vim.g.daniil_quickfix_opened = 0 +local function is_quickfix_opened() + local wins = vim.api.nvim_tabpage_list_wins(0) + for _, win in ipairs(wins) do + local buf = vim.api.nvim_win_get_buf(win) + if vim.bo[buf].buftype == "quickfix" then + return true + end + end + + return false +end vim.keymap.set("n", "qq", function() - if vim.g.daniil_quickfix_opened == 1 then + if is_quickfix_opened() then vim.cmd.cclose() - vim.g.daniil_quickfix_opened = 0 else vim.cmd.copen() - vim.g.daniil_quickfix_opened = 1 end end) vim.keymap.set("n", "qn", vim.cmd.cnext)