Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sakuraiyuta/hyuga
Hyuga - Yet Another Hy Language Server
https://github.com/sakuraiyuta/hyuga
hy hylang language-server lsp lsp-server neovim nvim python vscode vscode-extension
Last synced: about 1 month ago
JSON representation
Hyuga - Yet Another Hy Language Server
- Host: GitHub
- URL: https://github.com/sakuraiyuta/hyuga
- Owner: sakuraiyuta
- License: mit
- Created: 2022-08-28T01:46:27.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-06T10:19:30.000Z (10 months ago)
- Last Synced: 2024-09-28T06:21:02.030Z (about 2 months ago)
- Topics: hy, hylang, language-server, lsp, lsp-server, neovim, nvim, python, vscode, vscode-extension
- Language: Hy
- Homepage:
- Size: 10 MB
- Stars: 19
- Watchers: 3
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Hyuga - Yet Another Hy Language Server
======================================[![PyPI version](https://badge.fury.io/py/hyuga.svg)](https://badge.fury.io/py/hyuga)
Forked from [hy-language-server](https://github.com/rinx/hy-language-server).
**This software is still in the experimental stage!**
Please be aware that specifications may change without prior notice.
## Status
Verified-working Hy version: [0.24.0](https://github.com/hylang/hy/tree/stable)
|Hy version|Hyuga Support|
|----------|-------------|
|0.24 |Yes |
|0.25 |? |
|0.26 |? |
|0.27 |? |
|0.28 |? |We need your help to check the support status for each hy version.
Please report the results [in this issue](https://github.com/sakuraiyuta/hyuga/issues/17)!
## Feature
- `textDocument/did{Open,Change}`
- `textDocument/completion`
- Display a list of all modules installed in your system, including classes/functions in the currently opening source. (Plain Python symbols are also included.)
- `textDocument/definition`
- Jump to the definition. (Currently, this refers to hy-source only.)
- `textDocument/hover`## Screenshots
### Completion
![Hyuga sample movie: completion on neovim](https://raw.githubusercontent.com/sakuraiyuta/hyuga/images/hyuga-image-completion.gif)
![Hyuga sample movie: completion on vscode](https://raw.githubusercontent.com/sakuraiyuta/hyuga/images/hyuga-image-completion-vscode.gif)### Jump to definition
![Hyuga sample movie: jump-to-definition on neovim](https://raw.githubusercontent.com/sakuraiyuta/hyuga/images/hyuga-image-jump-def.gif)
![Hyuga sample movie: jump-to-definition on vscode](https://raw.githubusercontent.com/sakuraiyuta/hyuga/images/hyuga-image-jump-def-vscode.gif)## Install
### plain install
```bash
pip3 install hyuga
```### [neovim(nvim)](https://github.com/neovim/neovim) + [vim-lsp](https://github.com/prabirshrestha/vim-lsp) + [vim-lsp-settings](https://github.com/mattn/vim-lsp-settings)
Install [vim-lsp](https://github.com/prabirshrestha/vim-lsp) and [vim-lsp-settings](https://github.com/mattn/vim-lsp-settings), open a `*.hy` file with `filetype=hy`, then run `:LspInstallServer`
### [Visual Studio Code(VSCode)](https://code.visualstudio.com)
- Install `hyuga` to your python environment. (Refer to the `Plain install` section for details.)
- In VSCode, open `Extensions` view, search for `hyuga`, and install `Hyuga VSCode Client`.
- or: visit [Hyuga VSCode Client - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=sakuraiyuta.hyuga-vscode-client) and install.## Development
### Setup
- Install [poetry](https://github.com/python-poetry/poetry).
- Clone this project: `git clone https://github.com/sakuraiyuta/hyuga.git`
- In project directory, execute `poetry install`.### Test
```bash
poetry run pytest tests
```## License
MIT