blob: 89e849429de484d9260097c6d472ad78cdd4aef0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
/* NSC -- new Scala compiler
* Copyright 2005-2013 LAMP/EPFL
* @author Paul Phillips
*/
package scala.tools.nsc.interpreter.jline
import scala.tools.nsc.interpreter
import _root_.jline.console.completer.ArgumentCompleter.{ ArgumentDelimiter, ArgumentList }
// implements a jline interface
class JLineDelimiter extends ArgumentDelimiter {
def toJLine(args: List[String], cursor: Int): ArgumentList = args match {
case Nil => new ArgumentList(new Array[String](0), 0, 0, cursor)
case xs => new ArgumentList(xs.toArray, xs.size - 1, xs.last.length, cursor)
}
def delimit(buffer: CharSequence, cursor: Int) = {
val p = interpreter.Parsed(buffer.toString, cursor)
toJLine(p.args, cursor)
}
def isDelimiter(buffer: CharSequence, cursor: Int) = interpreter.Parsed(buffer.toString, cursor).isDelimiter
}
|