Skip to content

Commit

Permalink
prnt command: fix options tab-completion, regression caused by #540
Browse files Browse the repository at this point in the history
  • Loading branch information
mattirn committed Jun 6, 2020
1 parent 497f10c commit add2924
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 35 deletions.
7 changes: 0 additions & 7 deletions console/src/main/java/org/jline/console/Printer.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,11 @@
*/
package org.jline.console;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.jline.reader.Completer;

/**
* Print object to the console.
*
Expand Down Expand Up @@ -185,8 +182,4 @@ default Exception prntCommand(CommandInput input) {
return null;
}

default List<Completer> prntCompleter(String command) {
return new ArrayList<>();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ public ConsoleEngineImpl(Set<Command> commands, ScriptEngine engine, Printer pri
}
commandExecute.put(Command.DEL, new CommandMethods(this::del, this::variableCompleter));
commandExecute.put(Command.SHOW, new CommandMethods(this::show, this::variableCompleter));
commandExecute.put(Command.PRNT, new CommandMethods(this::prnt, printer::prntCompleter));
commandExecute.put(Command.PRNT, new CommandMethods(this::prnt, this::prntCompleter));
commandExecute.put(Command.SLURP, new CommandMethods(this::slurpcmd, this::slurpCompleter));
commandExecute.put(Command.ALIAS, new CommandMethods(this::aliascmd, this::aliasCompleter));
commandExecute.put(Command.UNALIAS, new CommandMethods(this::unalias, this::unaliasCompleter));
Expand Down Expand Up @@ -1137,6 +1137,17 @@ private List<String> variableReferences() {
return out;
}

private List<Completer> prntCompleter(String command) {
List<Completer> completers = new ArrayList<>();
completers.add(new ArgumentCompleter(NullCompleter.INSTANCE
, new OptionCompleter(Arrays.asList(new StringsCompleter(this::variableReferences)
, NullCompleter.INSTANCE)
, this::commandOptions
, 1)
));
return completers;
}

private static class AliasValueCompleter implements Completer {
private final Map<String,String> aliases;

Expand Down
27 changes: 0 additions & 27 deletions console/src/main/java/org/jline/console/impl/DefaultPrinter.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,12 @@
import org.jline.builtins.ConfigurationPath;
import org.jline.builtins.Options;
import org.jline.builtins.Styles;
import org.jline.builtins.Completers.OptionCompleter;
import org.jline.builtins.Nano.SyntaxHighlighter;
import org.jline.console.CmdDesc;
import org.jline.console.CommandInput;
import org.jline.console.Printer;
import org.jline.console.ScriptEngine;
import org.jline.console.SystemRegistry;
import org.jline.reader.Completer;
import org.jline.reader.impl.completer.ArgumentCompleter;
import org.jline.reader.impl.completer.NullCompleter;
import org.jline.reader.impl.completer.StringsCompleter;
import org.jline.terminal.Terminal;
import org.jline.utils.AttributedString;
import org.jline.utils.AttributedStringBuilder;
Expand Down Expand Up @@ -174,28 +169,6 @@ public Exception prntCommand(CommandInput input) {
return out;
}

private List<String> variableReferences() {
List<String> out = new ArrayList<>();
if (engine != null) {
for (String v : engine.find().keySet()) {
out.add("$" + v);
}
}
return out;
}

@Override
public List<Completer> prntCompleter(String command) {
List<Completer> completers = new ArrayList<>();
completers.add(new ArgumentCompleter(NullCompleter.INSTANCE
, new OptionCompleter(Arrays.asList(new StringsCompleter(this::variableReferences)
, NullCompleter.INSTANCE)
, this::commandOptions
, 1)
));
return completers;
}

/**
* Override ScriptEngine toMap() method
* @param objectToMap key: object class, value: toMap function
Expand Down

0 comments on commit add2924

Please sign in to comment.