有没有可能让flymake-mode意识到球拍文件中的语法(或其他)错误,比如erlang或python?我正在使用geiser-mode用于球拍,如果这很重要的话。
发布于 2012-05-21 21:22:57
这可能非常简单,因为since以标准的line:column格式输出警告消息。
您甚至不需要调用编译器--只需通过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)https://stackoverflow.com/questions/10676099
复制相似问题