配置Emacs FlyMake以使用Rakefile和Makefile

配置Emacs FlyMake以使用Rakefile和Makefile,第1张

概述我一直在学习使用Emacs一段时间.到目前为止喜欢它很多. 我的问题是,对于小C代码,我更喜欢使用Rake而不是Make.然而,flymake似乎除了Make之外不需要任何其他东西.因为它抱怨它找不到Makefile.从命令行Rake的使用方式与Make相同,所以我想知道是否有一些emacs配置我可以输入以允许flymake使用Rake? 纠正我正在做的事情.我实际上并没有编辑Rakefile.而 我一直在学习使用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调用,因为这是由flymake-allowed-file-name-masks映射到的* .c文件.

因此,正确的答案是修改flymake-allowed-file-name-masks以将* .c文件映射到不同的init defun,然后编写defun以按照您想要的方式调用rake.有很多已经针对各种事情编写的defuns,其中大多数都非常短而且很甜 – 所以即使你不了解Emacs Lisp,你也可以用最少的东西来处理. (真正正确的答案是更改flymake-simple-make-init,以便从defcustom变量中读取命令名,然后将该更改提交回上游…)

快速而肮脏的答案,假设你说你需要做的就是用’make’来调用’rake’,使用与’make’相同的args,就是抓住flymake.el的副本,在你的加载路径中尽早贴上它,并使用flymake-get-make-cmdline中的’make’字符串来代替’rake’.那至少会让你进入下一步……

总结

以上是内存溢出为你收集整理的配置Emacs FlyMake以使用Rakefile和Makefile全部内容,希望文章能够帮你解决配置Emacs FlyMake以使用Rakefile和Makefile所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存