Update which-key

This commit is contained in:
2024-07-14 22:06:04 +03:00
parent 8b61c3654a
commit e37dff7e99
4 changed files with 142 additions and 139 deletions

View File

@@ -1,128 +1,127 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
end,
config = function()
local wk = require("which-key")
wk.setup({
window = {
border = "single",
dependencies = "nvim-tree/nvim-web-devicons",
version = "*",
opts = {
preset = "modern",
sort = { "alphanum", "local", "order", "group", "mod", "lower", "icase" },
icons = {
rules = false,
},
defaults = {},
spec = {
{
mode = "v",
"<leader>s",
":s///gI<Left><Left><Left>",
desc = "[s]ubstitute word",
},
})
{
{ "<leader>C", vim.cmd.bdelete, desc = "[C]lose Buffer" },
{ "<leader>c", group = "[C]url" },
{ "<leader>t", group = "[T]rouble" },
{ "<leader>g", group = "[G]it" },
{ "<leader>q", group = "Persistence" },
{ "<leader>l", group = "[L]SP" },
{ "<leader>w", group = "[W]orkspace" },
{ "<leader>p", group = "Telescope", { "<leader>pd", group = "[D]evelopment" } },
{ "<leader>z", group = "[Z]en" },
{ "<leader>o", group = "Action" },
{ "<leader>r", group = "[R]ust" },
{ "<leader>n", group = "Gitpat" },
{ "<leader>m", group = "[M]isc" },
{ "<leader>T", group = "Vim[T]ex" },
{
"<leader>d",
group = "[D]AP",
{
"<leader>dp",
group = "[P]ython",
},
},
{
"<leader>L",
group = "[L]anguate settings",
{ "<leader>Lc", "<cmd>setlocal formatoptions-=cro<cr>", desc = "Disable autocomment" },
{ "<leader>LC", "<cmd>setlocal formatoptions=cro<cr>", desc = "Enable autocomment" },
{ "<leader>Ls", "<cmd>setlocal spell!<cr>", desc = "Toggle spellchecker" },
{ "<leader>Le", "<cmd>setlocal spell spelllang=en_us<cr>", desc = "Enable English spellchecker" },
{ "<leader>Ll", "<cmd>setlocal spell spelllang=lv_LV<cr>", desc = "Enable Latvian spellchecker" },
{ "<leader>LI", "<cmd>setlocal autoindent<cr>", desc = "Enable autoindent" },
{ "<leader>Li", "<cmd>setlocal noautoindent<cr>", desc = "Disable autoindent" },
},
{
"<leader>P",
group = "Templates",
{
{
"<leader>Pl",
group = "[L]atex",
cond = function()
return vim.bo.filetype == "lua"
end,
local opts = {
mode = "n", -- NORMAL mode
prefix = "<leader>",
buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
silent = true, -- use `silent` when creating keymaps
noremap = true, -- use `noremap` when creating keymaps
nowait = true, -- use `nowait` when creating keymaps
}
local vopts = {
mode = "v", -- VISUAL mode
prefix = "<leader>",
buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
silent = true, -- use `silent` when creating keymaps
noremap = true, -- use `noremap` when creating keymaps
nowait = true, -- use `nowait` when creating keymaps
}
-- NOTE: Prefer using : over <cmd> as the latter avoids going back in normal-mode.
-- see https://neovim.io/doc/user/map.html#:map-cmd
local vmappings = {
s = { ":s///gI<Left><Left><Left>", "[s]ubstitute word" },
}
local mappings = {
C = { vim.cmd.bdelete, "[C]lose Buffer" },
c = { name = "[C]url" },
t = { name = "[T]rouble" },
g = { name = "[G]it" },
l = { name = "[L]SP" },
w = { name = "LSP [W]orkspace" },
p = {
name = "Telescope",
d = { name = "[D]evelopment" },
},
z = { name = "[Z]en" },
r = { name = "[R]ust" },
n = { name = "Gitpad" },
m = { name = "Misc" },
L = {
name = "[L]anguage settings",
c = { "<cmd>setlocal formatoptions-=cro<cr>", "Disable autocomment" },
C = { "<cmd>setlocal formatoptions=cro<cr>", "Enable autocomment" },
s = { "<cmd>setlocal spell!<cr>", "Toggle spellchecker" },
e = { "<cmd>setlocal spell spelllang=en_us<cr>", "Enable English spellchecker" },
l = { "<cmd>setlocal spell spelllang=lv_LV<cr>", "Enable Lavian spellchecker" },
I = { "<cmd>setlocal autoindent<cr>", "Enable autoindent" },
i = { "<cmd>setlocal noautoindent<cr>", "Disable autoindent" },
},
d = {
name = "[D]AP",
p = { name = "[P]ython" },
r = { name = "[R]ust" },
},
T = { name = "Vim[T]ex" },
P = {
name = "Tem[p]lates",
l = {
name = "[L]aTeX",
p = {
function()
vim.cmd.read("~/Templates/LaTeX/PhilPaper.tex")
end,
"PhilPaper.tex",
},
l = {
function()
vim.cmd.read("~/Templates/LaTeX/Letter.tex")
end,
"Letter.tex",
},
g = {
function()
vim.cmd.read("~/Templates/LaTeX/Glossary.tex")
end,
"Glossary.tex",
},
h = {
function()
vim.cmd.read("~/Templates/LaTeX/HandOut.tex")
end,
"HandOut.tex",
},
b = {
function()
vim.cmd.read("~/Templates/LaTeX/PhilBeamer.tex")
end,
"PhilBeamer.tex",
},
s = {
function()
vim.cmd.read("~/Templates/LaTeX/SubFile.tex")
end,
"SubFile.tex",
},
r = {
function()
vim.cmd.read("~/Templates/LaTeX/Root.tex")
end,
"Root.tex",
},
m = {
function()
vim.cmd.read("~/Templates/LaTeX/MultipleAnswer.tex")
end,
"MultipleAnswer.tex",
{
"<leader>Plp",
function()
vim.cmd.read("~/Templates/LaTeX/PhilPaper.tex")
end,
desc = "PhilPaper.tex",
},
{
"<leader>Pll",
function()
vim.cmd.read("~/Templates/LaTeX/Letter.tex")
end,
desc = "Letter.tex",
},
{
"<leader>Plg",
function()
vim.cmd.read("~/Templates/LaTeX/Glossary.tex")
end,
desc = "Glossary.tex",
},
{
"<leader>Plh",
function()
vim.cmd.read("~/Templates/LaTeX/HandOut.tex")
end,
desc = "HandOut.tex",
},
{
"<leader>Plb",
function()
vim.cmd.read("~/Templates/LaTeX/PhilBeamer.tex")
end,
desc = "PhilBeamer.tex",
},
{
"<leader>Pls",
function()
vim.cmd.read("~/Templates/LaTeX/SubFile.tex")
end,
desc = "SubFile.tex",
},
{
"<leader>Plr",
function()
vim.cmd.read("~/Templates/LaTeX/Root.tex")
end,
desc = "Root.tex",
},
{
"<leader>Plm",
function()
vim.cmd.read("~/Templates/LaTeX/MultipleAnswer.tex")
end,
desc = "MultipleAnswer.tex",
},
},
},
},
},
}
wk.register(mappings, opts)
wk.register(vmappings, vopts)
end,
},
},
}