From e7d6f542fdc20057c29ed8dbbeae42907ecb0773 Mon Sep 17 00:00:00 2001 From: Alexander Haas Date: Wed, 25 Jun 2025 08:37:47 +0200 Subject: [PATCH 1/7] feat(rest): added `rest` filetype to kulala This was done consistent with the kulala docs --- lua/lazyvim/plugins/extras/util/rest.lua | 47 ++++++++++++++++++------ 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/lua/lazyvim/plugins/extras/util/rest.lua b/lua/lazyvim/plugins/extras/util/rest.lua index 9f2e6d67..70708fad 100644 --- a/lua/lazyvim/plugins/extras/util/rest.lua +++ b/lua/lazyvim/plugins/extras/util/rest.lua @@ -6,26 +6,51 @@ vim.filetype.add({ return { { "mistweaverco/kulala.nvim", - ft = "http", + ft = { "http", "rest" }, keys = { - { "R", "", desc = "+Rest", ft = "http" }, - { "Rb", "lua require('kulala').scratchpad()", desc = "Open scratchpad", ft = "http" }, - { "Rc", "lua require('kulala').copy()", desc = "Copy as cURL", ft = "http" }, - { "RC", "lua require('kulala').from_curl()", desc = "Paste from curl", ft = "http" }, + { "R", "", desc = "+Rest", ft = { "http", "rest" } }, + { + "Rb", + "lua require('kulala').scratchpad()", + desc = "Open scratchpad", + ft = { "http", "rest" }, + }, + { "Rc", "lua require('kulala').copy()", desc = "Copy as cURL", ft = { "http", "rest" } }, + { "RC", "lua require('kulala').from_curl()", desc = "Paste from curl", ft = { "http", "rest" } }, { "Rg", "lua require('kulala').download_graphql_schema()", desc = "Download GraphQL schema", ft = "http", }, - { "Ri", "lua require('kulala').inspect()", desc = "Inspect current request", ft = "http" }, + { + "Ri", + "lua require('kulala').inspect()", + desc = "Inspect current request", + ft = { "http", "rest" }, + }, { "Rn", "lua require('kulala').jump_next()", desc = "Jump to next request", ft = "http" }, - { "Rp", "lua require('kulala').jump_prev()", desc = "Jump to previous request", ft = "http" }, + { + "Rp", + "lua require('kulala').jump_prev()", + desc = "Jump to previous request", + ft = { "http", "rest" }, + }, { "Rq", "lua require('kulala').close()", desc = "Close window", ft = "http" }, - { "Rr", "lua require('kulala').replay()", desc = "Replay the last request", ft = "http" }, - { "Rs", "lua require('kulala').run()", desc = "Send the request", ft = "http" }, - { "RS", "lua require('kulala').show_stats()", desc = "Show stats", ft = "http" }, - { "Rt", "lua require('kulala').toggle_view()", desc = "Toggle headers/body", ft = "http" }, + { + "Rr", + "lua require('kulala').replay()", + desc = "Replay the last request", + ft = { "http", "rest" }, + }, + { "Rs", "lua require('kulala').run()", desc = "Send the request", ft = { "http", "rest" } }, + { "RS", "lua require('kulala').show_stats()", desc = "Show stats", ft = { "http", "rest" } }, + { + "Rt", + "lua require('kulala').toggle_view()", + desc = "Toggle headers/body", + ft = { "http", "rest" }, + }, }, opts = {}, }, From 7e03d5a0e43e71b46636a35c6f8c52309ae0ba84 Mon Sep 17 00:00:00 2001 From: Alexander Haas Date: Wed, 25 Jun 2025 08:39:14 +0200 Subject: [PATCH 2/7] fix(rest): typo in curl --- lua/lazyvim/plugins/extras/util/rest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/lazyvim/plugins/extras/util/rest.lua b/lua/lazyvim/plugins/extras/util/rest.lua index 70708fad..699a2fcb 100644 --- a/lua/lazyvim/plugins/extras/util/rest.lua +++ b/lua/lazyvim/plugins/extras/util/rest.lua @@ -16,7 +16,7 @@ return { ft = { "http", "rest" }, }, { "Rc", "lua require('kulala').copy()", desc = "Copy as cURL", ft = { "http", "rest" } }, - { "RC", "lua require('kulala').from_curl()", desc = "Paste from curl", ft = { "http", "rest" } }, + { "RC", "lua require('kulala').from_curl()", desc = "Paste from cURL", ft = { "http", "rest" } }, { "Rg", "lua require('kulala').download_graphql_schema()", From 1b7f3f77f5bd7d70d3f02d90f6aaf4f015b6f205 Mon Sep 17 00:00:00 2001 From: Alexander Haas Date: Wed, 25 Jun 2025 08:42:44 +0200 Subject: [PATCH 3/7] feat(rest): changed default kulala icons to utf8 --- lua/lazyvim/plugins/extras/util/rest.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lua/lazyvim/plugins/extras/util/rest.lua b/lua/lazyvim/plugins/extras/util/rest.lua index 699a2fcb..0aa7765b 100644 --- a/lua/lazyvim/plugins/extras/util/rest.lua +++ b/lua/lazyvim/plugins/extras/util/rest.lua @@ -52,7 +52,17 @@ return { ft = { "http", "rest" }, }, }, - opts = {}, + opts = { + ui = { + icons = { + inlay = { + loading = "", + done = "", + error = "", + }, + }, + }, + }, }, { "nvim-treesitter/nvim-treesitter", From 4b6188cfff28fe5b6c23f366913d0a70900db7ce Mon Sep 17 00:00:00 2001 From: Alexander Haas Date: Wed, 25 Jun 2025 08:50:20 +0200 Subject: [PATCH 4/7] feat(rest): added kuala-fmt as formatter to kulala --- lua/lazyvim/plugins/extras/util/rest.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lua/lazyvim/plugins/extras/util/rest.lua b/lua/lazyvim/plugins/extras/util/rest.lua index 0aa7765b..57a0e228 100644 --- a/lua/lazyvim/plugins/extras/util/rest.lua +++ b/lua/lazyvim/plugins/extras/util/rest.lua @@ -64,6 +64,22 @@ return { }, }, }, + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "kulala-fmt", + }, + }, + }, + { + "stevearc/conform.nvim", + opts = { + formatters_by_ft = { + http = { "kulala-fmt" }, + }, + }, + }, { "nvim-treesitter/nvim-treesitter", opts = { From e0b3c52daf595915f3e93742b171afd961362901 Mon Sep 17 00:00:00 2001 From: Alexander Haas Date: Wed, 25 Jun 2025 08:53:40 +0200 Subject: [PATCH 5/7] revert(rest): revert adding rest filetype I have no idea what I'm doing and actually I don't see a necessity for extra filetypes --- lua/lazyvim/plugins/extras/util/rest.lua | 47 ++++++------------------ 1 file changed, 11 insertions(+), 36 deletions(-) diff --git a/lua/lazyvim/plugins/extras/util/rest.lua b/lua/lazyvim/plugins/extras/util/rest.lua index 57a0e228..443111ff 100644 --- a/lua/lazyvim/plugins/extras/util/rest.lua +++ b/lua/lazyvim/plugins/extras/util/rest.lua @@ -6,51 +6,26 @@ vim.filetype.add({ return { { "mistweaverco/kulala.nvim", - ft = { "http", "rest" }, + ft = "http", keys = { - { "R", "", desc = "+Rest", ft = { "http", "rest" } }, - { - "Rb", - "lua require('kulala').scratchpad()", - desc = "Open scratchpad", - ft = { "http", "rest" }, - }, - { "Rc", "lua require('kulala').copy()", desc = "Copy as cURL", ft = { "http", "rest" } }, - { "RC", "lua require('kulala').from_curl()", desc = "Paste from cURL", ft = { "http", "rest" } }, + { "R", "", desc = "+Rest", ft = "http" }, + { "Rb", "lua require('kulala').scratchpad()", desc = "Open scratchpad", ft = "http" }, + { "Rc", "lua require('kulala').copy()", desc = "Copy as cURL", ft = "http" }, + { "RC", "lua require('kulala').from_curl()", desc = "Paste from curl", ft = "http" }, { "Rg", "lua require('kulala').download_graphql_schema()", desc = "Download GraphQL schema", ft = "http", }, - { - "Ri", - "lua require('kulala').inspect()", - desc = "Inspect current request", - ft = { "http", "rest" }, - }, + { "Ri", "lua require('kulala').inspect()", desc = "Inspect current request", ft = "http" }, { "Rn", "lua require('kulala').jump_next()", desc = "Jump to next request", ft = "http" }, - { - "Rp", - "lua require('kulala').jump_prev()", - desc = "Jump to previous request", - ft = { "http", "rest" }, - }, + { "Rp", "lua require('kulala').jump_prev()", desc = "Jump to previous request", ft = "http" }, { "Rq", "lua require('kulala').close()", desc = "Close window", ft = "http" }, - { - "Rr", - "lua require('kulala').replay()", - desc = "Replay the last request", - ft = { "http", "rest" }, - }, - { "Rs", "lua require('kulala').run()", desc = "Send the request", ft = { "http", "rest" } }, - { "RS", "lua require('kulala').show_stats()", desc = "Show stats", ft = { "http", "rest" } }, - { - "Rt", - "lua require('kulala').toggle_view()", - desc = "Toggle headers/body", - ft = { "http", "rest" }, - }, + { "Rr", "lua require('kulala').replay()", desc = "Replay the last request", ft = "http" }, + { "Rs", "lua require('kulala').run()", desc = "Send the request", ft = "http" }, + { "RS", "lua require('kulala').show_stats()", desc = "Show stats", ft = "http" }, + { "Rt", "lua require('kulala').toggle_view()", desc = "Toggle headers/body", ft = "http" }, }, opts = { ui = { From a6d627dc965f77ca48a819e1b31a9530458a9305 Mon Sep 17 00:00:00 2001 From: Alexander Haas Date: Wed, 25 Jun 2025 08:54:54 +0200 Subject: [PATCH 6/7] fix(rest): fix type in cURL Commit was lost due to revert --- lua/lazyvim/plugins/extras/util/rest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/lazyvim/plugins/extras/util/rest.lua b/lua/lazyvim/plugins/extras/util/rest.lua index 443111ff..c8e1086b 100644 --- a/lua/lazyvim/plugins/extras/util/rest.lua +++ b/lua/lazyvim/plugins/extras/util/rest.lua @@ -11,7 +11,7 @@ return { { "R", "", desc = "+Rest", ft = "http" }, { "Rb", "lua require('kulala').scratchpad()", desc = "Open scratchpad", ft = "http" }, { "Rc", "lua require('kulala').copy()", desc = "Copy as cURL", ft = "http" }, - { "RC", "lua require('kulala').from_curl()", desc = "Paste from curl", ft = "http" }, + { "RC", "lua require('kulala').from_curl()", desc = "Paste from cURL", ft = "http" }, { "Rg", "lua require('kulala').download_graphql_schema()", From dc6b18ece67487e4c60e54e0fb193d6c8623a832 Mon Sep 17 00:00:00 2001 From: Alexander Haas Date: Thu, 26 Jun 2025 19:37:04 +0200 Subject: [PATCH 7/7] feat(extras): added kulala-ls to test config --- lua/lazyvim/plugins/extras/util/rest.lua | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lua/lazyvim/plugins/extras/util/rest.lua b/lua/lazyvim/plugins/extras/util/rest.lua index c8e1086b..11045d2d 100644 --- a/lua/lazyvim/plugins/extras/util/rest.lua +++ b/lua/lazyvim/plugins/extras/util/rest.lua @@ -40,12 +40,14 @@ return { }, }, { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "kulala-fmt", - }, - }, + "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",