neovim

Personal neovim configuration files
git clone git://gtms.dev/neovim
Log | Files | Refs

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