private void next(int current) { Token token; switch (status) { case WHITESPACE: token = new Token.Whitespace(from, s.subSequence(from, current).toString()); break; case WORD: token = new Token.Literal.Word(from, s.subSequence(from, current).toString(), buffer.toString()); break; case SHORT_OPTION: token = new Token.Literal.Option.Short(from, s.subSequence(from, current).toString(), buffer.toString()); break; case LONG_OPTION: token = new Token.Literal.Option.Long(from, s.subSequence(from, current).toString(), buffer.toString()); break; default: throw new AssertionError(); } tokens.add(token); status = Status.WHITESPACE; buffer.setLength(0); from = current; }
@Override public int getTo() { return values.size() == 0 ? token.getTo() : peekLast().getTo(); } }
} else if (values.size() <= option.getArity()) { Token.Literal.Word word = optionEvent.peekLast(); return new ParameterCompletion(word.getValue(), delimiter, option, completer); } else { return new EmptyCompletion();
t.add(new Token.Literal.Word(t.last(), name)); t.add(new Token.Literal.Word(t.last(), option.getValue().toString())); t.add(new Token.Literal.Word(t.last(), argument.toString()));
} else if (values.size() <= option.getArity()) { Token.Literal.Word word = optionEvent.peekLast(); return new ParameterCompletion(word.getValue(), parser.getDelimiter(), option, completer); } else { return new EmptyCompletion();
} else if (values.size() <= option.getArity()) { Token.Literal.Word word = optionEvent.peekLast(); return new ParameterCompletion(word.getValue(), delimiter, option, completer); } else { return new EmptyCompletion();
CommandDescriptor<T> m = req.command.getSubordinate(wordLiteral.getValue()); if (m != null && !m.getName().equals(req.mainName)) { response.command = m;
CommandDescriptor<T> m = req.command.getSubordinate(wordLiteral.getValue()); if (m != null) { response.command = m;
switch (state.status) { case INIT: { token = new Token.Literal.Word(from, s.subSequence(from, index).toString(), state.buffer.toString()); break; token = new Token.Literal.Word(from, s.subSequence(from, index).toString(), state.buffer.toString()); break;
private void next(int current) { Token token; switch (status) { case WHITESPACE: token = new Token.Whitespace(from, s.subSequence(from, current).toString()); break; case WORD: token = new Token.Literal.Word(from, s.subSequence(from, current).toString(), buffer.toString()); break; case SHORT_OPTION: token = new Token.Literal.Option.Short(from, s.subSequence(from, current).toString(), buffer.toString()); break; case LONG_OPTION: token = new Token.Literal.Option.Long(from, s.subSequence(from, current).toString(), buffer.toString()); break; default: throw new AssertionError(); } tokens.add(token); status = Status.WHITESPACE; buffer.setLength(0); from = current; }
public void addOption(String name, List<?> value) { if (value.size() > 0) { Object first = value.get(0); if (first instanceof Boolean) { for (Object o : value) { if ((Boolean)o) { addOption(name); } } } else { for (Object o : value) { addOption(name); add(new Token.Literal.Word(last(), o.toString())); } } } }
@Override public int getTo() { return values.size() == 0 ? token.getTo() : peekLast().getTo(); } }
public InvocationMatch<T> arguments(List<?> arguments) throws SyntaxException { TokenList tokens = new TokenList(this.tokens); for (Object argument : arguments) { tokens.add(new Token.Literal.Word(tokens.last(), argument.toString())); } return match(tokens); }
@Override public int getTo() { return values.size() == 0 ? token.getTo() : peekLast().getTo(); } }
public InvocationMatcher<T> subordinate(String name) throws SyntaxException { TokenList tokens = new TokenList(this.tokens); if (name != null && name.length() > 0) { tokens.add(new Token.Literal.Word(tokens.last(), name)); } return new InvocationMatcher<T>(descriptor, tokens); }
CommandDescriptor<T> m = req.command.getSubordinate(wordLiteral.getValue()); if (m != null) { response.command = m;
public void addOption(String name, List<?> value) { if (value.size() > 0) { Object first = value.get(0); if (first instanceof Boolean) { for (Object o : value) { if ((Boolean)o) { addOption(name); } } } else { for (Object o : value) { addOption(name); add(new Token.Literal.Word(last(), o.toString())); } } } }
public void testIndex() throws Exception { Tokenizer tokenizer = new TokenizerImpl("a b"); assertEquals(0, tokenizer.getIndex()); assertEquals(new Token.Literal.Word(0, "a"), tokenizer.next()); assertEquals(1, tokenizer.getIndex()); assertEquals(new Token.Literal.Whitespace(1, " "), tokenizer.next()); assertEquals(2, tokenizer.getIndex()); tokenizer.pushBack(1); assertEquals(1, tokenizer.getIndex()); assertEquals(new Token.Literal.Whitespace(1, " "), tokenizer.next()); assertEquals(2, tokenizer.getIndex()); } }
public void testBackSlash2() throws Exception { Tokenizer tokenizer = new TokenizerImpl("\\ "); assertEquals(new Token.Literal.Word(0, "\\ ", " "), tokenizer.next()); assertDone(tokenizer); }
public void testQuotedWord1() throws Exception { Tokenizer tokenizer = new TokenizerImpl("\"a"); assertEquals(new Token.Literal.Word(0, "\"a", "a"), tokenizer.next()); assertDone(tokenizer); tokenizer = new TokenizerImpl("'a"); assertEquals(new Token.Literal.Word(0, "'a", "a"), tokenizer.next()); assertDone(tokenizer); }