Author: reto
Date: Sat Aug 11 09:36:45 2012
New Revision: 1371894

URL: http://svn.apache.org/viewvc?rev=1371894&view=rev
Log:
CLEREZZA-619: retrieving platform specific terminal, this makes autocompletion 
work on unix console. The terminal has yet to be used in the shell for things 
to be likely to work on windows too.

Modified:
    
incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/ConsoleShell.scala
    
incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/Shell.scala

Modified: 
incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/ConsoleShell.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/ConsoleShell.scala?rev=1371894&r1=1371893&r2=1371894&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/ConsoleShell.scala
 (original)
+++ 
incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/ConsoleShell.scala
 Sat Aug 11 09:36:45 2012
@@ -53,6 +53,9 @@ class ConsoleShell()  {
                                bundle.stop()
                                stoppedBundle = Some(bundle)
                        }
+                       //this call sets the console terminal to the right 
settings
+                       //and it mast not be invoked when there is no console 
input, or the system will stop
+                       jline.Terminal.setupTerminal()
                        val in =  Channels.newInputStream(
                                (new 
FileInputStream(FileDescriptor.in)).getChannel());
                        interruptibleIn = new InterruptibleInputStream(in)

Modified: 
incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/Shell.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/Shell.scala?rev=1371894&r1=1371893&r2=1371894&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/Shell.scala
 (original)
+++ 
incubator/clerezza/trunk/shell/src/main/scala/org/apache/clerezza/shell/Shell.scala
 Sat Aug 11 09:36:45 2012
@@ -69,6 +69,7 @@ class Shell(factory: InterpreterFactory,
        private var imports = Set[String]()
        private var terminationListeners = Set[Shell.TerminationListener]();
 
+       val terminal = new jline.UnixTerminal
 
        val interpreterLoop = new InterpreterLoop(new BufferedReader(new 
InputStreamReader(inStream)), new PrintWriter(out, true)) {
                override def createInterpreter() {
@@ -135,31 +136,11 @@ class Shell(factory: InterpreterFactory,
                                override lazy val completion = 
Option(interpreter) map (x => new Completion(x))
 
                                val consoleReader = {
-                                       val terminal = new jline.UnixTerminal
-                                       /*val terminal = new jline.Terminal {
-                                               override def 
initializeTerminal() {logger.warn("JLINE: initializing echo")}
-
-                                               override def isEchoEnabled =  { 
logger.warn("JLINE: is enabled echo")
-                                               true}
-
-                                               override def isSupported = { 
logger.warn("JLINE: is supported echo")
-                                               true}
-
-                                               override def enableEcho() { 
logger.warn("JLINE: enabling echo")}
-
-                                               override def disableEcho() 
{logger.warn("JLINE: disabling echo") }
-
-                                               override def getTerminalHeight 
= 24
-
-                                               override def getTerminalWidth = 
80
-
-                                               override def getEcho = false
-                                       }*/
+                                   
                                        val r = new 
jline.ConsoleReader(inStream, out, null, terminal)
                                        r setHistory (History().jhistory)
                                        r setBellEnabled false
                                        completion foreach { c =>
-                                               logger.warn("JLINE: adding 
completor : "+c.jline)
                                                r addCompletor c.jline
                                                r setAutoprintThreshhold 250
                                        }
@@ -191,7 +172,7 @@ class Shell(factory: InterpreterFactory,
                                                        true
                                                }
                                        }
-                                 
+                                 /* a second completor is ignored, would have 
to wrapp the above
                                  r addCompletor new Completor {
                                                def complete(p1: String, p2: 
Int, candidates: java.util.List[_]) = {
                                                        logger.warn("JLINE: 
candidates : "+candidates)
@@ -205,7 +186,7 @@ class Shell(factory: InterpreterFactory,
                                                        }
                                                        0
                                                }
-                                       }
+                                       }*/
 
                                        r
                                }


Reply via email to