sbtではsbt new playframework/play-scala-seed.g8
などのようにしてgiter8テンプレートを指定してプロジェクトを作成することができます。
しかし、プロジェクトを作るたびにテンプレートのリポジトリ名を調べるのも面倒です。そこで、giter8のWikiにまとめられているgiter8テンプレートのリストからpecoでインクリメンタルサーチしてプロジェクトを作成できるようにしてみました。
function peco-sbt-new() { local TEMPLATE=`curl https://github.com/foundweekends/giter8/wiki/giter8-templates -s | grep "\.g8<" | sed -e "s/</ /g" -e "s/>/ /g" | awk '{print $3}' | peco | head -n 1` if [[ -z "$TEMPLATE" ]]; then return fi sbt new $TEMPLATE }
上記のような感じのスクリプトを.bash_profile
に入れておき、peco-sbt-new
を実行するとテンプレートを選択してsbt new
を実行できます。
これでgiter8のWikiさえメンテしていれば新しいテンプレートも使えるようになります。
ちょっとしたものですが、テストやユーザサポートなどの用途などの目的でgiter8テンプレートからPlayやScalatraのプロジェクトを作成することがちょくちょくあるので割と便利な感じです。