LazyVim.LazyVim/lua/lazyvim/plugins/extras/util/rest.lua
2025-06-26 19:37:04 +02:00

66 lines
2.3 KiB
Lua

vim.filetype.add({
extension = {
["http"] = "http",
},
})
return {
{
"mistweaverco/kulala.nvim",
ft = "http",
keys = {
{ "<leader>R", "", desc = "+Rest", ft = "http" },
{ "<leader>Rb", "<cmd>lua require('kulala').scratchpad()<cr>", desc = "Open scratchpad", ft = "http" },
{ "<leader>Rc", "<cmd>lua require('kulala').copy()<cr>", desc = "Copy as cURL", ft = "http" },
{ "<leader>RC", "<cmd>lua require('kulala').from_curl()<cr>", desc = "Paste from cURL", ft = "http" },
{
"<leader>Rg",
"<cmd>lua require('kulala').download_graphql_schema()<cr>",
desc = "Download GraphQL schema",
ft = "http",
},
{ "<leader>Ri", "<cmd>lua require('kulala').inspect()<cr>", desc = "Inspect current request", ft = "http" },
{ "<leader>Rn", "<cmd>lua require('kulala').jump_next()<cr>", desc = "Jump to next request", ft = "http" },
{ "<leader>Rp", "<cmd>lua require('kulala').jump_prev()<cr>", desc = "Jump to previous request", ft = "http" },
{ "<leader>Rq", "<cmd>lua require('kulala').close()<cr>", desc = "Close window", ft = "http" },
{ "<leader>Rr", "<cmd>lua require('kulala').replay()<cr>", desc = "Replay the last request", ft = "http" },
{ "<leader>Rs", "<cmd>lua require('kulala').run()<cr>", desc = "Send the request", ft = "http" },
{ "<leader>RS", "<cmd>lua require('kulala').show_stats()<cr>", desc = "Show stats", ft = "http" },
{ "<leader>Rt", "<cmd>lua require('kulala').toggle_view()<cr>", desc = "Toggle headers/body", ft = "http" },
},
opts = {
ui = {
icons = {
inlay = {
loading = "",
done = "",
error = "",
},
},
},
},
},
{
"mason-org/mason.nvim",
opts = function(_, opts)
opts.registries = opts.registries or {}
table.insert(opts.registries, "github:mistweaverco/zana-registry")
opts.ensure_installed = opts.ensure_installed or {}
table.insert(opts.ensure_installed, "kulala-fmt")
table.insert(opts.ensure_installed, "kulala-ls")
end,
},
{
"stevearc/conform.nvim",
opts = {
formatters_by_ft = {
http = { "kulala-fmt" },
},
},
},
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = { "http", "graphql" },
},
},
}