@Override public boolean getAllPossibleValues(List<Completion> completions, Class<?> targetType, String existingData, String optionContext, MethodTarget target) { String start = (existingData.startsWith("'") || existingData.startsWith("\"")) ? existingData.substring(1) : existingData; try { int successiveInvocations = determineNumberOfInvocations(optionContext); String kind = completionKind(optionContext); CompletionProposalsResource candidates; switch (kind) { case "stream": candidates = completionOperations().streamCompletions(start, successiveInvocations); break; case "task": candidates = completionOperations().taskCompletions(start, successiveInvocations); break; default: throw new IllegalArgumentException("Unsupported completion kind: " + kind); } for (CompletionProposalsResource.Proposal candidate : candidates.getProposals()) { completions.add(new Completion(candidate.getText())); } return false; } // Protect from exception in non-command code catch (Exception e) { return false; } }
@Override public boolean getAllPossibleValues(List<Completion> completions, Class<?> targetType, String existingData, String optionContext, MethodTarget target) { String start = (existingData.startsWith("'") || existingData.startsWith("\"")) ? existingData.substring(1) : existingData; try { int successiveInvocations = determineNumberOfInvocations(optionContext); String kind = completionKind(optionContext); CompletionProposalsResource candidates; switch (kind) { case "stream": candidates = completionOperations().streamCompletions(start, successiveInvocations); break; case "task": candidates = completionOperations().taskCompletions(start, successiveInvocations); break; default: throw new IllegalArgumentException("Unsupported completion kind: " + kind); } for (CompletionProposalsResource.Proposal candidate : candidates.getProposals()) { completions.add(new Completion(candidate.getText())); } return false; } // Protect from exception in non-command code catch (Exception e) { return false; } }