Hy Programming Language Enhancements For Automation And Ide Support

hy programming language
automatic reloading
exception handling
automation tool
expression wrapping
IDE support
Vim, Emacs, Neovim’s Nelean plugin
The article highlights updates to the hy programming language, introducing features such as automatic reloading and enhanced exception handling. These modifications allow hy to be utilized as an automation tool and overcome constraints with expression wrapping. The improvements also benefit IDE support, particularly in Vim, Emacs, and Neovim’s Nelean plugin.
Published

November 25, 2022


hy lisp embedded in python, resumeable exception

jython only supports upto python2.7. these libraries may need substantial changes to be compatible with jython:

hy
parse
hyrule
reloading

hy docs

hyrule docs

hy缺乏基本的补全 vscode目前没法用 我把hy改造成了可以自动reload 自动抓Uncaught exception的模式 如果要取消这些行为 需要加上flag 可以用于hy2py

-R
disable automatic insertion of reloading decorator
-T
disable toplevel try-except
-K
disable toplevel show stacktrace
-L
disable line-by-line try-except

一些未知的expression可能不允许被wrap到我们的macro里面 需要被加入到黑名单 已知的系列包括unpack-iterable之类的

hy的插件目前分为vim版本和EMACS版本 对spacevim spacemacs不怎么友好

vim syntax highlight

emacs hy-mode and jedhy

hyuga for neovim, with custom vim-lsp

hy的code autoindentation功能我做了 nelean 目前最新版本有待更新 主要是对字符串的正则进行了优化