@Override public CompletionMatch complete() throws CompletionException { return new CompletionMatch(Delimiter.EMPTY, org.crsh.cli.spi.Completion.create("", true)); } }
@Override public CompletionMatch complete() throws CompletionException { return new CompletionMatch(Delimiter.EMPTY, org.crsh.cli.spi.Completion.create()); } }
public CompletionMatch complete(ShellSession session, String prefix) { return new CompletionMatch(Delimiter.EMPTY, Completion.create()); } }
@Override public CompletionMatch complete() throws CompletionException { org.crsh.cli.spi.Completion.Builder builder = org.crsh.cli.spi.Completion.builder(prefix); for (CommandDescriptor<?> m : descriptor.getSubordinates().values()) { String name = m.getName(); if (name.startsWith(prefix)) { builder.add(name.substring(prefix.length()), true); } } return new CompletionMatch(delimiter, builder.build()); } }
/** * Returns an empty unmodifiable map. */ public CompletionMatch complete(String prefix) { return new CompletionMatch(Delimiter.EMPTY, Completion.create()); }
public void testSerialization() throws Exception { ServerMessage message = new ServerMessage.Completion(new CompletionMatch(Delimiter.DOUBLE_QUOTE, Completion.create("pref", "ix", true))); clientOOS.writeObject(message); clientOOS.flush(); ServerMessage after = (ServerMessage)serverOIS.readObject(); System.out.println("after = " + after); }
@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) { return new CompletionMatch(Delimiter.DOUBLE_QUOTE, Completion.create(prefix, "ix", true)); } });
@Override public CompletionMatch complete() throws CompletionException { org.crsh.cli.spi.Completion.Builder builder = org.crsh.cli.spi.Completion.builder(prefix.getValue()); Set<String> optionNames = prefix instanceof Token.Literal.Option.Short ? descriptor.getShortOptionNames() : descriptor.getLongOptionNames(); for (String optionName : optionNames) { if (optionName.startsWith(prefix.getValue())) { builder.add(optionName.substring(prefix.getValue().length()), true); } } return new CompletionMatch(Delimiter.EMPTY, builder.build()); } }
@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("s"); if (prefix.equals("s")) { builder.add("end", true); builder.add("et", true); } else if (prefix.equals("sen")) { builder.add("d", true); } 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()); } });
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(String prefix) { Completion.Builder builder = Completion.builder(""); builder.add("afoo", false); builder.add("abar", false); return new CompletionMatch(Delimiter.EMPTY, builder.build()); } });
public void testSubordinateCommandSingleArgument() throws Exception { class A { @Command void m(@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("m ")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("oo", true)), matcher.match("m f")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("o", true)), matcher.match("m fo")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create()), matcher.match("m a ")); assertEquals(new CompletionMatch(Delimiter.EMPTY, Completion.create("f")), matcher.match("m a f")); }
@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()); } });
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")); }
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 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 ")); } }
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")); }