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 d73ef23  WIP.
d73ef23 is described below

commit d73ef235ff497aef5e177092fcd46818b05b89d6
Author: Aaron Radzinski <[email protected]>
AuthorDate: Fri Oct 2 23:04:42 2020 -0700

    WIP.
---
 .../scala/org/apache/nlpcraft/common/package.scala |  1 +
 .../nlpcraft/model/tools/cmdline/NCCli.scala       | 35 ++++++++++++++++++----
 2 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala
index ccedb9e..3449c39 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/package.scala
@@ -42,6 +42,7 @@ package object common {
     final val TOK_META_ALIASES_KEY = "__NLPCRAFT_TOK_META_ALIASES"
 
     // Real foreground color shortcuts...
+    def i(s: Any): String = s"$ansiReversed${s.toString}$ansiReset"
     def g(s: Any): String = s"$ansiGreenFg${s.toString}$ansiReset"
     def r(s: Any): String = s"$ansiRedFg${s.toString}$ansiReset"
     def c(s: Any): String = s"$ansiCyanFg${s.toString}$ansiReset"
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 e16a6eb..337498c 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
@@ -552,7 +552,7 @@ object NCCli extends App {
         val endpoint = args.find(_.parameter.id == "endpoint") match {
             case Some(arg) ⇒ new URL(arg.value.get).toURI.toString
             case None ⇒ loadServerBeacon() match {
-                case Some(beacon) ⇒ s"https://${beacon.restEndpoint}";
+                case Some(beacon) ⇒ s"http://${beacon.restEndpoint}";
                 case None ⇒ throw new IllegalStateException(s"Cannot detect 
locally running REST server.")
             }
         }
@@ -896,6 +896,30 @@ object NCCli extends App {
                             true
                         )
                     }).asJava)
+                else {
+                    val cmd = words.head
+
+                    candidates.addAll(CMDS.find(_.name == cmd) match {
+                        case Some(c) ⇒ {
+                            c.params.flatMap(param ⇒ {
+                                val hasVal = param.value.isDefined
+                                val names = 
param.names.filter(_.startsWith("--")) // Skip shorthands from auto-completion.
+
+                                names.map(name ⇒ new Candidate(
+                                    if (hasVal) name + "=" else name,
+                                    name,
+                                    null,
+                                    null,
+                                    null,
+                                    null,
+                                    !hasVal
+                                ))
+                            })
+                            .asJava
+                        }
+                        case None ⇒ Seq.empty[Candidate].asJava
+                    })
+                }
             }
         }
 
@@ -905,7 +929,7 @@ object NCCli extends App {
             .terminal(term)
             .completer(completer)
             .parser(parser)
-            .variable(LineReader.SECONDARY_PROMPT_PATTERN, s"${g(">>")} ")
+            .variable(LineReader.SECONDARY_PROMPT_PATTERN, 
s"${g("\u2026\u25b6")} ")
             .variable(LineReader.INDENTATION, 2)
             .build
 
@@ -919,22 +943,21 @@ object NCCli extends App {
 
         new AutosuggestionWidgets(reader).enable()
 
-        logln(s"Hit '${c("TAB")}' or type '${c("help")}' to get help.")
-        logln(s"Type '${c("quit")}' to exit.")
+        logln(s"Hit ${i(" tab ")} or type '${c("help")}' to get help, 
'${c("quit")}' to exit.")
 
         var exit = false
 
         while (!exit) {
             val rawLine =
                 try
-                    reader.readLine(s"${g(">")} ")
+                    reader.readLine(s"${g("\u25b6")} ")
                 catch {
                     case _: PatternSyntaxException ⇒ "" // Guard against JLine 
hiccups.
                     case _: UserInterruptException ⇒ "" // Ignore.
                     case _: EndOfFileException ⇒ null
                 }
 
-            if (rawLine == null || QUIT_CMD.name.contains(rawLine.trim))
+            if (rawLine == null || QUIT_CMD.name == rawLine.trim)
                 exit = true
             else {
                 val line = rawLine.trim()

Reply via email to