12
是否有可能让flymake模式知道球拍文件中的语法(或其他)错误,例如erlang或python?如果是问题,我使用geiser模式进行拍摄。emacs的球拍flymake模式
是否有可能让flymake模式知道球拍文件中的语法(或其他)错误,例如erlang或python?如果是问题,我使用geiser模式进行拍摄。emacs的球拍flymake模式
这可能非常容易,因为Racket以标准行:列格式吐出警告消息。
你甚至不需要调用编译器 - 只需通过racket the-file
运行代码就足够了。但作为一个半边注,使用更好的命令行是racket -qf the-file
。关于如何运行代码的事情是,它实际上......运行它。更具体地说,它加载模块定义然后调用它。使用-f
它只会加载定义但不会调用它,因此运行时不会执行。请注意,这假定该文件是只有一个模块的文件,这是您获得以#lang
开头的所有文件的文件。
更新:我试了一下,确实很容易设置。我已将此代码发布在the mailing list上:
(defun flymake-racket-init()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list "racket" (list "-qf" local-file))))
(push '("\\.rkt\\'" flymake-racket-init)
flymake-allowed-file-name-masks)