Repository: spark
Updated Branches:
  refs/heads/master 856c50f59 -> 7ce52c4a7


SPARK-1349: spark-shell gets its own command history

Currently, spark-shell shares its command history with scala repl.

This fix is simply a modification of the default FileBackedHistory file setting:
https://github.com/scala/scala/blob/master/src/repl/scala/tools/nsc/interpreter/session/FileBackedHistory.scala#L77

Author: Aaron Davidson <aa...@databricks.com>

Closes #267 from aarondav/repl and squashes the following commits:

f9c62d2 [Aaron Davidson] SPARK-1349: spark-shell gets its own command history 
separate from scala repl


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/7ce52c4a
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/7ce52c4a
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/7ce52c4a

Branch: refs/heads/master
Commit: 7ce52c4a7a07b0db5e7c1312b1920efb1165ce6a
Parents: 856c50f
Author: Aaron Davidson <aa...@databricks.com>
Authored: Sun Apr 6 17:43:44 2014 -0700
Committer: Patrick Wendell <pwend...@gmail.com>
Committed: Sun Apr 6 17:43:44 2014 -0700

----------------------------------------------------------------------
 .../scala/org/apache/spark/repl/SparkJLineReader.scala  | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/7ce52c4a/repl/src/main/scala/org/apache/spark/repl/SparkJLineReader.scala
----------------------------------------------------------------------
diff --git a/repl/src/main/scala/org/apache/spark/repl/SparkJLineReader.scala 
b/repl/src/main/scala/org/apache/spark/repl/SparkJLineReader.scala
index 946e710..0db26c3 100644
--- a/repl/src/main/scala/org/apache/spark/repl/SparkJLineReader.scala
+++ b/repl/src/main/scala/org/apache/spark/repl/SparkJLineReader.scala
@@ -7,8 +7,10 @@
 
 package org.apache.spark.repl
 
+import scala.reflect.io.{Path, File}
 import scala.tools.nsc._
 import scala.tools.nsc.interpreter._
+import scala.tools.nsc.interpreter.session.JLineHistory.JLineFileHistory
 
 import scala.tools.jline.console.ConsoleReader
 import scala.tools.jline.console.completer._
@@ -25,7 +27,7 @@ class SparkJLineReader(_completion: => Completion) extends 
InteractiveReader {
   val consoleReader = new JLineConsoleReader()
 
   lazy val completion = _completion
-  lazy val history: JLineHistory = JLineHistory()
+  lazy val history: JLineHistory = new SparkJLineHistory
 
   private def term = consoleReader.getTerminal()
   def reset() = term.reset()
@@ -78,3 +80,11 @@ class SparkJLineReader(_completion: => Completion) extends 
InteractiveReader {
   def readOneLine(prompt: String) = consoleReader readLine prompt
   def readOneKey(prompt: String)  = consoleReader readOneKey prompt
 }
+
+/** Changes the default history file to not collide with the scala repl's. */
+class SparkJLineHistory extends JLineFileHistory {
+  import Properties.userHome
+
+  def defaultFileName = ".spark_history"
+  override protected lazy val historyFile = File(Path(userHome) / 
defaultFileName)
+}

Reply via email to