Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hyprland-community/hyprls
A LSP server for Hyprland config files [maintainer=@gwennlbh]
https://github.com/hyprland-community/hyprls
hyprland hyprland-config language-server language-server-protocol vscode-extension
Last synced: 2 days ago
JSON representation
A LSP server for Hyprland config files [maintainer=@gwennlbh]
- Host: GitHub
- URL: https://github.com/hyprland-community/hyprls
- Owner: hyprland-community
- License: mit
- Created: 2024-04-24T23:33:05.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-01-03T15:07:43.000Z (about 1 month ago)
- Last Synced: 2025-01-19T13:20:04.496Z (25 days ago)
- Topics: hyprland, hyprland-config, language-server, language-server-protocol, vscode-extension
- Language: Go
- Homepage: https://gwen.works/hyprls
- Size: 4.26 MB
- Stars: 151
- Watchers: 2
- Forks: 6
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hyprland - hyprls
README
# 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`
```sh
go install github.com/hyprland-community/hyprls/cmd/hyprls@latest
```### From source
- Required: [Just](https://just.systems) (`paru -S just` on Arch Linux (btw))
```sh
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
```## Usage
### With Neovim
_Combine with [The tree-sitter grammar for Hyprlang](https://github.com/tree-sitter-grammars/tree-sitter-hyprlang) for syntax highlighting._
Add this to your `init.lua`:
```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
#### Official Marketplace (VisualStudio Marketplace)
Install it [from the marketplace](https://marketplace.visualstudio.com/items?itemName=ewen-lbh.vscode-hyprls).
> [!TIP]
> You can use [the Hyprland extension pack](https://marketplace.visualstudio.com/items?itemName=ewen-lbh.hyprland) to also get syntax highlighting.#### Open VSX (for VSCodium & others)
Install it [on OpenVSX](https://open-vsx.org/extension/ewen-lbh/vscode-hyprls)