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=@ewen-lbh]
https://github.com/hyprland-community/hyprls
hyprland hyprland-config language-server language-server-protocol vscode-extension
Last synced: about 1 month ago
JSON representation
A LSP server for Hyprland config files [maintainer=@ewen-lbh]
- Host: GitHub
- URL: https://github.com/hyprland-community/hyprls
- Owner: hyprland-community
- License: mit
- Created: 2024-04-24T23:33:05.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-05T11:05:32.000Z (7 months ago)
- Last Synced: 2024-06-19T11:30:47.412Z (6 months ago)
- Topics: hyprland, hyprland-config, language-server, language-server-protocol, vscode-extension
- Language: Go
- Homepage: https://ewen.works/hyprls
- Size: 4.21 MB
- Stars: 51
- Watchers: 1
- Forks: 1
- Open Issues: 8
-
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/ewen-lbh/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/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](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)