Requirements • Install • Usage • HTTP File Spec
A fully-featured REST Client Interface for Neovim.
Kulala is swahili for "rest" or "relax".
It allows you to make HTTP requests from within Neovim.
Protocols: HTTP, GRPC, GraphQL, WebSocket, Streaming
Specs: HTTP File Spec and IntelliJ HTTP Client compliant
Variables: Environment, Document, Request, Dynamic, Prompt, http-client.env
files
Importing and running requests from external *.http
files
Importing and saving request/response data to/from external files
JS and Lua scripting: Pre-request, Post-request, Conditional, Inline, External
Authentication: Basic, Bearer, Digest, NTLM, OAuth2, Negotiate, AWS, SSL
Response formatting and live filtering
Assertions, automated testing and reporting
Built-in LSP completion and formatting
CLI tooling and CI hooks
Scratchpad: for making requests
100% Compatibility with IntelliJ HTTP Client
Together with Kulala Language Server and Kulala Formatter, we aim to provide the best REST Client experience on the web without leaving your favourite editor!
Kulala team loves feature requests and feedback, so if you have any ideas or suggestions, please let us know!
We will be happy to implement them ❤️
Via lazy.nvim:
require("lazy").setup({
{
"mistweaverco/kulala.nvim",
keys = {
{ "<leader>Rs", desc = "Send request" },
{ "<leader>Ra", desc = "Send all requests" },
{ "<leader>Rb", desc = "Open scratchpad" },
},
ft = {"http", "rest"},
opts = {
-- your configuration comes here
global_keymaps = false,
global_keymaps_prefix = "<leader>R",
kulala_keymaps_prefix = "",
},
},
})
Warning
opts
needs to be at least an empty table {}
and can't be completely omitted.
Note
By default global keymaps are disabled, change to global_keymaps = true
to get a complete set of key mappings for Kulala. Check the keymaps documentation for details.
See complete configuration options for more information.
For getting this project started.
This project was heavily inspired by the idea of having a REST client in Neovim.
The actual state of rest.nvim as archived kicked off the development of kulala.nvim.
Note
The project has been un-archived again, so check it out if you're looking for an alternative.
If you want a simple scratchpad for making HTTP requests, check out curl.nvim
It's very different to this project, but it's a great tool for making HTTP requests from within Neovim and maybe just your cup of tea.
For providing a great service for testing HTTP requests and making it in all the kulala examples.
Thanks for making it easy to test and develop this plugin.