update which-key config to latest version

This commit is contained in:
Solomon Laing 2024-08-12 20:46:43 +09:30
parent 8f7cf2f7d7
commit 3b64f82e21

View File

@ -1,8 +1,9 @@
return { return {
{
"folke/which-key.nvim", "folke/which-key.nvim",
dependencies = { "echasnovski/mini.icons" },
event = "VeryLazy", event = "VeryLazy",
opts = { opts = {
preset = "modern",
plugins = { plugins = {
-- marks = true, -- shows a list of your marks on ' and ` -- marks = true, -- shows a list of your marks on ' and `
-- registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode -- registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
@ -11,26 +12,15 @@ return {
suggestions = 20, -- how many suggestions should be shown in the list? suggestions = 20, -- how many suggestions should be shown in the list?
}, },
}, },
key_labels = {
-- override the label used to display some keys. It doesn't effect WK in any other way.
["<leader>"] = "SPC",
},
icons = { icons = {
breadcrumb = "»", -- symbol used in the command line area that shows your active key combo breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
separator = "", -- symbol used between a key and it's label separator = "", -- symbol used between a key and it's label
group = "+", -- symbol prepended to a group group = "+", -- symbol prepended to a group
}, },
popup_mappings = { keys = {
scroll_down = "<C-d>", -- binding to scroll down inside the popup scroll_down = "<C-d>", -- binding to scroll down inside the popup
scroll_up = "<C-u>", -- binding to scroll up inside the popup scroll_up = "<C-u>", -- binding to scroll up inside the popup
}, },
window = {
border = "rounded", -- none, single, double, shadow
position = "bottom", -- bottom, top
margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left]
padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left]
winblend = 0,
},
layout = { layout = {
height = { min = 4, max = 25 }, -- min and max height of the columns height = { min = 4, max = 25 }, -- min and max height of the columns
width = { min = 20, max = 50 }, -- min and max width of the columns width = { min = 20, max = 50 }, -- min and max width of the columns
@ -44,15 +34,6 @@ return {
whichkey.setup(opts) whichkey.setup(opts)
local leader_opts = {
mode = { "n", "v" }, -- NORMAL/VISUAL mode
buffer = nil, -- Global mappings
prefix = "<leader>",
silent = true, -- use 'silent'
noremap = true, -- use 'noremap'
nowait = true, -- use 'nowait'
}
-- whichkey.add({ -- whichkey.add({
-- mode = { "n", "v" }, -- mode = { "n", "v" },
-- ["g"] = { name = "+goto" }, -- ["g"] = { name = "+goto" },
@ -86,6 +67,7 @@ return {
{ "<leader>gh", group = "hunks" }, { "<leader>gh", group = "hunks" },
{ "<leader>t", group = "todo" }, { "<leader>t", group = "todo" },
{ "<leader>N", group = "noice" }, { "<leader>N", group = "noice" },
{ "<leader>f", group = "files" },
}) })
-- Z = { "<cmd>ZenMode<cr>", "Zen" }, -- Z = { "<cmd>ZenMode<cr>", "Zen" },
@ -140,9 +122,10 @@ return {
whichkey.add({ whichkey.add({
mode = { "n", "v" }, mode = { "n", "v" },
{ "<leader>", group = "" }, { "<leader>q", group = "quit" },
{ "<leader>", "", desc = "" }, { "<leader>qq", "<cmd>wq<CR>", desc = "Save and Quit Current" },
{ "<leader>qa", "<cmd>wqa<cr>", desc = "Save and Quit all" },
{ "<leader>q!", "<cmd>qa!<cr>", desc = "Force Quit all" },
}) })
-- l = { -- l = {
@ -154,9 +137,10 @@ return {
whichkey.add({ whichkey.add({
mode = { "n", "v" }, mode = { "n", "v" },
{ "<leader>", group = "" }, { "<leader>l", group = "lsp" },
{ "<leader>", "", desc = "" }, { "<leader>ll", "<cmd>lopen<cr>", desc = "Open Location List" },
{ "<leader>lq", "<cmd>copen<cr>", desc = "Open Quickfix List" },
{ "<leader>lx", "<cmd>cclose<cr>", desc = "Close Quickfix List" },
}) })
-- C = { -- C = {
@ -168,8 +152,10 @@ return {
whichkey.add({ whichkey.add({
mode = { "n", "v" }, mode = { "n", "v" },
{ "<leader>", group = "" }, { "<leader>c", group = "compiler" },
{ "<leader>", "", desc = "" }, { "<leader>cc", "<cmd>w! | !compiler %<cr>", desc = "Compile File" },
{ "<leader>cb", "<cmd>w! | !pandoc % -t beamer -o presentation.pdf<cr>", desc = "Beamer Presentation" },
{ "<leader>cp", "<cmd>!opout %<cr><cr>", desc = "Preview Document" },
}) })
@ -183,9 +169,11 @@ return {
whichkey.add({ whichkey.add({
mode = { "n", "v" }, mode = { "n", "v" },
{ "<leader>", group = "" }, { "<leader>w", group = "window" },
{ "<leader>", "", desc = "" }, { "<leader>ww", "<C-W>p", desc = "Other window" },
{ "<leader>wd", "<C-W>c", desc = "Delete Window" },
{ "<leader>wh", "<C-W>s", desc = "Split Below" },
{ "<leader>wv", "<C-W>v", desc = "Split Right" },
}) })
-- o = { -- o = {
@ -239,8 +227,59 @@ return {
whichkey.add({ whichkey.add({
mode = { "n", "v" }, mode = { "n", "v" },
{ "<leader>", group = "" }, { "<leader>o", group = "option" },
{ "<leader>", "", desc = "" }, {
"<leader>of",
function()
require("lazyvim.plugins.lsp.format").toggle()
end,
desc = "Toggle format on save"
},
{
"<leader>os",
function()
utils.toggle("spell")
end,
desc = "Toggle spelling"
},
{
"<leader>ow",
function()
utils.toggle("wrap")
end,
desc = "Toggle word wrap"
},
{
"<leader>on",
function()
utils.toggle("relativenumber", true)
utils.toggle("number")
end,
desc = "Toggle line numbers"
},
{
"<leader>od",
function()
utils.toggle_diagnostics()
end,
desc = "Toggle diagnostics"
},
{
"<leader>oc",
function()
local conceallevel = vim.o.conceallevel > 0 and vim.o.conceallevel or 3
utils.toggle("conceallevel", false, { 0, conceallevel })
end,
desc = "Toggle conceal"
},
{
"<leader>oh",
function()
local sidescrolloff = vim.o.sidescrolloff > 0 and vim.o.sidescrolloff or 8
utils.toggle("sidescrolloff", false, { 0, sidescrolloff })
end,
desc = "Toggle side scroll"
},
}) })
@ -262,235 +301,44 @@ return {
whichkey.add({ whichkey.add({
mode = { "n", "v" }, mode = { "n", "v" },
{ "<leader>", group = "" }, { "<leader>g", group = "git" },
{ "<leader>", "", desc = "" }, {
"<leader>gg",
function()
utils.float_term({ "lazygit" })
end
,
desc = "Lazygit (cwd)"
},
{
"<leader>gG",
function()
utils.float_term({ "lazygit" }, { cwd = utils.get_root() })
end
,
desc = "Lazygit (root)"
},
}) })
-- z = { -- z = {
-- name = "+zk", -- name = "+zk",
-- I = { "<cmd>ZkIndex<cr>", "Index Notebook" }, -- I = { "<cmd>ZkIndex<cr>", "Index Notebook" },
-- n = {
-- "+new",
-- n = { "<cmd>ZkNew { title = vim.fn.input('Title: ') }<cr>", "New Note (zk dir)" },
-- N = {
-- "<cmd>ZkNew { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }<cr>",
-- "New Note (cwd)",
-- },
-- t = {
-- "<cmd>ZkNewFromTitleSelection { title = vim.fn.input('Title: ') }<cr>",
-- "New, Title from selection (zk dir)",
-- },
-- T = {
-- "<cmd>ZkNewFromTitleSelection { dir = vim.fn.expand('%:p:h') title = vim.fn.input('Title: ') }<cr>",
-- "New, Title from selection (cwd)",
-- },
-- c = {
-- "<cmd>ZkNewFromContentSelection { title = vim.fn.input('Title: ') }<cr>",
-- "New, Content from selection (zk dir)",
-- },
-- C = {
-- "<cmd>ZkNewFromContentSelection { dir = vim.fn.expand('%:p:h') title = vim.fn.input('Title: ') }<cr>",
-- "New, Content from selection (cwd)",
-- },
-- },
-- c = { "<cmd>ZkCd<cr>", "cd 'root'" },
-- s = { "<cmd>ZkNotes<cr>", "List Notes" }, -- s = { "<cmd>ZkNotes<cr>", "List Notes" },
-- b = { "<cmd>ZkBacklinks<cr>", "Backlinks" }, -- b = { "<cmd>ZkBacklinks<cr>", "Backlinks" },
-- l = { "<cmd>ZkLinks<cr>", "Links" }, -- l = { "<cmd>ZkLinks<cr>", "Links" },
-- j = {
-- "<cmd>ZkNew { dir = 'journal', date = 'today', title = vim.fn.input('Title: ') }<cr>",
-- "New Journal",
-- },
-- i = { -- i = {
-- { "<cmd>ZkInsertLink<cr>", "Insert Link" }, -- { "<cmd>ZkInsertLink<cr>", "Insert Link" },
-- }, -- },
-- }, -- },
local leader_mappings = { whichkey.add({
b = { name = "+buffer" }, mode = { "n", "v" },
r = { name = "+replace" }, { "<leader>z", group = "zk" },
s = { name = "+search" }, { "<leader>zI", "<cmd>ZkIndex<cr>", desc = "Index Notebook" },
h = { name = "+help" }, { "<leader>zs", "<cmd>ZkNotes<cr>", desc = "List Notes" },
gh = { name = "+hunks" }, { "<leader>zb", "<cmd>ZkBacklinks<cr>", desc = "Backlinks" },
t = { name = "+todo" }, { "<leader>zl", "<cmd>ZkLinks<cr>", desc = "Links" },
N = { name = "+noice" }, { "<leader>zi", "<cmd>ZkInsertLink<cr>", desc = "Insert Link" },
})
Z = { "<cmd>ZenMode<cr>", "Zen" },
u = { "<cmd>UndotreeToggle<cr>", "Undo Tree" },
["'"] = { "<cmd>close<CR>", "Close split" },
-- c = {
-- name = "+copilot",
-- c = { "<cmd>Copilot enable<cr>", "Enable Copilot" },
-- d = { "<cmd>Copilot disable<cr>", "Disable Copilot" },
-- t = { "<cmd>Copilot toggle<cr>", "Toggle Copilot" },
-- },
--
-- n = {
-- name = "+neorg",
-- n = { "<cmd>Neorg<cr>", "Open Neorg" },
-- c = { "<cmd>Neorg toggle-concealer<cr>", "Toggle Concealer" },
-- t = { "<cmd>Neorg tangle current-file<cr>", "Tangle Current File" },
-- j = { "<cmd>Neorg journal<cr>", "Open Neorg Journal" },
-- w = {
-- function()
-- require("lazyvim.utils.neorg").workspace_switcher()
-- end,
-- "Workspace Switcher",
-- },
-- },
q = {
name = "+quit",
q = { "<cmd>wq<CR>", "Save and Quit Current" },
a = { "<cmd>wqa<cr>", "Save and Quit all" },
['!'] = { "<cmd>qa!<cr>", "Force Quit all" },
},
l = {
name = "+lsp",
l = { "<cmd>lopen<cr>", "Open Location List" },
q = { "<cmd>copen<cr>", "Open Quickfix List" },
x = { "<cmd>cclose<cr>", "Close Quickfix List" },
},
C = {
name = "+compiler",
c = { "<cmd>w! | !compiler %<cr>", "Compile File" },
b = { "<cmd>w! | !pandoc % -t beamer -o presentation.pdf<cr>", "Beamer Presentation" },
p = { "<cmd>!opout %<cr><cr>", "Preview Document" },
},
w = {
name = "+window",
w = { "<C-W>p", "Other window" },
d = { "<C-W>c", "Delete Window" },
h = { "<C-W>s", "Split Below" },
v = { "<C-W>v", "Split Right" },
},
o = {
name = "+option",
f = {
function()
require("lazyvim.plugins.lsp.format").toggle()
end, end,
"Toggle format on save",
},
s = {
function()
utils.toggle("spell")
end,
"Toggle spelling",
},
w = {
function()
utils.toggle("wrap")
end,
"Toggle word wrap",
},
n = {
function()
utils.toggle("relativenumber", true)
utils.toggle("number")
end,
"Toggle line numbers",
},
d = {
function()
utils.toggle_diagnostics()
end,
"Toggle Diagnostics",
},
c = {
function()
local conceallevel = vim.o.conceallevel > 0 and vim.o.conceallevel or 3
utils.toggle("conceallevel", false, { 0, conceallevel })
end,
"Toggle conceal",
},
h = {
function()
local sidescrolloff = vim.o.sidescrolloff > 0 and vim.o.sidescrolloff or 8
utils.toggle("sidescrolloff", false, { 0, sidescrolloff })
end,
"Toggle side scroll off",
},
},
g = {
name = "+git",
g = {
function()
utils.float_term({ "lazygit" })
end,
"Lazygit (cwd)",
},
G = {
function()
utils.float_term({ "lazygit" }, { cwd = utils.get_root() })
end,
"Lazygit (root dir)",
},
},
z = {
name = "+zk",
I = { "<cmd>ZkIndex<cr>", "Index Notebook" },
n = {
"+new",
n = { "<cmd>ZkNew { title = vim.fn.input('Title: ') }<cr>", "New Note (zk dir)" },
N = {
"<cmd>ZkNew { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }<cr>",
"New Note (cwd)",
},
t = {
"<cmd>ZkNewFromTitleSelection { title = vim.fn.input('Title: ') }<cr>",
"New, Title from selection (zk dir)",
},
T = {
"<cmd>ZkNewFromTitleSelection { dir = vim.fn.expand('%:p:h') title = vim.fn.input('Title: ') }<cr>",
"New, Title from selection (cwd)",
},
c = {
"<cmd>ZkNewFromContentSelection { title = vim.fn.input('Title: ') }<cr>",
"New, Content from selection (zk dir)",
},
C = {
"<cmd>ZkNewFromContentSelection { dir = vim.fn.expand('%:p:h') title = vim.fn.input('Title: ') }<cr>",
"New, Content from selection (cwd)",
},
},
c = { "<cmd>ZkCd<cr>", "cd 'root'" },
s = { "<cmd>ZkNotes<cr>", "List Notes" },
b = { "<cmd>ZkBacklinks<cr>", "Backlinks" },
l = { "<cmd>ZkLinks<cr>", "Links" },
j = {
"<cmd>ZkNew { dir = 'journal', date = 'today', title = vim.fn.input('Title: ') }<cr>",
"New Journal",
},
i = {
{ "<cmd>ZkInsertLink<cr>", "Insert Link" },
},
},
-- TODO: Add dap back into the project, bashbunni's dotfiles are a good resource.
-- d = {
-- name = "Debug",
-- b = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Breakpoint" },
-- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
-- i = { "<cmd>lua require'dap'.step_into()<cr>", "Into" },
-- o = { "<cmd>lua require'dap'.step_over()<cr>", "Over" },
-- O = { "<cmd>lua require'dap'.step_out()<cr>", "Out" },
-- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Repl" },
-- l = { "<cmd>lua require'dap'.run_last()<cr>", "Last" },
-- u = { "<cmd>lua require'dapui'.toggle()<cr>", "UI" },
-- x = { "<cmd>lua require'dap'.terminate()<cr>", "Exit" },
-- },
}
whichkey.add(leader_mappings, leader_opts)
end,
},
} }