古生物とのたたかい
最近AmmoniteのREPLライブラリをWindowsから使えないものかと取っ組み合っているので備忘のためにメモを残します。
依存性
試行した環境はこの通りです。
scalaVersion := "2.11.8" libraryDependencies ++= Seq( "org.scalaj" %% "scalaj-http" % "2.3.0", "com.github.scopt" %% "scopt" % "3.4.0", "com.lihaoyi" %% "upickle" % "0.4.1", "com.lihaoyi" %% "ammonite-ops" % "0.6.2", "com.lihaoyi" %% "ammonite-repl" % "0.6.2" cross CrossVersion.full )
課題
GithubのIssueにも挙げられているようですが、Ammonite REPLはWindowsに対応していません。
起動できない
起動時の初期設定を行うpredef.scala
からターミナル操作クラスを変更して対応します。
repl.frontEnd() = ammonite.repl.frontend.FrontEnd.JLineWindows
スクリプトが読み込めない
load.module
でファイルを読み取るとき、改行コードはLFを徹底しておかないと、シンタックスエラーになります。
解決できていないもの
- 例外を出力しようとしたとき、fansi.StrからNullPointerException
- プロンプトの色が固定できない
- grep!のハイライトが行全体に効いてしまう
- SIGINT(Ctrl + C)でスレッドが止められない
- stat!で取得できるファイルの属性は、Posix前提なので一部欠落する
とりあえず動かしているだけで楽しいですが、対応できるものが増えるといいですね〜。