in commands/src/main/java/org/jclouds/karaf/commands/support/GenericCompleterSupport.java [47:73]
public int complete(String buffer, int cursor, List<String> candidates) {
CommandSession commandSession = CommandSessionHolder.getSession();
ArgumentCompleter.ArgumentList list = (ArgumentCompleter.ArgumentList) commandSession.get(ArgumentCompleter.ARGUMENTS_LIST);
delegate.getStrings().clear();
if (list != null) {
String contextName = extractContextName(list.getArguments());
String providerOrApi = extractProviderOrApiFromArguments(list.getArguments());
Collection<String> values;
if (contextName != null && cache.containsKey(contextName)) {
values = cache.get(contextName);
} else if (providerOrApi != null && cache.containsKey(providerOrApi)) {
values = cache.get(providerOrApi);
} else {
values = cache.values();
}
for (String item : values) {
if (buffer == null || item.startsWith(buffer)) {
delegate.getStrings().add(item);
}
}
}
return delegate.complete(buffer, cursor, candidates);
}