return { "mistweaverco/kulala.nvim", ft = { "http", "rest" }, opts = { }, 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 }