This is an automated email from the ASF dual-hosted git repository.

aradzinski pushed a commit to branch NLPCRAFT-108
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git


The following commit(s) were added to refs/heads/NLPCRAFT-108 by this push:
     new 1bfb825  Update NCCli.scala
1bfb825 is described below

commit 1bfb825891a56e37422431e8ab54f0c3d8c14d87
Author: Aaron Radzinski <[email protected]>
AuthorDate: Fri Oct 2 14:06:28 2020 -0700

    Update NCCli.scala
---
 .../apache/nlpcraft/model/tools/cmdline/NCCli.scala    | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
index 45e0295..bc4e78d 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
@@ -42,10 +42,8 @@ import java.util.Date
 import org.apache.nlpcraft.common.util.NCUtils.IntTimeUnits
 import org.jline.reader.impl.DefaultParser
 import org.jline.terminal.TerminalBuilder
-import org.jline.reader.LineReader
-import org.jline.reader.LineReaderBuilder
+import org.jline.reader.{EndOfFileException, LineReader, LineReaderBuilder, 
UserInterruptException}
 import org.jline.reader.impl.DefaultParser.Bracket
-
 import resource.managed
 
 import scala.collection.mutable
@@ -857,6 +855,7 @@ object NCCli extends App {
 
         val term = TerminalBuilder.builder()
             .system(true)
+            .dumb(true)
             .build();
 
         val parser = new DefaultParser()
@@ -868,14 +867,18 @@ object NCCli extends App {
             .terminal(term)
 //            .completer(completer)
             .parser(parser)
-            .variable(LineReader.SECONDARY_PROMPT_PATTERN, "%M%P > ")
+            .variable(LineReader.SECONDARY_PROMPT_PATTERN, s"${g(">>")} ")
             .variable(LineReader.INDENTATION, 2)
             .build
 
         while (!exit) {
-            log(s"${g(">")} ")
-
-            val rawLine = reader.readLine()
+            val rawLine =
+                try
+                    reader.readLine(s"${g(">")} ")
+                catch {
+                    case _: UserInterruptException ⇒ null
+                    case _: EndOfFileException ⇒ null
+                }
 
             if (rawLine == null || QUITS.contains(rawLine.trim))
                 exit = true
@@ -894,7 +897,6 @@ object NCCli extends App {
                         error(s"Uneven quotes or brackets:")
                         error(s"  ${r("+-")} $lineX")
                         error(s"  ${r("+-")} $dashX")
-
                 }
             }
         }

Reply via email to