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 c5207b4 WIP.
c5207b4 is described below
commit c5207b496fed6fd6bb7bff81f2922bf4a58aab09
Author: Aaron Radzinski <[email protected]>
AuthorDate: Mon Oct 5 22:38:40 2020 -0700
WIP.
---
.../org/apache/nlpcraft/common/ansi/NCAnsiProgressBar.scala | 10 ++++++----
.../scala/org/apache/nlpcraft/common/ansi/NCAnsiSpinner.scala | 8 +++++---
.../scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala | 5 +++--
3 files changed, 14 insertions(+), 9 deletions(-)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiProgressBar.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiProgressBar.scala
index 1b08615..88a3f00 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiProgressBar.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiProgressBar.scala
@@ -41,6 +41,8 @@ class NCAnsiProgressBar(
require(dispSize <= totalTicks)
@volatile private var tick = 0
+
+ private final val mux = new Object()
//noinspection ZeroIndexToHead
private final val PB_LEFT = s"$B${CHAR_SET(0)}$RST"
@@ -63,7 +65,7 @@ class NCAnsiProgressBar(
def start(): Unit = {
tick = 0
- if (useAnsi) out.synchronized {
+ if (useAnsi) mux.synchronized {
// Hide cursor to avoid blinking.
out.print(ansiCursorHide)
@@ -79,9 +81,9 @@ class NCAnsiProgressBar(
* Ticks progress bar one tick at a time.
*/
def ticked(): Unit = {
- tick += 1
+ mux.synchronized {
+ tick += 1
- out.synchronized {
if (useAnsi) {
clean()
@@ -112,7 +114,7 @@ class NCAnsiProgressBar(
* Stops progress bar.
*/
def stop(): Unit = {
- if (useAnsi && clearOnComplete) out.synchronized {
+ if (useAnsi && clearOnComplete) mux.synchronized {
clean()
// Show cursor.
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiSpinner.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiSpinner.scala
index 7af9b8f..449e519 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiSpinner.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiSpinner.scala
@@ -36,6 +36,8 @@ class NCAnsiSpinner(out: PrintWriter, useAnsi: Boolean =
true) {
@volatile private var lastLength = 0
@volatile private var frame = 0
+ private final val mux = new Object()
+
/**
*
* @param p
@@ -73,7 +75,7 @@ class NCAnsiSpinner(out: PrintWriter, useAnsi: Boolean =
true) {
out.flush()
while (!t.isInterrupted) {
- out.synchronized {
+ mux.synchronized {
if (frame > 0)
clean()
@@ -91,7 +93,7 @@ class NCAnsiSpinner(out: PrintWriter, useAnsi: Boolean =
true) {
thread.start()
}
- else out.synchronized {
+ else mux.synchronized {
out.print("... ")
out.flush()
}
@@ -102,7 +104,7 @@ class NCAnsiSpinner(out: PrintWriter, useAnsi: Boolean =
true) {
def stop(): Unit = {
U.stopThread(thread)
- if (useAnsi && frame > 0) out.synchronized {
+ if (useAnsi && frame > 0) mux.synchronized {
clean()
// Show cursor.
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 3aea6d1..417eeef 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
@@ -729,8 +729,6 @@ object NCCli extends App {
500.ms
)
- U.mkThread("server-start-progress-bar", tailer).start()
-
var beacon: NCCliServerBeacon = null
var online = false
val endOfWait = currentTime + 3.mins // We try for 3 mins max.
@@ -1264,6 +1262,9 @@ object NCCli extends App {
parser.setEofOnUnclosedBracket(Bracket.CURLY, Bracket.ROUND,
Bracket.SQUARE)
parser.setEofOnUnclosedQuote(true)
+ parser.regexCommand("")
+ parser.regexVariable("")
+ parser.setEscapeChars(Array.empty)
val completer = new Completer {
private val cmds = CMDS.map(c ⇒ c.name → c.synopsis)