hyprls
hyprls copied to clipboard
A LSP server for Hyprland config files [maintainer=@ewen-lbh]
HyprLS
|
| |
|
|
|
A LSP server for Hyprland configuration files.
Features
Not checked means planned / work in progress.
- [x] Auto-complete
- [x] Hover
- [ ] TODO: Documentation on hover of categories?
- [x] Go to definition
- [x] Color pickers
- [x] Document symbols
- [ ] Diagnostics
- [ ] Formatting
- [ ] Semantic highlighting
Installation
With go install
go install github.com/ewen-lbh/hyprls/cmd/hyprls@latest
From source
- Required: Just (
paru -S juston 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
Usage
With Neovim
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
})
VSCode
Install it from the marketplace.
[!TIP] You can use the Hyprland extension pack to also get syntax highlighting.