我有以下几行~/.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 被禁用。
因此,如果我emacs *.cc
在一个包含 20 个 C++ 文件的文件夹中启动,我会得到 20 个模式对话框,显示类似No buildfile found for [...] 之类的内容。Flymake 将被关闭。
有什么钩子可以用来禁用该警告吗?您能否提供示例 elisp 代码和说明如何找到合适的钩子?