@Override public void setCompleterValuesTerminalString(List<TerminalString> terminalStrings) { delegate.setCompleterValuesTerminalString(terminalStrings); }
@Override public void setCompleterValuesTerminalString(List<TerminalString> terminalStrings) { delegate.setCompleterValuesTerminalString(terminalStrings); }
@Override public void setCompleterValuesTerminalString(List<TerminalString> terminalStrings) { delegate.setCompleterValuesTerminalString(terminalStrings); }
@Override public void complete(CompleterInvocation completerData) { Grep grep = (Grep) completerData.getCommand(); //the first argument is the pattern, do not autocomplete if (grep.getArguments() != null && grep.getArguments().size() > 0) { CompleteOperation completeOperation = new AeshCompleteOperation(completerData.getAeshContext(), completerData.getGivenCompleteValue(), 0); List<String> candidates = new ArrayList<>(); if (completerData.getGivenCompleteValue() == null) { new FileLister("", completerData.getAeshContext().getCurrentWorkingDirectory()). findMatchingDirectories(candidates); completeOperation.addCompletionCandidates(candidates); } else { int offset = new FileLister(completerData.getGivenCompleteValue(), completerData.getAeshContext().getCurrentWorkingDirectory()). findMatchingDirectories(candidates); completeOperation.addCompletionCandidates(candidates); completeOperation.setOffset(completerData.getGivenCompleteValue().length() - offset); } if (completeOperation.getCompletionCandidates().size() > 1) { completeOperation.removeEscapedSpacesFromCompletionCandidates(); } completerData.setCompleterValuesTerminalString(completeOperation.getCompletionCandidates()); completerData.setOffset(completeOperation.getOffset()); if (completerData.getGivenCompleteValue() != null && completerData.getCompleterValues().size() == 1) { completerData.setAppendSpace(completeOperation.hasAppendSeparator()); } } } }