All Projects → hylang → Hy Mode

hylang / Hy Mode

Licence: gpl-3.0
Hy mode for Emacs

[[Testing Workflow][file:https://github.com/hylang/hy-mode/workflows/Testing%20Workflow/badge.svg]]

An Emacs major mode for [[http://docs.hylang.org/en/stable/][Hy]], a lisp embedded in python.

Provides autocompletion, documentation lookup, and all features required to make developing in Hy enjoyable and productive.

[[file:./img/jedhy.png]]

** Installation

hy-mode is available in MELPA.

IDE components like autocompletion via company-mode rely on jedhy, which can be installed as standard with pip install jedhy in your virtual environment of choice, see [[https://github.com/ekaschalk/jedhy]].

Jedhy should auto-start whenever it finds it.

Currently, completing imported packages requires sending the imports/requires/sys.path.extend manually in the current buffer with M-x hy-jedhy-update-imports.

The precise features enabled are: company-mode, eldoc-mode, and hy-describe-thing-at-point for looking up docs of the symbol at point.

Spacemacs users - Hy has its own layer in its dev branch.

** Configuring

Company/Eldoc support is enabled by default with hy-jedhy--enable?.

Indentation can be customized with hy-indent--exactly and hy-indent--fuzzily.

See hy-shell.el for configuring the shell.

** Raising Issues

Please provide the version of Hy you are using. The last confirmed version of Hy jedhy is compatible with is: 0.16.0.

The IDE features and management is feature-full but nascent. If you encounter issues please provide as much details as you can.

** Contributing

hy-mode is well-tested. It uses [[https://github.com/jorgenschaefer/emacs-buttercup][buttercup]] rather than ert.

Execute tests after running cask install with the command: cask exec buttercup -L .

Process-based tests currently rely on setting hy-test--pyvenv-name to the name of a virtual environment containing Hy, see hy-test.el. If not set, then a warning will be given and process-based tests will be skipped.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].