public CompletionMatch match(Completer completer, String s) throws CompletionException { return getCompletion(completer, s).complete(); }
public final CompletionMatcher<T> completer() { return new CompletionMatcher<T>(this); }
private Completion argument(CommandDescriptor<?> method, Completer completer, Delimiter delimiter) { List<? extends ArgumentDescriptor> arguments = method.getArguments(); if (arguments.isEmpty()) { return new EmptyCompletion(); } else { ArgumentDescriptor argument = arguments.get(0); return new ParameterCompletion("", delimiter, argument, completer); } }
public void testOptionValue() throws Exception { class A { @Option(names = "a", completer = CompleterSupport.Foo.class) String a; } // CommandDescriptor<Instance<A>> desc = CommandFactory.DEFAULT.create(A.class); CompletionMatcher<Instance<A>> matcher = desc.completer(); // assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("foo", true)), matcher.match("-a ")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("oo", true)), matcher.match("-a f")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("o", true)), matcher.match("-a fo")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("-b")), matcher.match("-a -b")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create()), matcher.match("-a b ")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("c")), matcher.match("-a b c")); }
@Override public CompletionMatch complete() throws CompletionException { return new CompletionMatch(Delimiter.EMPTY, org.crsh.cli.spi.Completion.create("", true)); } }
String prefix = (String) event.get("prefix"); CompletionMatch completion = shell.complete(prefix); Completion completions = completion.getValue(); Delimiter delimiter = completion.getDelimiter(); StringBuilder sb = new StringBuilder(); List<String> values = new ArrayList<>();
public final CompletionMatch match(String s) throws CompletionException { return match(EmptyCompleter.getInstance(), s); }
public void testOptionArgument() throws Exception { class A { @Command void main(@Option(names = "o") String o, @Argument(completer = CompleterSupport.Foo.class) String arg) { } } // CommandDescriptor<Instance<A>> desc = CommandFactory.DEFAULT.create(A.class); CompletionMatcher<Instance<A>> matcher = desc.completer(); // assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("foo", true)), matcher.match("-o bar ")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("oo", true)), matcher.match("-o bar f")); }
@Override public CompletionMatch complete() throws CompletionException { return new CompletionMatch(Delimiter.EMPTY, org.crsh.cli.spi.Completion.create()); } }
public void testSecondArgument() throws Exception { class A { @Command void main( @Argument String arg1, @Argument(completer = CompleterSupport.Foo.class) String arg2) {} } // CommandDescriptor<Instance<A>> desc = CommandFactory.DEFAULT.create(A.class); CompletionMatcher<Instance<A>> matcher = desc.completer(); // assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("foo", true)), matcher.match("foo ")); assertEquals(new CompletionMatch(Delimiter.DOUBLE_QUOTE, Completion.create("foo", true)), matcher.match("foo \"")); }
public CompletionMatch complete(ShellSession session, String prefix) { return new CompletionMatch(Delimiter.EMPTY, Completion.create()); } }
public void testDoubleDash() throws Exception { class A { @Command void main(@Option(names = "o") String o, @Argument(completer = CompleterSupport.Foo.class) String arg) { } } // CommandDescriptor<Instance<A>> desc = CommandFactory.DEFAULT.create(A.class); CompletionMatcher<Instance<A>> matcher = desc.completer(); // assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("oo", true)), matcher.match("-- f")); }
/** * Returns an empty unmodifiable map. */ public CompletionMatch complete(String prefix) { return new CompletionMatch(Delimiter.EMPTY, Completion.create()); }
public void testArgumentProvidedValue() throws Exception { class A { Custom o; @Command public void foo(@Argument Custom o) { this.o = o; } } CommandDescriptor<Instance<A>> desc = new CommandFactory(CompleteTestCase.class.getClassLoader()).create(A.class); // CompletionMatcher<Instance<A>> matcher = desc.completer(); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create()), matcher.match("foo ")); } }
@Override public CompletionMatch complete(String prefix) { return new CompletionMatch(Delimiter.DOUBLE_QUOTE, Completion.create(prefix, "ix", true)); } });
@Override public CompletionMatch complete(String prefix) { return new CompletionMatch(Delimiter.EMPTY, Completion.create(new StringBuilder(prefix).reverse().toString(), false)); } });
@Override public CompletionMatch complete(String prefix) { Completion.Builder builder = Completion.builder(""); builder.add("foo", false); return new CompletionMatch(Delimiter.EMPTY, builder.build()); } });
@Override public CompletionMatch complete(String prefix) { Completion.Builder builder = Completion.builder(""); builder.add("foo", true); return new CompletionMatch(Delimiter.EMPTY, builder.build()); } });
@Override public CompletionMatch complete(String prefix) { Completion.Builder builder = Completion.builder(""); builder.add("afoo", false); builder.add("abar", false); return new CompletionMatch(Delimiter.EMPTY, builder.build()); } });
@Override public CompletionMatch complete(String prefix) { Completion.Builder builder = Completion.builder(""); builder.add("foo", false); builder.add("bar", false); return new CompletionMatch(Delimiter.EMPTY, builder.build()); } });