例によってscala-js-ts-importerで生成したScalaコードを修正してコンパイルを通しただけのものですw
https://github.com/takezoe/scalajs-ace
使うにはbuild.sbtに以下の依存関係を追加します。
resolvers += "amateras-repo" at "http://amateras.sourceforge.jp/mvn-snapshot/" libraryDependencies += "com.scalawarrior" %%% "scalajs-ace" % "0.0.1-SNAPSHOT"
実際の使い方はこんな感じ。
import com.scalawarrior.scalajs.ace val editor = ace.edit("editor") editor.setTheme("ace/theme/monokai") editor.getSession().setMode("ace/mode/scala") val text = editor.getValue()
DefinitelyTypedから.d.tsファイルを取ってきてscala-js-ts-importerでScala.jsのstatic typesを量産するのは割とお手軽でいい感じです。
ただ、生成されるのはJavaScriptライブラリのインターフェースに型が付いただけのものなので、そのままScala.jsで使うと残念な感じのコードになってしまうことも多いです。本格的に使うのであれば自動生成したstatic typesをScalaらしいインターフェースでラップしたほうがよさそうです。