.build(); reader.setOpt(LineReader.Option.AUTO_FRESH_LINE); reader.unsetOpt(LineReader.Option.INSERT_TAB);
private static void setVar(LineReader reader, String key, String val) { if (LineReader.KEYMAP.equalsIgnoreCase(key)) { reader.setKeyMap(val); return; } for (LineReader.Option option : LineReader.Option.values()) { if (option.name().toLowerCase(Locale.ENGLISH).replace('_', '-').equals(val)) { if ("on".equalsIgnoreCase(val)) { reader.setOpt(option); } else if ("off".equalsIgnoreCase(val)) { reader.unsetOpt(option); } return; } } reader.setVariable(key, val); }
private static void setVar(LineReader reader, String key, String val) { if (LineReader.KEYMAP.equalsIgnoreCase(key)) { reader.setKeyMap(val); return; } for (LineReader.Option option : LineReader.Option.values()) { if (option.name().toLowerCase(Locale.ENGLISH).replace('_', '-').equals(val)) { if ("on".equalsIgnoreCase(val)) { reader.setOpt(option); } else if ("off".equalsIgnoreCase(val)) { reader.unsetOpt(option); } return; } } reader.setVariable(key, val); }
private LineReader buildReader(Terminal terminal, String[] completionPrefixes, History history) throws IOException { LineReader reader = LineReaderBuilder.builder() .terminal(terminal) .history(history) .completer(new CLIPrefixedClassNameCompleter(Arrays.asList(completionPrefixes))) .build(); reader.unsetOpt(LineReader.Option.INSERT_TAB); reader.setOpt(LineReader.Option.DISABLE_EVENT_EXPANSION); return reader; }
.getTerminal() .handle(org.jline.terminal.Terminal.Signal.INT, signal -> handleSigInt()); _reader.unsetOpt(Option.INSERT_TAB); // supports completion with nothing entered
lineReader.unsetOpt(LineReader.Option.INSERT_TAB); // This allows completion on an empty buffer, rather than inserting a tab return lineReader;