gpt4 book ai didi

c++ - Emacs:烦人的 Flymake 对话框

转载 作者:IT老高 更新时间:2023-10-28 22:35:11 24 4
gpt4 key购买 nike

我的 ~/.emacs.d/init.el

中有以下几行
(custom-set-variables
'(flymake-allowed-file-name-masks
(quote
(
("\\.cc\\'" flymake-simple-make-init)
("\\.cpp\\'" flymake-simple-make-init)))))
(add-hook 'find-file-hook 'flymake-find-file-hook)

当我打开一个在同一文件夹中具有正确 Makefile 的 C++ 文件时,我会得到即时编译和错误报告(Flymake 将在代码编辑期间检查语法并报告错误和警告)。

Makefile 有一个 check-syntax 目标:

.PHONY: check-syntax
check-syntax:
$(CXX) -Wall -Wextra -pedantic -fsyntax-only $(CHK_SOURCES)

问题是,当我打开一个没有相应 Makefile 的 .cc 文件时,我得到一个恼人的对话框,警告我 flymake 被禁用。

因此,如果我在包含 20 个 C++ 文件的文件夹中启动 emacs *.cc,我会得到 20 个 modal 对话框,显示类似 No buildfile found for [. ...]。 Flymake 将被关闭

有什么钩子(Hook)可以用来禁用该警告吗?您能否提供示例 elisp 代码并说明您如何找到合适的钩子(Hook)?

最佳答案

执行此操作且仍接收消息的最简单方法是将自定义变量设置为 true,然后重新定义 flymake-display-warning 函数。

;; Overwrite flymake-display-warning so that no annoying dialog box is
;; used.

;; This version uses lwarn instead of message-box in the original version.
;; lwarn will open another window, and display the warning in there.
(defun flymake-display-warning (warning)
"Display a warning to the user, using lwarn"
(lwarn 'flymake :warning warning))

;; Using lwarn might be kind of annoying on its own, popping up windows and
;; what not. If you prefer to recieve the warnings in the mini-buffer, use:
(defun flymake-display-warning (warning)
"Display a warning to the user, using lwarn"
(message warning))

关于c++ - Emacs:烦人的 Flymake 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com