Metadata-Version: 2.1
Name: hyuga
Version: 0.1.2
Summary: Hyuga - Yet Another Hy Language Server
License: MIT
Author: Yuuta Sakurai
Author-email: sakurai.yuta@gmail.com
Requires-Python: >=3.7,<3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: hy (>=0.24.0,<0.25.0)
Requires-Dist: hyrule (>=0.2,<0.3)
Requires-Dist: pygls (>=1.2.1,<2.0.0)
Requires-Dist: toolz (>=0.12.0,<0.13.0)
Description-Content-Type: text/markdown

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).

Verified-working Hy version: [0.24.0](https://github.com/hylang/hy/tree/stable)

## Feature

- `textDocument/did{Open,Change}`
- `textDocument/completion`
  - Show candidates all modules installed in your system, classes/functions in opening source. (plain Python-symbols included)
- `textDocument/definition`
  - Jump to definition. (currently refered hy-source only)
- `textDocument/hover`

## Screenshots

### Completion

![Hyuga sample movie: completion](https://raw.githubusercontent.com/sakuraiyuta/hyuga/images/hyuga-image-completion.gif)

### Jump to definition

![Hyuga sample movie: jump-to-definition](https://raw.githubusercontent.com/sakuraiyuta/hyuga/images/hyuga-image-jump-def.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)

**Note:** Currently `vim-lsp-settings` doesn't have installer for Hyuga.
You can test with [my vim-lsp-settings branch](https://github.com/sakuraiyuta/vim-lsp-settings/tree/add-lang/hyuga).

Sample for dein:

```vim
call dein#add('sakuraiyuta/vim-lsp-settings', {'rev': 'add-lang/hyuga'})
```

And open `*.hy` file with `filetype=hy`, then run `:LspInstallServer`

### [Visual Studio Code(VSCode)](https://code.visualstudio.com)

TODO: implement

## 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

