要点
-
rspec/autorun
を読み込むことで rspec コマンドで実行したのと同じ状況にする -
require "rails_helper"
などが失敗しないように-I spec
を指定 - カレントディレクトリを Rails.root に固定するため
--cd
に .git のあるディレクトリを指定
例
(defun rubyxmp ()
(interactive)
(let ((s "xmpfilter --dev --fork --no-warnings --poetry")
(rspec-p (string-match "_spec" (buffer-file-name)))
(git-root (locate-dominating-file default-directory ".git"))
xmpfilter-command-name)
(when rspec-p
(setq s (concat s " -r rspec/autorun -I spec"))
(when git-root
(setq s (concat s " --cd " git-root))))
(setq xmpfilter-command-name s)
(call-interactively 'xmp)))