Elisp refactor

关于elisp代码重构,大家推荐什么package?有用 emacs-refactor(emr) 的吗?

提供部分的重构功能


Python ver.

1 个赞

没写过非常复杂或者庞大的 Emacs Lisp 代码,还没有意识到有「重构」需求,手动改改就 OK 了。

相比「重构」,我觉得 Emacs Lisp 缺少自动格式化的工具,我常常纠结于何时换行。自带的 pp.el 过于简单;lispy 好像有些辅助格式的命令,但不是独立的。

aggressive-indent 挺好用的,比保存时重排体验更好

缩进到不成问题,反正都是 Emacs 提供的,我没用 aggressive-indent,按 RET 时就会自动缩进(由默认开启的 electric-indent-mode 提供)。

aggressive-indent 确实挺好的,只有一个问题,对多个参数的缩进不够智能。如果第二个参数不换行,后续的参数对齐就很怪异了。不知道大家遇到没有?

(format "%s %s %s" 'a 'a
        'a)

(format "a" 'a 'a
        'a 'a)

这个行为不是挺正常的吗?

局部作用域重构用query-replace,全局重构用wgrep。elisp没有名字空间,不可能出现同名函数,不知道是不是因祸得福…

这个就很尴尬了