Hoge.scalaとHogeSpec.scalaを移動するるEmacsLispを書いた

Toggle between test and implementation files for scala project by Maven2 · GitHub

何が問題なの?

Maven2Scalaのプロジェクトはとっても便利。Maven2のルールに従ってファイルを置いておけば、よしなしにはからってくれる。

でも、Hogeというクラスを定義するときに

  • メインのコード: src/main/scala/com/example/foo/Hoge.scala
  • テスト用コード: src/test/scala/com/example/foo/HogeSpec.scala

と相当離れた場所にファイルを置かないといけない。

この2つのファイルの間の移動が、絶望的なほど面倒くさい。

何を作ったの?

メインのコードとテスト用のコードを相互に移動してくれるEmacsLispを書いた。
ボクはM-tで移動できるようにしてる。

ダウンロード/インストール

Toggle between test and implementation files for scala project by Maven2 · GitHub

load-pathにtoggle-scala.elという名前で置いたあと、.emacsに次のように書く。

(require 'toggle-scala)
(add-hook 'scala-mode-hook
          (lambda ()
            (define-key scala-mode-map "\M-t" 'toggle-scala)))

問題点

  • pom.xmlを基点にしてファイルを移動するので、Maven2専用
  • Scala専用