public void addProposal(String text, String explanation) { proposals.add(new Proposal(text, explanation)); }
@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; } }
/** * Adapt from the internal CompletionProposal to the client-visible CompletionProposalResource. */ private List<CompletionProposalsResource.Proposal> toResources(List<CompletionProposal> proposals) { List<CompletionProposalsResource.Proposal> result = new ArrayList<>(proposals.size()); for (CompletionProposal proposal : proposals) { result.add(new CompletionProposalsResource.Proposal(proposal.getText(), proposal.getExplanation())); } return result; }
public void addProposal(String text, String explanation) { proposals.add(new Proposal(text, explanation)); }