From 4601703f66e86203dbbd5b21fbda7ef991de77fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Andr=C3=A9=20Damas?= Date: Thu, 7 Aug 2025 00:12:34 +0100 Subject: [PATCH] Improve kulala keybindings --- lazy-lock.json | 10 ++--- lua/plugins/kulala.nvim.lua | 76 ++++++++++++++++++++++++++++++++-- lua/plugins/which-key.nvim.lua | 8 +++- 3 files changed, 84 insertions(+), 10 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index 7064592..fce07c3 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -17,20 +17,20 @@ "mini.statusline": { "branch": "main", "commit": "e331175f10d9f400b42523b3890841aba202ce16" }, "namu.nvim": { "branch": "main", "commit": "6759df3cddb1d6d11442b953f8b63e64350229f3" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "cea666ef965884414b1b71f6b39a537f9238bdb2" }, - "neogit": { "branch": "master", "commit": "a1bcc7b9ab5137f691dcac1e61d5a9b3e9a46507" }, + "neogit": { "branch": "master", "commit": "b8d840ed988ec3751ea2d9c9a66f635c3439564a" }, "none-ls-extras.nvim": { "branch": "main", "commit": "924fe88a9983c7d90dbb31fc4e3129a583ea0a90" }, - "none-ls.nvim": { "branch": "main", "commit": "46f2713c88a0b4e4bf134b59577659851ddd31cf" }, + "none-ls.nvim": { "branch": "main", "commit": "5fcb73913a9290f78097e34420fe0e6130c5c33c" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" }, "nvim-colorizer.lua": { "branch": "master", "commit": "16597180b4dd81fa3d23d88c4d2f1b49154f9479" }, - "nvim-lspconfig": { "branch": "master", "commit": "63a38440989c58e1f100373ab603fd24665bdc9a" }, + "nvim-lspconfig": { "branch": "master", "commit": "9141be4c1332afc83bdf1b0278dbb030f75ff8e3" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" }, "nvim-ufo": { "branch": "main", "commit": "80fe8215ba566df2fbf3bf4d25f59ff8f41bc0e1" }, "nvim-web-devicons": { "branch": "master", "commit": "3362099de3368aa620a8105b19ed04c2053e38c0" }, "output-panel.nvim": { "branch": "main", "commit": "9979f9988acb35fd8e699d8b1fbc7aa17c9d8148" }, - "overlook.nvim": { "branch": "master", "commit": "4920aafbbd204499f6b283c4d6e1a4d91937a030" }, - "package-info.nvim": { "branch": "master", "commit": "4f1b8287dde221153ec9f2acd46e8237d2d0881e" }, + "overlook.nvim": { "branch": "master", "commit": "483f4660f16de9034736299de82b3382ed1be2ba" }, + "package-info.nvim": { "branch": "master", "commit": "5cb3483ec886ca23e2c57e5d4a63c958d9a98179" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "render-markdown.nvim": { "branch": "main", "commit": "5df2eab599e06c48d04ea7e89cbaa3cdb4e09538" }, diff --git a/lua/plugins/kulala.nvim.lua b/lua/plugins/kulala.nvim.lua index 158cf58..699def6 100644 --- a/lua/plugins/kulala.nvim.lua +++ b/lua/plugins/kulala.nvim.lua @@ -2,7 +2,77 @@ return { "mistweaverco/kulala.nvim", ft = { "http", "rest" }, opts = { - global_keymaps = true, - global_keymaps_prefix = "R" - } + }, + init = function() + vim.api.nvim_create_autocmd("Filetype", { + pattern = "http", + callback = function() + local buf = vim.api.nvim_get_current_buf() + + vim.api.nvim_buf_set_keymap( + buf, + "n", + "Rb", + ":lua require('kulala').scratchpad()", + { desc = "Scratchpad", silent = true } + ) + vim.api.nvim_buf_set_keymap( + buf, + "n", + "Ro", + ":lua require('kulala').open()", + { desc = "Open Kulala", silent = true } + ) + vim.api.nvim_buf_set_keymap( + buf, + "n", + "Rt", + ":lua require('kulala').toggle_view()", + { desc = "Toggle headers/body", silent = true } + ) + vim.api.nvim_buf_set_keymap( + buf, + "n", + "RS", + ":lua require('kulala').show_stats()", + { desc = "Show stats", silent = true } + ) + vim.api.nvim_buf_set_keymap( + buf, + "n", + "Rq", + ":lua require('kulala').close()", + { desc = "Close window", silent = true } + ) + vim.api.nvim_buf_set_keymap( + buf, + "n", + "Rs", + ":lua require('kulala').run()", + { desc = "Send request", silent = true } + ) + vim.api.nvim_buf_set_keymap( + buf, + "n", + "Ra", + ":lua require('kulala').run_all()", + { desc = "Send all requests", silent = true } + ) + vim.api.nvim_buf_set_keymap( + buf, + "n", + "Ri", + ":lua require('kulala').inspect()", + { desc = "Inspect the current request", silent = true } + ) + vim.api.nvim_buf_set_keymap( + buf, + "n", + "Rr", + ":lua require('kulala').replay()", + { desc = "Replay the last request", silent = true } + ) + end, + }) + end } diff --git a/lua/plugins/which-key.nvim.lua b/lua/plugins/which-key.nvim.lua index f4981cf..a1029ef 100644 --- a/lua/plugins/which-key.nvim.lua +++ b/lua/plugins/which-key.nvim.lua @@ -94,9 +94,13 @@ return { desc = "Search dot files 🔭", }, { - -- this only works on http files "R", - desc = "Kulala HTTP" + desc = "Kulala HTTP", + }, + { + "R,", + ":lua Snacks.picker.files({ft='http'})", + desc = "Search request files", }, { "K", "Lspsaga hover_doc", desc = "Show documentation" },