![]() | ![]() | |
![]() | ![]() | ![]() |
A LSP server for Hyprland configuration files.
Not checked means planned / work in progress.
- Auto-complete
- Hover
- TODO: Documentation on hover of categories?
- Go to definition
- Color pickers
- Document symbols
- Diagnostics
- Formatting
- Semantic highlighting
go install github.com/ewen-lbh/hyprls/cmd/hyprls@latest
- Required: Just (
paru -S just
on Arch Linux (btw))
git clone --recurse-submodules https://github.com/ewen-lbh/hyprls
cd hyprls
# installs the binary to ~/.local/bin.
# Make sure that directory exists and is in your PATH
just install
Combine with The tree-sitter grammar for Hyprlang for syntax highlighting.
Add this to your init.lua
:
-- Hyprlang LSP
vim.api.nvim_create_autocmd({'BufEnter', 'BufWinEnter'}, {
pattern = {"*.hl", "hypr*.conf"},
callback = function(event)
print(string.format("starting hyprls for %s", vim.inspect(event)))
vim.lsp.start {
name = "hyprlang",
cmd = {"hyprls"},
root_dir = vim.fn.getcwd(),
}
end
})
Install it from the marketplace.
Tip
You can use the Hyprland extension pack to also get syntax highlighting.