Scalaの異なるバージョンの実行を一括で行う sbt 0.9.X プラグインを作成した。 (追記:作るまでもなくコマンドがあった)

sbt 0.9系では対話環境で下記のコマンドを入力するだけで、Scalaのバージョンを切り替えることができます。

> set scalaVersion := "2.9.0"

そこで、タイトル通りのプラグインを作成しました → https://github.com/maeda-/xsbt-switch-environment-plugin
このプラグインを入れて、下記のコマンドを実行するとMain Class を 2.7.7, 2.8.1, 2.9.0 の順で実行します。
詳細はリンク先のREADMEを参考にしてください。

追記:作るまでもなく、コマンドの前に'+'をつけるだけでOKでした。

> set crossScalaVersions := Seq("2.7.7", "2.8.1", "2.9.0")
> + run

.NETのドキュメント検索向けKeySnailプラグイン 「Heaven's Door for .NET」

機能

.NET FrameworkのClass等を索引としてFirefoxに保存し、EmacsのAnythingライクに絞り込みによるオープンを可能とします。

設定

  1. FirefoxにKeySnail拡張をインストールする。
  2. Heaven's Door for .NET をインストールする。このリンク(.NET)を右クリックで「このプラグインをインストール」を選択
  3. .keysnail.jsのPRESERVE領域内に下記の記述を追加してください。

.keysnail.jsのPRESERVE領域内に記述を追加してください。(英語版にしか対応していません。)

plugins.options["heaven.dotnet.references"] = [
    { name : "dotnet",
      param : {
	  rootDocUrl : "http://msdn.microsoft.com/en-us/library/gg145045.aspx"
      }
    }
];

.keysnailに下記のようなキーバインドを設定します。

key.setViewKey(['C-c', 'd', 'd'], function(ev, arg){
    plugins.heavens.dotnet.open();
}, '.NET Documentcを開く');

上記のような設定により C-c d d でclass/interface等のドキュメントの検索が可能になります。
初回実行時はインデックスの作成が実行されます(数十分かかります。)右上にインデックス作成完了のメッセージが表示された後、再度 C-c d dを実行してください。

ScalaおよびJavaのソースコード/ドキュメント検索向けKeySnailプラグイン 「Heaven's Door」

機能


保存された索引からClass/Trait/Objectを選択するときは、EmacsのAnythingライクに絞り込みによる選択が可能です。

設定

  1. FirefoxにKeySnail拡張をインストールする。
  2. Heaven's Door for Scala/Javaをインストールする。このリンク(Scala/Java)を右クリックで「このプラグインをインストール」を選択
  3. Scala/Javaのcodeとdocをダウンロードして、ローカルに展開する。(docはweb上でも可)
  4. .keysnail.jsのPRESERVE領域内に下記の記述を追加してください。(パスは環境に応じて適切に設定してください)
plugins.options["heaven.scala.references"] = [
    { name : "scala",
      param : {
	  version: "2.9",
	  rootDocUrl : "file:///where/your/scala/doc/scala-2.9.0.RC1-devel-docs/api/",			// ScalaDocのindex.htmlがあるディレクトリ
	  rootSourceLinkUrl:"https://lampsvn.epfl.ch/trac/scala/browser/scala/branches/2.9.x/src/",	// 2.9の場合はコレ
	  rootSourceDir:"/where/your/scala/code/scala-2.9.0.RC1-sources/src/"				// Scalaコードのlibraryディレクトリがあるディレクトリ
      }
    }
];
plugins.options["heaven.java.references"] = [
    { name : "java",
      param : {
	  rootDocUrl : "file:///where/your/java/doc/ja/api/",						// JavaDocのallclasses-frame.htmlがあるディレクトリ
	  rootSourceDir:"/where/your/java/code/j2se/src/share/classes/"					// ローカルのコードの配置ディレクトリ
      }
    }
];
  1. .keysnailに下記のようなキーバインドを設定します。
key.setViewKey(['C-c', 's'], function(ev){
    ext.exec("heavens-view",arg);
}, 'コードをエディタで開く');
key.setViewKey(['C-c', 'd', 's'], function(ev){
    plugins.heavens.scala.open();
}, 'Scala Docを開く');
key.setViewKey(['C-c', 'd', 'j'], function(ev){
    plugins.heavens.java.open();
}, 'Java Docを開く');

上記のような設定により C-c d s / C-c d j でclass/trait/objectの一覧が表示されます。キーワードを入力で絞り込んだ後、表示する項目を選択すると、ドキュメントが表示されます。
初回実行時はインデックスの作成が実行されます。右上にインデックス作成完了のメッセージが表示された後、再度 C-c d s / C-c d jを実行してください。
また、Documentを表示中に、C-c sで、今表示しているclass等のコードをテキストエディタで開きます。