kickstart.nvim/lua/plugins/which-key.lua

79 lines
3.4 KiB
Lua

return { -- Useful plugin to show you pending keybinds.
'folke/which-key.nvim',
event = 'VimEnter', -- Sets the loading event to 'VimEnter'
opts = {
delay = 0,
icons = {
mappings = vim.g.have_nerd_font,
keys = vim.g.have_nerd_font and {} or {
Up = '<Up> ', Down = '<Down> ', Left = '<Left> ', Right = '<Right> ',
C = '<C-…> ', M = '<M-…> ', D = '<D-…> ', S = '<S-…> ',
CR = '<CR> ', Esc = '<Esc> ', ScrollWheelDown = '<ScrollWheelDown> ',
ScrollWheelUp = '<ScrollWheelUp> ', NL = '<NL> ', BS = '<BS> ',
Space = '<Space> ', Tab = '<Tab> ', F1 = '<F1>', F2 = '<F2>',
F3 = '<F3>', F4 = '<F4>', F5 = '<F5>', F6 = '<F6>',
F7 = '<F7>', F8 = '<F8>', F9 = '<F9>', F10 = '<F10>',
F11 = '<F11>', F12 = '<F12>',
},
},
},
config = function(_, opts)
local wk = require('which-key')
wk.setup(opts)
wk.add({
{ "<leader>/", desc = "Search in current buffer" },
{ "<leader><leader>", desc = "Find buffers" },
{ "<leader>X", desc = "Force close buffer" },
{ "<leader>b", group = "[B]uffer" },
{ "<leader>bD", desc = "Force [D]elete" },
{ "<leader>bd", desc = "Delete buffer" },
{ "<leader>bn", desc = "Next buffer" },
{ "<leader>bp", desc = "Previous buffer" },
{ "<leader>c", group = "[C]ode" },
{ "<leader>ca", desc = "Code Action" },
{ "<leader>cf", desc = "Format buffer" },
{ "<leader>d", desc = "Show diagnostic under cursor" },
{ "<leader>ds", desc = "Document symbols" },
{ "<leader>dx", desc = "Document diagnostics" },
{ "<leader>e", desc = "Toggle file explorer" },
{ "<leader>f", group = "[F]ile Explorer" },
{ "<leader>fe", desc = "Toggle explorer" },
{ "<leader>ff", desc = "Focus explorer" },
{ "<leader>g", group = "[G]it" },
{ "<leader>gs", desc = "Status" },
{ "<leader>h", group = "Git [H]unk" },
{ "<leader>n", group = "[N]otifications" },
{ "<leader>nc", desc = "Clear notifications" },
{ "<leader>nh", desc = "Notification history" },
{ "<leader>nn", desc = "Toggle notifications" },
{ "<leader>o", desc = "Focus file explorer" },
{ "<leader>p", group = "Debug/[P]rofile" },
{ "<leader>pb", desc = "Toggle breakpoint" },
{ "<leader>pc", desc = "Continue debugging" },
{ "<leader>pi", desc = "Step into" },
{ "<leader>pl", desc = "Run last debug session" },
{ "<leader>pn", desc = "Step over" },
{ "<leader>po", desc = "Step out" },
{ "<leader>pr", desc = "Open REPL" },
{ "<leader>px", desc = "Toggle debug UI" },
{ "<leader>q", desc = "Open diagnostic quickfix list" },
{ "<leader>s", group = "[S]earch" },
{ "<leader>s/", desc = "Search in open files" },
{ "<leader>sd", desc = "Diagnostics" },
{ "<leader>sf", desc = "Files" },
{ "<leader>sg", desc = "Grep" },
{ "<leader>sh", desc = "Help" },
{ "<leader>sk", desc = "Keymaps" },
{ "<leader>sn", desc = "Neovim config files" },
{ "<leader>sr", desc = "Resume last search" },
{ "<leader>ss", desc = "Select Telescope" },
{ "<leader>sw", desc = "Current word" },
{ "<leader>t", group = "[T]oggle" },
{ "<leader>th", desc = "Toggle inlay hints" },
{ "<leader>w", group = "[W]orkspace" },
{ "<leader>ws", desc = "Symbols" },
{ "<leader>x", desc = "Close buffer" },
})
end,
}