153 lines
3.4 KiB
Lua
153 lines
3.4 KiB
Lua
local utils = require("dnsc.utils")
|
|
|
|
return {
|
|
"folke/which-key.nvim",
|
|
event = "VeryLazy",
|
|
config = function()
|
|
local wk = require("which-key")
|
|
|
|
---@class wk.Opts
|
|
local opts = {
|
|
icons = { mappings = false },
|
|
win = { border = "rounded" },
|
|
}
|
|
|
|
wk.setup(opts)
|
|
wk.add({
|
|
{ "<leader>o", group = "+open", mode = "n" },
|
|
{
|
|
"<leader>od",
|
|
"<cmd>vsplit | lua vim.lsp.buf.definition()<cr>",
|
|
desc = "Go to definition in other window",
|
|
mode = "n",
|
|
},
|
|
{ "<leader>b", group = "+buffer", mode = "n" },
|
|
{
|
|
"<leader>bn",
|
|
"<Cmd>bn<CR>",
|
|
desc = "Move to next buffer",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>bp",
|
|
"<Cmd>bp<CR>",
|
|
desc = "Move to previous buffer",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>bk",
|
|
"<Cmd>bn<CR>",
|
|
desc = "Kill buffer and window",
|
|
mode = "n",
|
|
},
|
|
{ "<leader>c", group = "+code", mode = "n" },
|
|
{
|
|
"<leader>cr",
|
|
function()
|
|
utils.compile_project()
|
|
end,
|
|
desc = "Compile project",
|
|
mode = "n",
|
|
},
|
|
|
|
{ "<leader>f", group = "+file", mode = "n" },
|
|
{
|
|
"<leader>fn",
|
|
"<cmd>enew<cr>",
|
|
desc = "Create a new file",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>fs",
|
|
"<cmd>w<cr>",
|
|
desc = "Save currently opened file",
|
|
mode = "n",
|
|
},
|
|
|
|
{ "<leader>qq", "<cmd>qa!<cr>", desc = "Leave neovim", mode = "n" },
|
|
|
|
{ "<leader>s", group = "+search", mode = "n" },
|
|
{ "<leader>g", group = "+git", mode = "n" },
|
|
|
|
{ "<leader>t", group = "+diagnostics", mode = "n" },
|
|
{ "<leader>ta", "<cmd>TodoQuickFix<cr>", desc = "Show all todo comments", mode = "n" },
|
|
|
|
{ "<leader>w", group = "+window", mode = "n" },
|
|
{
|
|
"<leader>w+",
|
|
":vertical resize +4<CR>",
|
|
desc = "Increase window size",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>w-",
|
|
":vertical resize -4<CR>",
|
|
desc = "Decrease window size",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>wx",
|
|
"<C-W>q",
|
|
desc = "Close active window",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>wx",
|
|
":bd<CR>",
|
|
desc = "Kill active window and buffer",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>wh",
|
|
"<C-W>h",
|
|
desc = "Move to window on left",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>wj",
|
|
"<C-W>j",
|
|
desc = "Move to window on bottom",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>wk",
|
|
"<C-W>k",
|
|
desc = "Move to window on top",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>wl",
|
|
"<C-W>l",
|
|
desc = "Move to window on right",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>ws",
|
|
"<cmd>sp<cr>",
|
|
desc = "Split windows horizontally",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>wv",
|
|
"<cmd>vsp<cr>",
|
|
desc = "Split windows vertically",
|
|
mode = "n",
|
|
},
|
|
{
|
|
"<leader>wd",
|
|
"<cmd>close<cr>",
|
|
desc = "Delete window only",
|
|
mode = "n",
|
|
},
|
|
|
|
{ "<leader>x", group = "+config", mode = "n" },
|
|
{
|
|
"<leader>xn",
|
|
"<cmd>set number relativenumber<cr>",
|
|
desc = "Show relative numbers",
|
|
mode = "n",
|
|
},
|
|
{ "<leader>xr", "<cmd>source $MYVIMRC<cr>", desc = "Reload config", mode = "n" },
|
|
})
|
|
end,
|
|
}
|