all repos

init.lua @ f6acf4c

my nvim config

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,
}