当打开一个包含未解决的合并冲突的文件时,Emacs 默认启用 smerge-mode 以及其他模式(在这种情况下是 Python 模式 + EGlot 和朋友)。这也会触发 Flymake 运行,这会抱怨源代码控制或差异工具添加的合并冲突标头。
禁用 flymake 时错误自然消失
但是,再次启用 flymake 时,它没有显示语法错误。只是一个“等待”。也许flymake在启用后知道smerge-mode或类似的东西?
是否有人将他们的 Emacs 配置为在访问具有合并冲突(smerge 模式)和“重”模式(如 eglot)的文件时禁用 flymake 模式,或者您知道 flymake 是否足够聪明以检测到这一点?
我已经尝试了一些 elisp 来检测不同钩子上的 smerge 模式并相应地禁用 flymake,但它使缓冲区面“脏/损坏”,文本周围有 flymakes 错误标记。