k47.cz
mastodon twitter RSS
bandcamp explorer

Historie REPLu

Scala má skvělý REPL (interaktivní konzoli). Celkem často, než se pustím do programování „načisto“, tak začnu experimentovat v REPLu. Někdy bych výsledek těhle pokusů chtěl zachovat, ale z historie se vytahuje dost nepohodlně. Proto jsem nepsal skript, který historii REPLu uloží do souboru.

import java.io.{ File, FileWriter }

/*
usage:
------
:power             // switch power mode on
:load repl.scala   // load this file
ReplHistory.save() // save history
*/

object ReplHistory {
  def historyToString =
    repl.history.grep("").init.filter(!_.startsWith(":")).mkString("\n")

  def save() = {
    val f = new File("repl-"+System.currentTimeMillis+".scala")
    val fw = new FileWriter(f)
    fw.write(historyToString)
    fw.close()
    println("repl history saved to file "+f)
  }

  def print() = println(historyToString)
}
píše k47, ascii@k47.cz