List<Token.Literal.Word> values = optionEvent.getValues(); OptionDescriptor option = optionEvent.getParameter(); if (separator == null) { if (values.size() == 0) { return new SpaceCompletion(); } else if (values.size() <= option.getArity()) { Token.Literal.Word word = optionEvent.peekLast(); return new ParameterCompletion(word.getValue(), delimiter, option, completer); } else {
} else if (event instanceof Event.Option) { Event.Option optionEvent = (Event.Option)event; OptionDescriptor desc = optionEvent.getParameter(); Iterable<OptionMatch> options = current.options(); OptionMatch option = null; if (om.getParameter().equals(desc)) { List<LiteralValue> v = new ArrayList<LiteralValue>(om.getValues()); v.addAll(bilto(optionEvent.getValues())); List<String> names = new ArrayList<String>(om.getNames()); names.add(optionEvent.getToken().getName()); option = new OptionMatch(desc, names, v); break; option = new OptionMatch(desc, optionEvent.getToken().getName(), bilto(optionEvent.getValues()));
public void assertOption(String name, String... values) { Event.Option event = (Event.Option)parser.next(); assertTrue(event.getParameter().getNames().contains(name)); assertEquals(Arrays.asList(values), event.getStrings()); }
List<Token.Literal.Word> values = optionEvent.getValues(); OptionDescriptor option = optionEvent.getParameter(); if (separator == null) { if (values.size() == 0) { return new SpaceCompletion(); } else if (values.size() <= option.getArity()) { Token.Literal.Word word = optionEvent.peekLast(); return new ParameterCompletion(word.getValue(), parser.getDelimiter(), option, completer); } else {
response.add(new Event.Option(req.command, desc, optionToken, values)); } else {
List<Token.Literal.Word> values = optionEvent.getValues(); OptionDescriptor option = optionEvent.getParameter(); if (separator == null) { if (values.size() == 0) { return new SpaceCompletion(); } else if (values.size() <= option.getArity()) { Token.Literal.Word word = optionEvent.peekLast(); return new ParameterCompletion(word.getValue(), delimiter, option, completer); } else {
response.add(new Event.Option(req.command, desc, optionToken, values)); } else { response.add(new Event.Stop.Unresolved.NoSuchOption(optionToken));
} else if (event instanceof Event.Option) { Event.Option optionEvent = (Event.Option)event; OptionDescriptor desc = optionEvent.getParameter(); Iterable<OptionMatch> options = current.options(); OptionMatch option = null; if (om.getParameter().equals(desc)) { List<LiteralValue> v = new ArrayList<LiteralValue>(om.getValues()); v.addAll(bilto(optionEvent.getValues())); List<String> names = new ArrayList<String>(om.getNames()); names.add(optionEvent.getToken().getName()); option = new OptionMatch(desc, names, v); break; option = new OptionMatch(desc, optionEvent.getToken().getName(), bilto(optionEvent.getValues()));
} else if (event instanceof Event.Option) { Event.Option optionEvent = (Event.Option)event; OptionDescriptor desc = optionEvent.getParameter(); Iterable<OptionMatch> options = current.options(); OptionMatch option = null; if (om.getParameter().equals(desc)) { List<LiteralValue> v = new ArrayList<LiteralValue>(om.getValues()); v.addAll(bilto(optionEvent.getValues())); List<String> names = new ArrayList<String>(om.getNames()); names.add(optionEvent.getToken().getName()); option = new OptionMatch(desc, names, v); break; option = new OptionMatch(desc, optionEvent.getToken().getName(), bilto(optionEvent.getValues()));
@Override public int getTo() { return values.size() == 0 ? token.getTo() : peekLast().getTo(); } }
@Override public int getTo() { return values.size() == 0 ? token.getTo() : peekLast().getTo(); } }
response.add(new Event.Option(req.command, desc, optionToken, values)); } else { response.add(new Event.Stop.Unresolved.NoSuchOption(optionToken));
@Override public int getTo() { return values.size() == 0 ? token.getTo() : peekLast().getTo(); } }