Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mistweaverco/kulala-ls
A minimal 🤏 language 🔊 server 📡 for HTTP 🐼 syntax 🌈.
https://github.com/mistweaverco/kulala-ls
http http-client kulala language-server-protocol lsp-server neovim
Last synced: about 8 hours ago
JSON representation
A minimal 🤏 language 🔊 server 📡 for HTTP 🐼 syntax 🌈.
- Host: GitHub
- URL: https://github.com/mistweaverco/kulala-ls
- Owner: mistweaverco
- License: mit
- Created: 2024-10-01T20:33:27.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-23T21:05:14.000Z (3 months ago)
- Last Synced: 2025-01-17T03:06:41.432Z (7 days ago)
- Topics: http, http-client, kulala, language-server-protocol, lsp-server, neovim
- Language: TypeScript
- Homepage:
- Size: 206 KB
- Stars: 52
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
![Kulala Logo](logo.svg)
# kulala-ls
[![NPM](https://img.shields.io/npm/v/@mistweaverco/kulala-ls?style=for-the-badge)](https://www.npmjs.com/package/@mistweaverco/kulala-ls)
[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6.svg?style=for-the-badge&logo=typescript&logoColor=FFF)](https://www.typescriptlang.org/)
[![Rollup](https://img.shields.io/badge/Rollup-bd0f0f.svg?style=for-the-badge&logo=rollup.js&logoColor=FFF)](https://rollupjs.org/)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/mistweaverco/kulala-ls?style=for-the-badge)](https://github.com/mistweaverco/kulala-ls/releases/latest)
[![Discord](https://img.shields.io/badge/discord-join-7289da?style=for-the-badge&logo=discord)](https://discord.gg/QyVQmfY4Rt)[Install](#install) •[Supports](#supports) • [Usage](https://kulala.mwco.app/docs/usage/) • [HTTP File Spec](https://kulala.mwco.app/docs/usage/http-file-spec)
A minimal 🤏 language 🔊 server 📡 for HTTP 🐼 syntax 🌈.
Kulala is swahili for "rest" or "relax".
## Install
### Neovim
> [!WARNING]
> Requires Neovim 0.10.0+.Install language server:
```sh
npm install -g @mistweaverco/kulala-ls
```Recommended plugins:
- [lazy.nvim](https://github.com/folke/lazy.nvim)
- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
- [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp)
- [lsp-config](https://github.com/neovim/nvim-lspconfig)### Configuration
```lua
{
"neovim/nvim-lspconfig",
dependencies = {
"hrsh7th/nvim-cmp",
"hrsh7th/cmp-nvim-lsp",
},
config = function()
local nvim_lsp = require("lspconfig")
local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
local servers = {
"kulala_ls",
}
for _, lsp in ipairs(servers) do
if nvim_lsp[lsp] ~= nil then
if nvim_lsp[lsp].setup ~= nil then
nvim_lsp[lsp].setup({
capabilities = capabilities,
})
else
vim.notify("LSP server " .. lsp .. " does not have a setup function", vim.log.levels.ERROR)
end
end
end
end,
}
```## Supports
- Variable completion *(with support for multiple sources)*
- [x] `OS environment` (Kulala)
- [x] `http-client.env.json` (Kulala and Intellij)
- [x] `http-client.private.env.json` (Kulala and Intellij)
- [x] `.env` (Kulala and rest-nvim)
- [x] `.vscode/settings.json` *`rest-client.environmentVariables`* (Kulala and VSCode rest-client)
- [x] `*.code-workspace` *`rest-client.environmentVariables`* (Kulala and VSCode rest-client)
- [x] Header name completion
- [x] Header value completion
- [x] Method completion
- [x] Scheme completion
- [x] HTTP Version completion