updated whichkey to new spec
This commit is contained in:
parent
6aeaa98ec7
commit
bd8d93e121
1 changed files with 73 additions and 93 deletions
|
|
@ -1,98 +1,78 @@
|
|||
local whichkey = require("which-key")
|
||||
-- TODO fix <cmd> based instructions
|
||||
local keymap = {
|
||||
t = 'Toggle Terminal',
|
||||
l = {
|
||||
name = '+lsp',
|
||||
e = { "<cmd>lua vim.diagnostic.open_float()<cr>", 'Diagnostic Float' },
|
||||
n = { "<cmd>lua vim.diagnostic.goto_next()<cr>", 'Next Diagnostic' },
|
||||
N = { "<cmd>lua vim.diagnostic.goto_prev()<cr>", 'Previous Diagnostic' },
|
||||
j = { "<cmd>lua vim.diagnostic.setloclist()<cr>", 'Diagnostic List' },
|
||||
--- Dynamic to each buffer potential TODO?
|
||||
D = { "<cmd>lua vim.lsp.buf.declaration()<cr>", 'Declaration' },
|
||||
d = { "<cmd>lua vim.lsp.buf.definition()<cr>", 'Definition' },
|
||||
k = { "<cmd>lua vim.lsp.buf.hover()<cr>", 'Hover' },
|
||||
i = { "<cmd>lua vim.lsp.buf.implementation()<cr>", 'Implementation' },
|
||||
t = { "<cmd>lua vim.lsp.buf.type_definition()<cr>", 'Type Definition' },
|
||||
R = { "<cmd>lua vim.lsp.buf.rename()<cr>", 'Rename' },
|
||||
a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", 'Code Action' },
|
||||
r = { "<cmd>lua vim.lsp.buf.references()<cr>", 'References' },
|
||||
f = { function() vim.lsp.buf.format { async = true } end, 'Format' },
|
||||
|
||||
},
|
||||
f = {
|
||||
name = '+find (telescope)',
|
||||
f = { "<cmd>Telescope find_files<CR>", 'Find' },
|
||||
o = { "<cmd>Telescope oldfiles<CR>", 'Old Files' },
|
||||
g = { "<cmd>Telescope live_grep<CR>", 'Grep' },
|
||||
h = { "<cmd>Telescope help_tags<CR>", 'Help Tags' },
|
||||
},
|
||||
g = {
|
||||
name = '+git',
|
||||
l = { '<Cmd>LazyGit<CR>', 'Commits' },
|
||||
g = { '<Cmd>Telescope git_commits<CR>', 'LazyGit' },
|
||||
b = { '<Cmd>Telescope git_branches<CR>', 'Branches' },
|
||||
s = { '<Cmd>Telescope git_status<CR>', 'Status' },
|
||||
},
|
||||
T = {
|
||||
name = '+todo',
|
||||
j = { '<Cmd>TodoLocList<CR>', 'List TODO:\'s in buffer' },
|
||||
T = { '<Cmd>TodoTelescope<CR>', 'Search TODO:\'s' },
|
||||
n = { function() require("todo-comments").jump_next() end, 'Jump to next TODO:' },
|
||||
N = { function() require("todo-comments").jump_prev() end, 'Jump to previous TODO:' },
|
||||
},
|
||||
w = {
|
||||
name = '+window',
|
||||
w = 'Pick Window',
|
||||
s = "Split window",
|
||||
v = "Split window vertically",
|
||||
q = "Quit a window",
|
||||
T = "Break out into a new tab",
|
||||
x = "Swap current with next",
|
||||
["-"] = "Decrease height",
|
||||
["+"] = "Increase height",
|
||||
["<lt>"] = "Decrease width",
|
||||
[">"] = "Increase width",
|
||||
["|"] = "Max out the width",
|
||||
["="] = "Equally high and wide",
|
||||
h = "Go to the left window",
|
||||
l = "Go to the right window",
|
||||
k = "Go to the up window",
|
||||
j = "Go to the down window",
|
||||
},
|
||||
o = {
|
||||
name = '+org mode',
|
||||
},
|
||||
m = {
|
||||
'<Cmd>DarkLightSwitch<CR>', 'Toggle dark mode'
|
||||
},
|
||||
v = {
|
||||
name = '+obsidian Vault',
|
||||
i = { '<Cmd>e ~/Sync/wiki/index.md<CR>', 'Open Index' },
|
||||
o = { '<Cmd>ObsidianOpen<CR>', 'Obsidian Open' },
|
||||
n = { '<Cmd>ObsidianNew<CR>', 'New Note' },
|
||||
q = { '<Cmd>ObsidianQuickSwitch<CR>', 'Quick Switch with fzf' },
|
||||
f = { '<Cmd>ObsidianFollowLink<CR>', 'Follow Link' },
|
||||
b = { '<Cmd>ObsidianBacklinks<CR>', 'List Backlinks' },
|
||||
d = { '<Cmd>ObsidianToday<CR>', 'Open Daily Note' },
|
||||
y = { '<Cmd>ObsidianYesterday<CR>', 'Open Yesterdays Note' },
|
||||
t = { '<Cmd>ObsidianTomorrow<CR>', 'Open Tomorrows Note' },
|
||||
T = { '<Cmd>ObsidianTemplate<CR>', 'Open Template' },
|
||||
s = { '<Cmd>ObsidianSearch<CR>', 'Search Notes' },
|
||||
l = { '<Cmd>ObsidianLink<CR>', 'Link Current Selection' },
|
||||
L = { '<Cmd>ObsidianLinkNew<CR>', 'Link New Note from Current Selection' },
|
||||
w = { '<Cmd>ObsidianWorkspace<CR>', 'Switch Workspace' },
|
||||
p = { '<Cmd>ObsidianPasteImg<CR>', 'Paste Image' },
|
||||
r = { '<Cmd>ObsidianRename<CR>', 'Rename Note' },
|
||||
},
|
||||
d = {
|
||||
name = 'DAP debug tools',
|
||||
c = { function() require('dap').continue() end, 'continue/launch' },
|
||||
o = { function() require('dap').step_over() end, 'continue/launch' },
|
||||
i = { function() require('dap').step_into() end, 'continue/launch' },
|
||||
b = { function() require('dap').toggle_breakpoint() end, 'continue/launch' },
|
||||
local keymap = {
|
||||
{ "<leader>T", group = "todo" },
|
||||
{ "<leader>TN", function() require("todo-comments").jump_prev() end, desc = "Jump to previous TODO:" },
|
||||
{ "<leader>TT", "<Cmd>TodoTelescope<CR>", desc = "Search TODO:'s" },
|
||||
{ "<leader>Tj", "<Cmd>TodoLocList<CR>", desc = "List TODO:'s in buffer" },
|
||||
{ "<leader>Tn", function() require("todo-comments").jump_next() end, desc = "Jump to next TODO:" },
|
||||
{ "<leader>d", group = "DAP debug tools" },
|
||||
{ "<leader>db", function() require('dap').toggle_breakpoint() end, desc = "continue/launch" },
|
||||
{ "<leader>dc", function() require('dap').continue() end, desc = "continue/launch" },
|
||||
{ "<leader>di", function() require('dap').step_into() end, desc = "continue/launch" },
|
||||
{ "<leader>do", function() require('dap').step_over() end, desc = "continue/launch" },
|
||||
{ "<leader>f", group = "find (telescope)" },
|
||||
{ "<leader>ff", "<cmd>Telescope find_files<CR>", desc = "Find" },
|
||||
{ "<leader>fg", "<cmd>Telescope live_grep<CR>", desc = "Grep" },
|
||||
{ "<leader>fh", "<cmd>Telescope help_tags<CR>", desc = "Help Tags" },
|
||||
{ "<leader>fo", "<cmd>Telescope oldfiles<CR>", desc = "Old Files" },
|
||||
{ "<leader>g", group = "git" },
|
||||
{ "<leader>gb", "<Cmd>Telescope git_branches<CR>", desc = "Branches" },
|
||||
{ "<leader>gg", "<Cmd>Telescope git_commits<CR>", desc = "LazyGit" },
|
||||
{ "<leader>gl", "<Cmd>LazyGit<CR>", desc = "Commits" },
|
||||
{ "<leader>gs", "<Cmd>Telescope git_status<CR>", desc = "Status" },
|
||||
{ "<leader>l", group = "lsp" },
|
||||
{ "<leader>lD", "<cmd>lua vim.lsp.buf.declaration()<cr>", desc = "Declaration" },
|
||||
{ "<leader>lN", "<cmd>lua vim.diagnostic.goto_prev()<cr>", desc = "Previous Diagnostic" },
|
||||
{ "<leader>lR", "<cmd>lua vim.lsp.buf.rename()<cr>", desc = "Rename" },
|
||||
{ "<leader>la", "<cmd>lua vim.lsp.buf.code_action()<cr>", desc = "Code Action" },
|
||||
{ "<leader>ld", "<cmd>lua vim.lsp.buf.definition()<cr>", desc = "Definition" },
|
||||
{ "<leader>le", "<cmd>lua vim.diagnostic.open_float()<cr>", desc = "Diagnostic Float" },
|
||||
{ "<leader>lf", function() vim.lsp.buf.format { async = true } end, desc = "Format" },
|
||||
{ "<leader>li", "<cmd>lua vim.lsp.buf.implementation()<cr>", desc = "Implementation" },
|
||||
{ "<leader>lj", "<cmd>lua vim.diagnostic.setloclist()<cr>", desc = "Diagnostic List" },
|
||||
{ "<leader>lk", "<cmd>lua vim.lsp.buf.hover()<cr>", desc = "Hover" },
|
||||
{ "<leader>ln", "<cmd>lua vim.diagnostic.goto_next()<cr>", desc = "Next Diagnostic" },
|
||||
{ "<leader>lr", "<cmd>lua vim.lsp.buf.references()<cr>", desc = "References" },
|
||||
{ "<leader>lt", "<cmd>lua vim.lsp.buf.type_definition()<cr>", desc = "Type Definition" },
|
||||
{ "<leader>m", "<Cmd>DarkLightSwitch<CR>", desc = "Toggle dark mode" },
|
||||
{ "<leader>o", group = "org mode" },
|
||||
{ "<leader>t", desc = "Toggle Terminal" },
|
||||
{ "<leader>v", group = "obsidian Vault" },
|
||||
{ "<leader>vL", "<Cmd>ObsidianLinkNew<CR>", desc = "Link New Note from Current Selection" },
|
||||
{ "<leader>vT", "<Cmd>ObsidianTemplate<CR>", desc = "Open Template" },
|
||||
{ "<leader>vb", "<Cmd>ObsidianBacklinks<CR>", desc = "List Backlinks" },
|
||||
{ "<leader>vd", "<Cmd>ObsidianToday<CR>", desc = "Open Daily Note" },
|
||||
{ "<leader>vf", "<Cmd>ObsidianFollowLink<CR>", desc = "Follow Link" },
|
||||
{ "<leader>vi", "<Cmd>e ~/Sync/wiki/index.md<CR>", desc = "Open Index" },
|
||||
{ "<leader>vl", "<Cmd>ObsidianLink<CR>", desc = "Link Current Selection" },
|
||||
{ "<leader>vn", "<Cmd>ObsidianNew<CR>", desc = "New Note" },
|
||||
{ "<leader>vo", "<Cmd>ObsidianOpen<CR>", desc = "Obsidian Open" },
|
||||
{ "<leader>vp", "<Cmd>ObsidianPasteImg<CR>", desc = "Paste Image" },
|
||||
{ "<leader>vq", "<Cmd>ObsidianQuickSwitch<CR>", desc = "Quick Switch with fzf" },
|
||||
{ "<leader>vr", "<Cmd>ObsidianRename<CR>", desc = "Rename Note" },
|
||||
{ "<leader>vs", "<Cmd>ObsidianSearch<CR>", desc = "Search Notes" },
|
||||
{ "<leader>vt", "<Cmd>ObsidianTomorrow<CR>", desc = "Open Tomorrows Note" },
|
||||
{ "<leader>vw", "<Cmd>ObsidianWorkspace<CR>", desc = "Switch Workspace" },
|
||||
{ "<leader>vy", "<Cmd>ObsidianYesterday<CR>", desc = "Open Yesterdays Note" },
|
||||
{ "<leader>w", group = "window" },
|
||||
{ "<leader>w+", desc = "Increase height" },
|
||||
{ "<leader>w-", desc = "Decrease height" },
|
||||
{ "<leader>w<", desc = "Decrease width" },
|
||||
{ "<leader>w=", desc = "Equally high and wide" },
|
||||
{ "<leader>w>", desc = "Increase width" },
|
||||
{ "<leader>wT", desc = "Break out into a new tab" },
|
||||
{ "<leader>wh", desc = "Go to the left window" },
|
||||
{ "<leader>wj", desc = "Go to the down window" },
|
||||
{ "<leader>wk", desc = "Go to the up window" },
|
||||
{ "<leader>wl", desc = "Go to the right window" },
|
||||
{ "<leader>wq", desc = "Quit a window" },
|
||||
{ "<leader>ws", desc = "Split window" },
|
||||
{ "<leader>wv", desc = "Split window vertically" },
|
||||
{ "<leader>ww", desc = "Pick Window" },
|
||||
{ "<leader>wx", desc = "Swap current with next" },
|
||||
{ "<leader>w|", desc = "Max out the width" },
|
||||
}
|
||||
}
|
||||
-- Map window keys to leader w
|
||||
vim.cmd [[nmap <leader>w <C-w>]]
|
||||
|
||||
|
|
@ -105,4 +85,4 @@ whichkey.setup {
|
|||
default_mode = 'n',
|
||||
}
|
||||
|
||||
whichkey.register(keymap, { prefix = '<leader>' })
|
||||
whichkey.add(keymap)
|
||||
|
|
|
|||
Loading…
Reference in a new issue