КаталогиКомплект в 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 для автозаполнения). введите описание изображения здесь

Любая помощь будет отличной. Благодарю.

0 ответов

Другие вопросы по тегам