КаталогиКомплект в JLine3
Я работаю с JLine3. Вот фрагмент кода, который я написал.
StringsCompleter machineCompleter = new StringsCompleter("machine1", "machine2");
DirectoriesCompleter directoriesCompleter = new DirectoriesCompleter(new File("."));
FilesCompleter filesCompleter = new FilesCompleter(new File("."));
Candidate remoteFileCandidate = new Candidate("", "", null, "destination in remote machine", null, null, false);
// SEND --file D:\1.txt --machineName machine1 --to E:\2.txt
Node sendNode =
node("SEND",
node("--file",
node(filesCompleter,
node("--machineName",
node(machineCompleter,
node("--to",
node(remoteFileCandidate)))))),
// SEND --dir D:\folder --machineName machine1 --to E:\folder
node("--dir",
node(directoriesCompleter,
node("--machineName",
node(machineCompleter,
node("--to",
node(remoteFileCandidate)))))));
TreeCompleter treeCompleter = new TreeCompleter(sendNode);
Terminal terminal = TerminalBuilder.terminal();
LineReader lineReader = LineReaderBuilder.builder().completer(treeCompleter).terminal(terminal).build();
System.out.println("Output :: " + lineReader.readLine("prompt>"));
В приведенном выше фрагменте кода, я могу сделать завершитель после работы filesCompleter. Рабочий пример
Но я столкнулся с препятствием, когда заставлял это работать для DirectoriesCompleter. Завершитель после этого не работает (когда я нажимаю TAB для автозаполнения).
Любая помощь будет отличной. Благодарю.