return { "mistweaverco/kulala.nvim", ft = { "http", "rest" }, opts = { default_env = "local" }, 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", "Rc", ":lua require('kulala').copy()", { desc = "Copy as cURL", silent = true } ) vim.api.nvim_buf_set_keymap( buf, "n", "RC", ":lua require('kulala').from_curl()", { desc = "Paste from cURL", 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 } ) vim.api.nvim_buf_set_keymap( buf, "n", "Rf", ":lua require('kulala').search()", { desc = "Find Request", silent = true } ) vim.api.nvim_buf_set_keymap( buf, "n", "]R", ":lua require('kulala').jump_next()", { desc = "Jump to next request", silent = true } ) vim.api.nvim_buf_set_keymap( buf, "n", "[R", ":lua require('kulala').jump_prev()", { desc = "Jump to previous request", silent = true } ) vim.api.nvim_buf_set_keymap( buf, "n", "Re", ":lua require('kulala').set_selected_env()", { desc = "Select environment", silent = true } ) vim.api.nvim_buf_set_keymap( buf, "n", "Ru", ":lua require('lua.kulala.ui.auth_manager').open_auth_config()", { desc = "Manage Auth Config", silent = true } ) vim.api.nvim_buf_set_keymap( buf, "n", "Rg", ":lua require('kulala').download_graphql_schema()", { desc = "Download GraphQL schema", silent = true } ) vim.api.nvim_buf_set_keymap( buf, "n", "Rx", ":lua require('kulala').scripts_clear_global()", { desc = "Clear globals", silent = true } ) vim.api.nvim_buf_set_keymap( buf, "n", "RX", ":lua require('kulala').clear_cached_files()", { desc = "Clear cached files", silent = true } ) end, }) end }