another fix related to #460

This commit is contained in:
Mark Harrah 2012-05-23 20:13:52 -04:00
parent e34b8e4bf2
commit cf2402cea4
2 changed files with 9 additions and 3 deletions

View File

@ -57,7 +57,7 @@ object Graph
// [info] |
// [info] +-quux
def toAscii[A](top: A, children: A => Seq[A], display: A => String): String = {
val maxColumn = jline.Terminal.getTerminal.getTerminalWidth - 8
val maxColumn = JLine.usingTerminal(_.getTerminalWidth) - 8
val twoSpaces = " " + " " // prevent accidentally being converted into a tab
def limitLine(s: String): String =
if (s.length > maxColumn) s.slice(0, maxColumn - 2) + ".."

View File

@ -62,10 +62,16 @@ private object JLine
val t = terminal
t.synchronized { f(t) }
}
def createReader() =
/** For accessing the JLine Terminal object.
* This ensures synchronized access as well as re-enabling echo after getting the Terminal. */
def usingTerminal[T](f: jline.Terminal => T): T =
withTerminal { t =>
val cr = new ConsoleReader
t.enableEcho()
f(t)
}
def createReader() =
usingTerminal { t =>
val cr = new ConsoleReader
cr.setBellEnabled(false)
cr
}