![]() | ![]() | |
![]() | ![]() | ![]() |
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/hyprland-community/hyprls/cmd/hyprls@latest
- Required: Just (
paru -S just
on Arch Linux (btw))
git clone --recurse-submodules https://github.com/hyprland-community/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.
Install it on OpenVSX
Language server support is provided by the Hyprlang extension. Detailed installation and setup instructions can be found in the extension repository [maintainer = @WhySoBad].