Elisp fuzzy complete和Lisp动态高亮

这两天打算把编程的重心从Lisp暂时转移走了,所以就决定把最近攒下来的和写Lisp有关的自用配置整理一下,做成插件发出来。不知道有没有重复的,但反正是极大提升了我个人的写作体验。

第一个是Elisp fuzzy completion,不知道为什么这么多年来一直没人做这个。虽然尚欠优化但到底还算是能用了吧。这个方法在补全4字母以下的symbol时会卡的要命,所以我先设了个custom,4字符以下用普通的贪婪补全,后面有精力了再修。

虽然优化是好优化,无论是分级缓存还是接dynamic module,不过该吐槽的还是六万多个symbol怎么能卡成这样的。我这个代码是从CL移植过来的,CL那边完全没有卡顿的是…

第二个是Lisp动态语法高亮,充分利用了我们Lisp直连REPL、从不静态分析的传统,把Emacs中闲置的function-call-face,variable-use-face等都充分利用了起来。有了它我们就可以清晰分辨出哪些symbol是函数、是宏、是变量、是类型,还是打错字了。这个我们非常喜欢用的说

祝大家五一快乐的说

13 个赞

太好了 膜一下 :wink: 可能得上一些数据结构才好处理这种4字符以内的 也可能是渲染问题 说不好就是因为渲染的锅 之前在做其它项目的时候(工作的) 搜索一个1w的数据里 用2个字去匹配 如果数据量大 也会卡超时(5秒以上)比如 10 和 店 这种,(有些尴尬)

1 个赞

我记得minad的orderless是支持flex的,company也有人做过一个fuzzy插件。

可能是前端渲染问题,可以调调前端的参数。

1 个赞