flycheck の checker executable を PATH や exec-path を Emacs (GUI モード) を操作して設定するのがめんどいときは flycheck-define-checker で上書きできる。参考: flycheck で C/C++ のエラーチェック定義を追加する
(flycheck-define-checker ruby
"A Ruby syntax checker using the standard (MRI) Ruby interpreter.
See URL `http://www.ruby-lang.org/'."
:command ("chruby-exec" "ruby" "--" "ruby" "-w" "-c" source)
:error-patterns
;; These patterns support output from JRuby, too, to deal with RVM or Rbenv
((error line-start
"SyntaxError in " (file-name) ":" line ": " (message)
line-end)
(warning line-start
(file-name) ":" line ":" (optional column ":")
" warning: " (message) line-end)
(error line-start (file-name) ":" line ": " (message) line-end))
:modes 'ruby-mode)
(add-hook 'ruby-mode-hook 'flycheck-mode)
- flycheck https://github.com/flycheck/flycheck
- 2.3.1 Syntax checker executables http://flycheck.github.io/Usage.html#Syntax-checker-executables
- 3.1 Definition of syntax checkers http://flycheck.github.io/Extending.html#Definition
- flycheck-define-checker (ruby) https://github.com/flycheck/flycheck/blob/0.15/flycheck.el#L4103-L4117
- chruby-exec (Run a command under a Ruby with chruby-exec:) https://github.com/postmodern/chruby/tree/v0.3.8#examples