public AbstractCommandHandler(BeeLine beeLine, String[] names, String helpText, Completer[] completors) { this.beeLine = beeLine; name = names[0]; this.names = names; this.helpText = helpText; if (completors == null || completors.length == 0) { parameterCompleters = new Completer[] { new NullCompleter() }; } else { List<Completer> c = new LinkedList<Completer>(Arrays.asList(completors)); c.add(new NullCompleter()); parameterCompleters = c.toArray(new Completer[0]); } }
public static List<Completer> getCompleters(Iterable<CommandHandler> handlers){ List<Completer> completers = new LinkedList<Completer>(); for (CommandHandler handler : handlers) { String[] commandNames = handler.getNames(); if (commandNames != null) { for (String commandName : commandNames) { List<Completer> compl = new LinkedList<Completer>(); compl.add(new StringsCompleter(BeeLine.COMMAND_PREFIX + commandName)); compl.addAll(Arrays.asList(handler.getParameterCompleters())); compl.add(new NullCompleter()); // last param no complete completers.add(new AggregateCompleter(compl.toArray(new Completer[compl.size()]))); } } } return completers; } }
public AbstractCommandHandler(BeeLine beeLine, String[] names, String helpText, Completer[] completors) { this.beeLine = beeLine; name = names[0]; this.names = names; this.helpText = helpText; if (completors == null || completors.length == 0) { parameterCompleters = new Completer[] { new NullCompleter() }; } else { List<Completer> c = new LinkedList<Completer>(Arrays.asList(completors)); c.add(new NullCompleter()); parameterCompleters = c.toArray(new Completer[0]); } }
public AbstractCommandHandler(BeeLine beeLine, String[] names, String helpText, Completer[] completors) { this.beeLine = beeLine; name = names[0]; this.names = names; this.helpText = helpText; if (completors == null || completors.length == 0) { parameterCompleters = new Completer[] { new NullCompleter() }; } else { List<Completer> c = new LinkedList<Completer>(Arrays.asList(completors)); c.add(new NullCompleter()); parameterCompleters = c.toArray(new Completer[0]); } }
public AbstractCommandHandler(BeeLine beeLine, String[] names, String helpText, Completer[] completors) { this.beeLine = beeLine; name = names[0]; this.names = names; this.helpText = helpText; if (completors == null || completors.length == 0) { parameterCompleters = new Completer[] { new NullCompleter() }; } else { List<Completer> c = new LinkedList<Completer>(Arrays.asList(completors)); c.add(new NullCompleter()); parameterCompleters = c.toArray(new Completer[0]); } }
public Completer getCompletor() { Set<String> keywords = keywordToUri.keySet(); Set<String> prefixes = prefixToUri.keySet(); int size = keywords.size() + prefixes.size() + allQNames.size(); if (0 < size) { Collection<String> alts = keywords.stream().collect(Collectors.toList()); alts.addAll(allQNames.stream().collect(Collectors.toList())); alts.addAll(prefixes.stream().map(prefixe -> prefixe + ":").collect(Collectors.toList())); return new LexicalCompletor(alts); } else { return new NullCompleter(); } }
List<Completer> completors = new LinkedList<Completer>(); completors.add( new AggregateCompleter( new ArgumentCompleter(new StringsCompleter("show"), new NullCompleter()), new ArgumentCompleter(new StringsCompleter("show"), new StringsCompleter("aaa", "access-expression", "access-lists", "accounting", "adjancey"), new NullCompleter()), new ArgumentCompleter(new StringsCompleter("show"), new StringsCompleter("ip"), new StringsCompleter("access-lists", "accounting", "admission", "aliases", "arp"), new NullCompleter()), new ArgumentCompleter(new StringsCompleter("show"), new StringsCompleter("ip"), new StringsCompleter("interface"), new StringsCompleter("ATM", "Async", "BVI"), new NullCompleter()) ) ); for (Completer c : completors) { reader.addCompleter(c); }
public static List<Completer> getCompleters(BeeLine beeLine){ List<Completer> completers = new LinkedList<Completer>(); for (int i = 0; i < beeLine.commandHandlers.length; i++) { String[] cmds = beeLine.commandHandlers[i].getNames(); for (int j = 0; cmds != null && j < cmds.length; j++) { List<Completer> compl = new LinkedList<Completer>(); compl.add(new StringsCompleter(BeeLine.COMMAND_PREFIX + cmds[j])); compl.addAll(Arrays.asList(beeLine.commandHandlers[i].getParameterCompleters())); compl.add(new NullCompleter()); // last param no complete completers.add(new AggregateCompleter(compl.toArray(new Completer[0]))); } } return completers; } }
public static List<Completer> getCompleters(BeeLine beeLine){ List<Completer> completers = new LinkedList<Completer>(); for (int i = 0; i < beeLine.commandHandlers.length; i++) { String[] cmds = beeLine.commandHandlers[i].getNames(); for (int j = 0; cmds != null && j < cmds.length; j++) { List<Completer> compl = new LinkedList<Completer>(); compl.add(new StringsCompleter(BeeLine.COMMAND_PREFIX + cmds[j])); compl.addAll(Arrays.asList(beeLine.commandHandlers[i].getParameterCompleters())); compl.add(new NullCompleter()); // last param no complete completers.add(new AggregateCompleter(compl.toArray(new Completer[0]))); } } return completers; } }
public static List<Completer> getCompleters(Iterable<CommandHandler> handlers){ List<Completer> completers = new LinkedList<Completer>(); for (CommandHandler handler : handlers) { String[] commandNames = handler.getNames(); if (commandNames != null) { for (String commandName : commandNames) { List<Completer> compl = new LinkedList<Completer>(); compl.add(new StringsCompleter(BeeLine.COMMAND_PREFIX + commandName)); compl.addAll(Arrays.asList(handler.getParameterCompleters())); compl.add(new NullCompleter()); // last param no complete completers.add(new AggregateCompleter(compl.toArray(new Completer[compl.size()]))); } } } return completers; } }
public JLineHandler(CommandCallback callback, List<Completer> completers) { this.callback = callback; setDateFormat(new SimpleDateFormat("E HH:mm:ss")); try { reader = new ConsoleReader(); writer = new OutputStreamWriter(AnsiConsole.out); } catch (IOException e) { throw new ExceptionInInitializerError(e); } @SuppressWarnings ("unchecked") final Collection<Completer> completer = reader.getCompleters(); for (Completer c : new ArrayList<>(completer)) { reader.removeCompleter(c); } Completer[] list = completer.toArray(new Completer[completer.size() + 1]); list[list.length - 1] = new NullCompleter(); reader.addCompleter(new ArgumentCompleter(list)); ConsoleCommandThread commandThread = new ConsoleCommandThread(); commandThread.start(); }
private ConsoleReader getConsoleReader() { ConsoleReader reader; try { reader = new ConsoleReader(); } catch (IOException e) { throw KEMException.internalError("IO error detected interacting with console", e); } reader.setBellEnabled(false); List<String> singleLevelCommands = Arrays.<String>asList("step", "s", "S", "b", "B", "back-step", "j", "J", "jump-to", "quit", "abort", "exit", "src", "source", "checkpoint", "ch", "resume", "run", "r", "p", "peek", "remwatch", "xwatch", "show", "get-states", "gs", "select", "copy", "cp", "watch", "w"); List<String> multiLevelCommands = Arrays.<String>asList("source", "src"); List<Completer> completers = singleLevelCommands .stream() .map(command -> (Completer) new ArgumentCompleter(new StringsCompleter(command), new NullCompleter())) .collect(Collectors.toList()); multiLevelCommands.stream() .forEach(command -> completers.add(new ArgumentCompleter(new StringsCompleter(command), new FileNameCompleter()))); reader.addCompleter(new AggregateCompleter(completers)); return reader; }