private static Terminal buildTerminal() { try { final Terminal terminal = TerminalBuilder.builder().system(true).build(); // Ignore ^C when not reading a line terminal.handle(Terminal.Signal.INT, Terminal.SignalHandler.SIG_IGN); return terminal; } catch (final IOException e) { throw new RuntimeException("JLineTerminal failed to start!", e); } } }
.system(true) .nativeSignals(true) .signalHandler(Terminal.SignalHandler.SIG_IGN)
private Terminal buildTerminal (InputStream in, OutputStream out) throws IOException { TerminalBuilder builder = TerminalBuilder.builder(); builder.streams(in,out).system(System.in == in); Terminal t = builder.build(); Attributes attr = t.getAttributes(); attr.getOutputFlags().addAll( EnumSet.of(Attributes.OutputFlag.ONLCR, Attributes.OutputFlag.OPOST) ); t.setAttributes(attr); return t; }
private Terminal newTerminalInstance(String terminalType, InputStream is, OutputStream os) throws IOException { return TerminalBuilder.builder() .system(false) .type(terminalType) .streams(is, os) .build(); }
.system(true) .nativeSignals(true) .signalHandler(Terminal.SignalHandler.SIG_IGN)
@Override public void run() { Terminal terminal; try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream ps = new PrintStream(baos, true, "utf-8")) { terminal = TerminalBuilder.builder().system(false).type(terminalType).streams(is, os).build(); DefaultResultHandler resultHandler = new DefaultResultHandler(); resultHandler.setTerminal(terminal); shellBanner.printBanner(environment, this.getClass(), ps); resultHandler.handleResult(new String(baos.toByteArray(), StandardCharsets.UTF_8)); resultHandler.handleResult("Please type `help` to see available commands"); LineReader reader = LineReaderBuilder.builder().terminal(terminal).completer(completerAdapter).build(); InputProvider inputProvider = new InteractiveShellApplicationRunner.JLineInputProvider(reader, promptProvider); THREAD_CONTEXT.set(new SshContext(terminal, ec, sshThread)); if (terminalDelegate instanceof SshShellTerminalDelegate) { ((SshShellTerminalDelegate) terminalDelegate).setDelegate(terminal); } shell.run(inputProvider); quit(0); } catch (IOException | RuntimeException e) { // log ex quit(1); } }
.name("JLine SSH") .type(env.getEnv().get("TERM")) .system(false) .streams(in, out) .build();
.name("JLine SSH") .type(env.getEnv().get("TERM")) .system(false) .streams(in, out) .build();
public static void main(String[] args) throws Exception { final Terminal terminal = TerminalBuilder.builder() .system(true) .build();
try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream ps = new PrintStream(baos, true, StandardCharsets.UTF_8.name()); Terminal terminal = TerminalBuilder.builder().system(false).size(size).type(sshEnv.getEnv().get("TERM")).streams(is, os).build()) {
private static void runSqlConsole(Connection connection, Statement statement, boolean pretty) throws IOException { Terminal terminal = TerminalBuilder.builder() .system(true) .build(); LineReader reader = LineReaderBuilder.builder() .history(new DefaultHistory()) .terminal(terminal) .build(); String prompt = "herd: "; while (true) { String line = null; try { line = reader.readLine(prompt); if (line == null) { return; } executeStatement(true, true, false, false, line, statement, null, false, pretty); } catch (UserInterruptException | EndOfFileException e) { return; } catch (Exception e) { e.printStackTrace(); } } }
public static void main(String[] args) throws IOException { try (Terminal terminal = TerminalBuilder.builder() .name("gogo") .system(true) .nativeSignals(true) .signalHandler(Terminal.SignalHandler.SIG_IGN)
public void waitForCommands() throws IOException { TerminalBuilder builder = TerminalBuilder.builder(); builder.encoding(Charset.defaultCharset()); builder.system(true); Terminal terminal = builder.build(); Completer completer = new Completers.TreeCompleter(
terminal = terminalBuilder.build(); } else { terminalBuilder = terminalBuilder.system(true); terminal = terminalBuilder.build(); getOpts().set(BuiltInProperty.MAX_WIDTH, terminal.getWidth());
terminal = terminalBuilder.build(); } else { terminalBuilder = terminalBuilder.system(true); terminal = terminalBuilder.build(); getOpts().set(BuiltInProperty.MAX_WIDTH, terminal.getWidth());