我正在考虑在Emacs 26重写后从flycheck切换回flymake。关于flymake,困扰我的一件事是它在模式线上占用了多少空间。它有一个字符串Flymake
加上结果。这看起来是件愚蠢的事情,但这是一个80个字符的框架上的模式行的10%,只是为了一个名字!我有很多重要的信息想要在我的模式行上看到,所以我试着删除对我没有帮助的东西--我知道在我的缓冲区中启用了哪些次要模式等,因为我已经配置了它们!就我个人而言,我更喜欢根本不想看到名字,只想看到结果,或者最多看到F
或FM
。
我可以使用diminish
来完全摆脱模式行信息,但我当然不希望这样:我希望能够看到我的缓冲区的状态。
我看了一下flymake.el
和flymake--mode-line-format
defun,发现这个字符串似乎不是可配置的,或者根本不容易更改。
有人对此有什么想法吗?
发布于 2018-12-20 04:02:58
您需要重新定义flymake--mode-line-format
函数。它可能应该更具可定制性,但事实并非如此。最不具侵入性的方法可能是在该函数上定义:filter-return
advice来转换输出。
(defun flymake--transform-mode-line-format (ret)
"Change the output of `flymake--mode-line-format'."
(setf (seq-elt (car ret) 1) " FM")
ret)
(advice-add #'flymake--mode-line-format
:filter-return #'flymake--transform-mode-line-format)
https://stackoverflow.com/questions/53855618
复制相似问题