which-keys

+42 -23
home/nvim/default.nix
···
require('trouble').setup {
icons = false,
}
-
vim.keymap.set('n', '<leader>xx', function() require('trouble').toggle() end)
-
vim.keymap.set('n', '<leader>xw', function() require('trouble').toggle('workspace_diagnostics') end)
-
vim.keymap.set('n', '<leader>xd', function() require('trouble').toggle('document_diagnostics') end)
-
vim.keymap.set('n', '<leader>xq', function() require('trouble').toggle('quickfix') end)
-
vim.keymap.set('n', '<leader>xl', function() require('trouble').toggle('loclist') end)
-
vim.keymap.set('n', '<leader>xr', function() require('trouble').toggle('lsp_references') end)
+
vim.keymap.set('n', '<leader>xx', function() require('trouble').toggle() end, { desc = 'Trouble toggle' })
+
vim.keymap.set('n', '<leader>xw', function() require('trouble').toggle('workspace_diagnostics') end, { desc = 'Trouble workspace' })
+
vim.keymap.set('n', '<leader>xd', function() require('trouble').toggle('document_diagnostics') end, { desc = 'Trouble document' })
+
vim.keymap.set('n', '<leader>xq', function() require('trouble').toggle('quickfix') end, { desc = 'Trouble quickfix' })
+
vim.keymap.set('n', '<leader>xl', function() require('trouble').toggle('loclist') end, { desc = 'Trouble loclist' })
+
vim.keymap.set('n', '<leader>xr', function() require('trouble').toggle('lsp_references') end, { desc = 'Trouble LSP references' })
'';
}
{
···
end
end)
-
map('n', '<leader>hs', gitsigns.stage_hunk)
-
map('n', '<leader>hr', gitsigns.reset_hunk)
-
map('v', '<leader>hs', function() gitsigns.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
-
map('v', '<leader>hr', function() gitsigns.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
-
map('n', '<leader>hS', gitsigns.stage_buffer)
-
map('n', '<leader>hu', gitsigns.undo_stage_hunk)
-
map('n', '<leader>hR', gitsigns.reset_buffer)
-
map('n', '<leader>hp', gitsigns.preview_hunk)
-
map('n', '<leader>hb', function() gitsigns.blame_line{full=true} end)
-
map('n', '<leader>htb', gitsigns.toggle_current_line_blame)
-
map('n', '<leader>hd', gitsigns.diffthis)
-
map('n', '<leader>hD', function() gitsigns.diffthis('~') end)
-
map('n', '<leader>htd', gitsigns.toggle_deleted)
+
map('n', '<leader>gs', gitsigns.stage_hunk, { desc = 'Git stage hunk' })
+
map('n', '<leader>gr', gitsigns.reset_hunk, { desc = 'Git reset hunk' })
+
map('v', '<leader>gs', function() gitsigns.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end, { desc = 'Git stage hunk' })
+
map('v', '<leader>gr', function() gitsigns.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end, { desc = 'Git reset hunk' })
+
map('n', '<leader>gS', gitsigns.stage_buffer, { desc = 'Git stage buffer' })
+
map('n', '<leader>gu', gitsigns.undo_stage_hunk, { desc = 'Git unstage hunk' })
+
map('n', '<leader>gR', gitsigns.reset_buffer, { desc = 'Git reset buffer' })
+
map('n', '<leader>gp', gitsigns.preview_hunk, { desc = 'Git preview hunk' })
+
map('n', '<leader>gb', function() gitsigns.blame_line{full=true} end, { desc = 'Git blame' })
+
map('n', '<leader>gtb', gitsigns.toggle_current_line_blame, { desc = 'Git toggle line blame' })
+
map('n', '<leader>gd', gitsigns.diffthis, { desc = 'Git diff index' })
+
map('n', '<leader>gD', function() gitsigns.diffthis('~') end, { desc = 'Git diff last' })
+
map('n', '<leader>gtd', gitsigns.toggle_deleted, { desc = 'Git toggle deleted' })
-- vih
-
map({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
+
map({'o', 'x'}, 'ih', ':<C-U>Git select_hunk<CR>', { desc = 'Gitsigns select hunk' })
end
}
'';
···
plugin = undotree;
type = "lua";
config = ''
-
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
+
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle, { desc = 'Undotree toggle' })
'';
}
{
···
vim.keymap.set({'n', 'x', 'o'}, 'gs', '<Plug>(leap-from-window)')
'';
}
-
which-key-nvim
+
{
+
plugin = pkgs.overlay-unstable.vimPlugins.which-key-nvim;
+
type = "lua";
+
config = ''
+
local wk = require('which-key')
+
wk.setup({
+
icons = { mappings = false },
+
})
+
wk.add({
+
{ "<leader>f", group = 'Find' },
+
{ "<leader>l", group = 'LSP' },
+
{ "<leader>;", group = 'DAP' },
+
{ "<leader>s", group = 'Session' },
+
{ "<leader>t", group = 'Tab' },
+
{ "<leader>h", group = 'Hunk' },
+
{ "<leader>x", group = 'Trouble' },
+
{ "<leader>g", group = 'Git' },
+
})
+
'';
+
}
{
plugin = pkgs.notmuch;
···
vim.g.ledger_date_format = '%Y-%m-%d'
vim.cmd([[
-
autocmd FileType ledger nnoremap <buffer> <leader>e :call ledger#entry()<CR>
+
autocmd FileType ledger nnoremap <buffer> <leader>e :call ledger#entry()<CR>
]])
'';
}
+17 -13
home/nvim/init.lua
···
vim.o.cursorcolumn = true
vim.o.cursorline = true
-
local key_mapper = function(mode, key, result)
+
local key_mapper = function(mode, key, result, desc)
vim.api.nvim_set_keymap(
mode,
key,
result,
-
{ noremap = true, silent = true }
+
{ noremap = true, silent = true, desc = desc }
)
end
-
key_mapper('n', '<leader>w', ':w<CR>')
+
key_mapper('n', '<leader>h', '<C-w>h')
+
key_mapper('n', '<leader>j', '<C-w>j')
+
key_mapper('n', '<leader>k', '<C-w>k')
+
key_mapper('n', '<leader>l', '<C-w>l')
+
key_mapper('n', '<leader>w', ':w<CR>', 'Write file')
-
key_mapper('n', 'ZA', ':cquit<Enter>')
+
key_mapper('n', 'ZA', ':cquit<Enter>', 'Quit and fail')
key_mapper('t', '<Esc>', '<C-\\><C-n>')
-
key_mapper('n', '<leader>id',
-
[[<Cmd>lua vim.api.nvim_put({vim.fn.strftime('%Y-%m-%d')}, 'c', true, true)<CR>]])
+
key_mapper('n', '<leader>id', [[<Cmd>lua vim.api.nvim_put({vim.fn.strftime('%Y-%m-%d')}, 'c', true, true)<CR>]],
+
'insert date')
-
key_mapper('n', '!', ':term ')
+
key_mapper('n', '!', ':term ', 'terminal')
-
vim.keymap.set('n', '<leader>v', vim.cmd.Git)
+
key_mapper('n', '<leader>gn', ':Neogit', 'Neogit')
-
key_mapper('n', '<leader>m', ':make<Enter>')
+
key_mapper('n', '<leader>m', ':make<Enter>', 'Make')
-- go though spelling mistakes
-
key_mapper('n', '<C-s>', ']s1z=')
+
key_mapper('n', '<C-s>', ']s1z=', 'correct next spelling mistake')
-
key_mapper('v', '<C-J>', ":m '>+1<CR>gv=gv")
-
key_mapper('v', '<C-K>', ":m '<-2<CR>gv=gv")
+
key_mapper('v', '<C-J>', ":m '>+1<CR>gv=gv", 'move up')
+
key_mapper('v', '<C-K>', ":m '<-2<CR>gv=gv", 'move down')
key_mapper('n', '<C-d>', '<C-d>zz')
key_mapper('n', '<C-u>', '<C-u>zz')
···
-- <leader>q
-- <leader>n
-- <leader>;
-
-- <leader>h
-- <leader>j
-- <leader>k
-- <leader>e
-- <leader>b
+
-- <leader>v
vim.cmd([[
augroup RememberView
+10 -10
home/nvim/lsp.lua
···
},
}
-
vim.keymap.set('n', '<leader>;c', function() require('dap').continue() end)
-
vim.keymap.set('n', '<leader>;s', function() require('dap').step_over() end)
-
vim.keymap.set('n', '<leader>;i', function() require('dap').step_into() end)
-
vim.keymap.set('n', '<leader>;o', function() require('dap').step_out() end)
-
vim.keymap.set('n', '<leader>;b', function() require('dap').toggle_breakpoint() end)
+
vim.keymap.set('n', '<leader>;c', function() require('dap').continue() end, { desc = 'DAP continue' })
+
vim.keymap.set('n', '<leader>;s', function() require('dap').step_over() end, { desc = 'DAP step over' })
+
vim.keymap.set('n', '<leader>;i', function() require('dap').step_into() end, { desc = 'DAP step into' })
+
vim.keymap.set('n', '<leader>;o', function() require('dap').step_out() end, { desc = 'DAP step out' })
+
vim.keymap.set('n', '<leader>;b', function() require('dap').toggle_breakpoint() end, { desc = 'DAP breakpoint' })
vim.keymap.set('n', '<leader>;m',
-
function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end)
-
vim.keymap.set('n', '<leader>;r', function() require('dap').repl.open() end)
-
vim.keymap.set('n', '<leader>;l', function() require('dap').run_last() end)
+
function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end, { desc = 'DAP breakpoint message' })
+
vim.keymap.set('n', '<leader>;r', function() require('dap').repl.open() end, { desc = 'DAP repl' })
+
vim.keymap.set('n', '<leader>;l', function() require('dap').run_last() end, { desc = 'DAP run last' })
vim.keymap.set('n', '<leader>;f', function()
local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.frames)
-
end)
+
end, { desc = 'DAP frames' })
vim.keymap.set('n', '<leader>;S', function()
local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.scopes)
-
end)
+
end, { desc = 'DAP scopes' })
+4 -4
home/nvim/luasnip.lua
···
})
-
vim.keymap.set({ 'i' }, '<C-k>', function() ls.expand() end, { silent = true })
-
vim.keymap.set({ 'i', 's' }, '<C-l>', function() ls.jump(1) end, { silent = true })
-
vim.keymap.set({ 'i', 's' }, '<C-h>', function() ls.jump(-1) end, { silent = true })
+
vim.keymap.set({ 'i' }, '<C-k>', function() ls.expand() end, { silent = true; desc = 'Snip complete' })
+
vim.keymap.set({ 'i', 's' }, '<C-l>', function() ls.jump(1) end, { silent = true; desc = 'Snip next' })
+
vim.keymap.set({ 'i', 's' }, '<C-h>', function() ls.jump(-1) end, { silent = true; desc = 'Snip prev' })
vim.keymap.set({ 'i', 's' }, '<C-j>', function()
if ls.choice_active() then
ls.change_choice(1)
end
-
end, { silent = true })
+
end, { silent = true; desc = 'Snip choice' })
+20 -19
home/nvim/telescope-nvim.lua
···
},
},
}
-
vim.keymap.set('n', '<leader>ff', require('telescope.builtin').find_files, {})
-
vim.keymap.set('n', '<leader>fg', require('telescope.builtin').live_grep, {})
-
vim.keymap.set('n', '<leader>fv', require('telescope.builtin').git_files, {})
-
vim.keymap.set('n', '<leader>fb', function() require('telescope.builtin').buffers({ sort_mru = true }) end, {})
-
vim.keymap.set('n', '<leader>fh', require('telescope.builtin').help_tags, {})
-
vim.keymap.set('n', '<leader>fq', require('telescope.builtin').command_history, {})
-
vim.keymap.set('n', '<leader>fs', require('telescope.builtin').search_history, {})
-
vim.keymap.set('n', '<leader>fj', require('telescope.builtin').jumplist, {})
-
vim.keymap.set('n', '<leader>fm', require('telescope.builtin').marks, {})
-
vim.keymap.set('n', '<leader>fx', require('telescope.builtin').diagnostics, {})
-
vim.keymap.set('n', '<leader>fy', require('telescope.builtin').registers, {})
-
vim.keymap.set('v', '<leader>fy', require('telescope.builtin').registers, {})
-
vim.keymap.set('n', '<leader>fr', require('telescope.builtin').lsp_references, {})
-
vim.keymap.set('n', '<leader>fS', require('telescope.builtin').lsp_document_symbols, {})
-
vim.keymap.set('n', '<leader>fc', require('telescope.builtin').lsp_incoming_calls, {})
-
vim.keymap.set('n', '<leader>fo', require('telescope.builtin').lsp_outgoing_calls, {})
-
vim.keymap.set('n', '<leader>fi', require('telescope.builtin').lsp_implementations, {})
-
vim.keymap.set('n', '<leader>fu', require('telescope').extensions.undo.undo, {})
-
vim.keymap.set('n', '<leader>fd', function() require('telescope').extensions.file_browser.file_browser({ path = '%:p:h', select_buffer = true }) end, {})
+
+
vim.keymap.set('n', '<leader>ff', require('telescope.builtin').find_files, { desc = 'Find files' })
+
vim.keymap.set('n', '<leader>fg', require('telescope.builtin').live_grep, { desc = 'Find grep' })
+
vim.keymap.set('n', '<leader>fv', require('telescope.builtin').git_files, { desc = 'Find version control' })
+
vim.keymap.set('n', '<leader>fb', function() require('telescope.builtin').buffers({ sort_mru = true }) end, { desc = 'Find buffer' })
+
vim.keymap.set('n', '<leader>fh', require('telescope.builtin').help_tags, { desc = 'Find help' })
+
vim.keymap.set('n', '<leader>fq', require('telescope.builtin').command_history, { desc = 'Find command' })
+
vim.keymap.set('n', '<leader>fs', require('telescope.builtin').search_history, { desc = 'Find search' })
+
vim.keymap.set('n', '<leader>fj', require('telescope.builtin').jumplist, { desc = 'Find jumplist' })
+
vim.keymap.set('n', '<leader>fm', require('telescope.builtin').marks, { desc = 'Find marks' })
+
vim.keymap.set('n', '<leader>fx', require('telescope.builtin').diagnostics, { desc = 'Find diagnostics' })
+
vim.keymap.set('n', '<leader>fy', require('telescope.builtin').registers, { desc = 'Find registers' })
+
vim.keymap.set('v', '<leader>fy', require('telescope.builtin').registers, { desc = 'Find registers' })
+
vim.keymap.set('n', '<leader>fr', require('telescope.builtin').lsp_references, { desc = 'Find references' })
+
vim.keymap.set('n', '<leader>fS', require('telescope.builtin').lsp_document_symbols, { desc = 'Find LSP symbols' })
+
vim.keymap.set('n', '<leader>fc', require('telescope.builtin').lsp_incoming_calls, { desc = 'Find LSP incoming calls' })
+
vim.keymap.set('n', '<leader>fo', require('telescope.builtin').lsp_outgoing_calls, { desc = 'Find LSP outgoing calls' })
+
vim.keymap.set('n', '<leader>fi', require('telescope.builtin').lsp_implementations, { desc = 'Find LSP implementations' })
+
vim.keymap.set('n', '<leader>fu', require('telescope').extensions.undo.undo, { desc = 'Find undo' })
+
vim.keymap.set('n', '<leader>fd', function() require('telescope').extensions.file_browser.file_browser({ path = '%:p:h', select_buffer = true }) end, { desc = 'Find directory' })