diff options
Diffstat (limited to 'lua/plugins/core/which-key.lua')
-rw-r--r-- | lua/plugins/core/which-key.lua | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lua/plugins/core/which-key.lua b/lua/plugins/core/which-key.lua new file mode 100644 index 0000000..6e046a3 --- /dev/null +++ b/lua/plugins/core/which-key.lua @@ -0,0 +1,45 @@ +return { + "folke/which-key.nvim", + event = "VeryLazy", + init = function() + vim.o.timeout = true + vim.o.timeoutlen = 300 + end, + + opts = { + f = { name = "File" }, + b = { + name = "Buffer", + n = { "<cmd>BufferNext<cr>", "Next" }, + p = { "<cmd>BufferPrevious<cr>", "Previous" }, + c = { "<cmd>BufferClose<cr>", "Close" }, + ["1"] = { "<cmd>BufferGoto 1<cr>", "1" }, + ["2"] = { "<cmd>BufferGoto 2<cr>", "2" }, + ["3"] = { "<cmd>BufferGoto 3<cr>", "3" }, + ["4"] = { "<cmd>BufferGoto 4<cr>", "4" }, + ["5"] = { "<cmd>BufferGoto 5<cr>", "5" }, + ["6"] = { "<cmd>BufferGoto 6<cr>", "6" }, + ["7"] = { "<cmd>BufferGoto 7<cr>", "7" }, + ["8"] = { "<cmd>BufferGoto 8<cr>", "8" }, + ["9"] = { "<cmd>BufferGoto 9<cr>", "9" }, + }, + l = { + name = "LSP", + a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Action" }, + f = { "<cmd>lua vim.lsp.buf.format({ async = false, timeout_ms = 5000 })<cr>", "Format" }, + d = { "<cmd>lua vim.diagnostic.open_float()<cr>", "Diagnostic" }, + h = { "<cmd>lua vim.lsp.buf.hover()<cr>", "Help" }, + g = { + name = "Go to", + D = { "<cmd>lua vim.lsp.buf.declaration()<cr>", "Go to declaration" }, + d = { "<cmd>lua vim.lsp.buf.definition()<cr>", "Go to definition" }, + i = { "<cmd>lua vim.lsp.buf.definition()<cr>", "Go to implementation" }, + }, + }, + }, + + config = function(_, opts) + local wk = require("which-key") + wk.register(opts, { prefix = "<leader>" }) + end, +} |