init.lua/lua/fk/plugin/whichkey.lua(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
local wk = require "which-key"
wk.setup {
plugins = {
marks = false,
registers = false,
spelling = { enabled = false, suggestions = 20 },
presets = {
operators = true,
motions = true,
text_objects = true,
windows = true,
nav = true,
z = true,
g = true,
},
},
operators = { gc = "Comments" },
hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " },
popup_mappings = { scroll_down = "<c-d>", scroll_up = "<c-u>" },
ignore_missing = true,
show_help = true,
key_labels = { ["<space>"] = "SPC", ["<cr>"] = "RET", ["<tab>"] = "TAB" },
icons = { breadcrumb = "»", separator = "➜", group = "+" },
window = {
border = "none",
position = "bottom",
margin = { 1, 0, 1, 0 },
padding = { 2, 2, 2, 2 },
winblend = 0,
},
layout = {
height = { min = 4, max = 25 },
width = { min = 20, max = 50 },
spacing = 4,
align = "left",
},
}
local opts = {
mode = "n",
prefix = "<leader>",
buffer = nil,
silent = true,
noremap = true,
nowait = false,
}
local mappings = {
f = { "<cmd>Telescope find_files<cr>", "Find file" },
e = { "<cmd>NvimTreeToggle<cr>", "File explorer" },
b = { "<cmd>Telescope buffers<cr>", "Find buffer" },
w = { "<cmd>write!<cr>", "Save file" },
q = { "<cmd>quit!<cr>", "Quit" },
c = { "<cmd>bdelete!<cr>", "Close buffer" },
h = { "<cmd>nohlsearch<cr>", "No search hl" },
n = { "<cmd>e! /tmp/note.md<cr>", "Open note" },
s = {
name = "Search",
b = { "<cmd>Telescope git_branches<cr>", "Git branches" },
g = { "<cmd>Telescope git_status<cr>", "Git status" },
p = { "<cmd>Telescope projects<cr>", "Projects" },
r = { "<cmd>Telescope oldfiles<cr>", "Find oldfile" },
t = { "<cmd>Telescope live_grep<cr>", "Live grep" },
},
l = {
name = "Lsp",
a = { "<cmd>Telescope lsp_code_actions<cr>", "Code actions" },
q = { "<cmd>TroubleToggle<cr>", "Diagnostics menu" },
r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
f = { "<cmd>lua vim.lsp.buf.formatting()<cr>", "Format" },
i = { "<cmd>LspInfo<cr>", "Lsp info" },
R = { "<cmd>LspRestart<cr>", "Restart lsp server" },
s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" },
l = { "<cmd>lua vim.lsp.codelens.run()<cr>", "CodeLens action" },
j = { "<cmd>lua vim.diagnostic.goto_next()<cr>", "Next diagnostic" },
k = { "<cmd>lua vim.diagnostic.goto_prev()<cr>", "Prev diagnostic" },
},
t = {
name = "Tests/tabs",
t = { "<cmd>Ultest<cr>", "Run all tests" },
s = { "<cmd>UltestStop<cr>", "Stop all runned tests" },
C = { "<cmd>UltestClear<cr>", "Clean tests results" },
n = { "<cmd>UltestNearest<cr>", "Run test under cursor" },
O = { "<cmd>UltestOutput<cr>", "Show test result" },
l = { "<cmd>tabnext<cr>", "Next tab" },
h = { "<cmd>tabprev<cr>", "Prev tab" },
N = { "<cmd>tabnew<cr>", "New tab" },
},
g = {
name = "Git",
g = { "<cmd>Neogit<cr>", "Neogit" },
s = { "<cmd>lua require[[gitsigns]].stage_hunk()<cr>", "Stage hunk" },
r = { "<cmd>lua require[[gitsigns]].reset_hunk()<cr>", "Reset hunk" },
p = { "<cmd>lua require[[gitsigns]].preview_hunk()<cr>", "Preview hunk" },
b = { "<cmd>lua require[[gitsigns]].blame_line {}<cr>", "Blame line" },
R = { "<cmd>lua require[[gitsigns]].reset_buffer()<cr>", "Reset buffer" },
S = { "<cmd>lua require[[gitsigns]].stage_buffer()<cr>", "Stage buffer" },
},
}
wk.register(mappings, opts)
|