gpt4 book ai didi

emacs - 配置 Emacs FlyMake 以使用 Rakefile 和 Makefile

转载 作者:行者123 更新时间:2023-12-02 18:26:21 25 4
gpt4 key购买 nike

我已经学习使用 Emacs 一段时间了。到目前为止非常喜欢。

我的问题是,对于小的 C 代码,我更喜欢使用 Rake 而不是 Make。然而,flymake 似乎除了 Make 之外不需要任何其他东西。因为它提示找不到 Makefile。在命令行中,Rake 的使用方式与 Make 相同,所以我想知道是否可以输入一些 emacs 配置来允许 Flymake 使用 Rake?

纠正一下我正在做的事情。我实际上并没有编辑 Rakefile。而 Flymake-Ruby 根本没有帮助。我正在使用 C 代码。我只是使用 RAKE 来使用 gcc 而不是 MAKE 来编译 c 代码。

最佳答案

好的,现在明白了;对于之前的困惑表示抱歉。

快速浏览一下 Flymake.el,对于 *.c 文件,“make”调用最终来自这里:

(defun flymake-get-make-cmdline (source base-dir)
(list "make"
(list "-s"
"-C"
base-dir
(concat "CHK_SOURCES=" source)
"SYNTAX_CHECK_MODE=1"
"check-syntax")))

它被 flymake-simple-make-init 调用,调用它是因为 *.c 文件被 flymake-allowed- 映射到它。文件名掩码

因此,正确的答案是修改flymake-allowed-file-name-masks以将*.c文件映射到不同的 init defun,然后编写该 defun 以按照您想要的方式调用 rake。已经有很多这样的 defuns 为不同的东西而写了,而且大多数都非常简短和有趣——所以即使你不了解 Emacs Lisp,你也可以用最少的麻烦得到一些东西。 (真正正确的答案是更改flymake-simple-make-init,以便从 defcustom 变量读取命令名称,然后将该更改提交回上游。 ..)

考虑到您所说的所有您需要做的就是使用与“make”相同的参数调用“rake”,快速而肮脏的答案是获取 Flymake.el 的副本,将其尽早粘贴到您的load-path,并 munge flymake-get-make-cmdline 中的“make”字符串以读取“rake”。这至少会让你进入下一步......

关于emacs - 配置 Emacs FlyMake 以使用 Rakefile 和 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/395220/

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