quickfix.lua (735B)
1 local M = {} 2 3 function M.clear_loclist() 4 vim.fn.setloclist(0, {}, 'r') 5 vim.cmd [[silent! lclose]] 6 end 7 8 function M.clear_qflist() 9 vim.fn.setqflist({}, 'r') 10 vim.cmd [[silent! cclose]] 11 end 12 13 function M.toggle_loclist() 14 local wins = vim.fn.getwininfo() 15 local qf_open = vim.tbl_contains(wins, function(win) 16 return win.loclist == 1 17 end, { predicate = true }) 18 19 if qf_open then 20 vim.cmd.lclose() 21 else 22 vim.cmd [[silent! lwindow]] 23 end 24 end 25 26 function M.toggle_qflist() 27 local wins = vim.fn.getwininfo() 28 local qf_open = vim.tbl_contains(wins, function(win) 29 return win.quickfix == 1 30 end, { predicate = true }) 31 32 if qf_open then 33 vim.cmd.cclose() 34 else 35 vim.cmd [[botright cwindow]] 36 end 37 end 38 39 return M