diff options
| author | Benjamin Culkin <scorpress@gmail.com> | 2025-03-12 20:37:08 -0400 |
|---|---|---|
| committer | Benjamin Culkin <scorpress@gmail.com> | 2025-03-12 20:37:08 -0400 |
| commit | 1271863d7011c38dcbdd285f922d064e07d6d4da (patch) | |
| tree | abb1fbd90abb08d7c6e64b7cd88f5e89d14f48c3 /base/src/examples/java | |
| parent | c3a5d6c81b85c8d11f7428e27966275fc8434710 (diff) | |
| parent | 0f9e11bf09c21e7c93bf324fe23a9c5170109fd5 (diff) | |
Merge remote-tracking branch 'origin/trunk' into trunk
Diffstat (limited to 'base/src/examples/java')
| -rw-r--r-- | base/src/examples/java/bjc/utils/examples/cli/StreamTerminalExample.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/base/src/examples/java/bjc/utils/examples/cli/StreamTerminalExample.java b/base/src/examples/java/bjc/utils/examples/cli/StreamTerminalExample.java index 208ecf7..33c5827 100644 --- a/base/src/examples/java/bjc/utils/examples/cli/StreamTerminalExample.java +++ b/base/src/examples/java/bjc/utils/examples/cli/StreamTerminalExample.java @@ -1,11 +1,33 @@ package bjc.utils.examples.cli; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; import java.util.Scanner; +import java.util.function.Consumer; + +import bjc.data.IntHolder; +import bjc.utils.cli.StreamTerminal; public class StreamTerminalExample { public static void main(String[] args) { - Scanner sysIn = new Scanner(System.in); - - // TODO Figure out a good way to demo this + try (Scanner sysIn = new Scanner(System.in)) { + + InputStreamReader inStream = new InputStreamReader(System.in); + OutputStreamWriter outStream = new OutputStreamWriter(System.out); + + StreamTerminal sterm = new StreamTerminal(inStream, outStream, "#", null); + IntHolder comNo = new IntHolder(); + Consumer<String> defMode = (lne) -> { + sterm.addOutput(lne + "\n"); + + sterm.addOutput(String.format("%d > ", comNo.incr())); + }; + + sterm.setMode(defMode); + sterm.addOutput("0 > "); + sterm.setParagraphMode(true); + sterm.setPromptOnContinue(true); + sterm.run(); + } } } |
