Skip to content

Commit 28bac6a

Browse files
rncremkop
authored andcommitted
ISSUE1175 : Update JLine to 3.16.0
1 parent ff7ed37 commit 28bac6a

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ivyVersion = 2.4.0
77
jacocoVersion = 0.8.2
88
jansiVersion = 1.15
99
jlineVersion = 2.14.6
10-
jline3Version = 3.15.0
10+
jline3Version = 3.16.0
1111
junitDepVersion = 4.11
1212
junitVersion = 4.12
1313
springBootVersion = 2.2.2.RELEASE

picocli-shell-jline3/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ targetCompatibility = 1.8
1414
dependencies {
1515
compile rootProject
1616
compile "org.jline:jline:$jline3Version"
17+
compile "org.jline:jline-console:$jline3Version"
1718
testCompile "junit:junit:$junitVersion"
1819
}
1920

picocli-shell-jline3/src/main/java/picocli/shell/jline3/PicocliCommands.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,16 @@ public List<String> commandInfo(String command) {
190190
return out;
191191
}
192192

193+
// For JLine >= 3.16.0
194+
@Override
195+
public Object invoke(CommandRegistry.CommandSession session, String command, Object[] args) throws Exception {
196+
List<String> arguments = new ArrayList<>();
197+
arguments.add( command );
198+
arguments.addAll( Arrays.stream( args ).map( Object::toString ).collect( Collectors.toList() ) );
199+
cmd.execute( arguments.toArray( new String[0] ) );
200+
return null;
201+
}
202+
193203
// @Override This method was removed in JLine 3.16.0; keep it in case this component is used with an older version of JLine
194204
public Object execute(CommandRegistry.CommandSession session, String command, String[] args) throws Exception {
195205
List<String> arguments = new ArrayList<>();

picocli-shell-jline3/src/test/java/picocli/shell/jline3/example/Example.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
package picocli.shell.jline3.example;
22

33
import org.fusesource.jansi.AnsiConsole;
4-
import org.jline.builtins.Builtins;
5-
import org.jline.builtins.Widgets.TailTipWidgets;
6-
import org.jline.builtins.Widgets.TailTipWidgets.TipType;
4+
import org.jline.console.SystemRegistry;
5+
import org.jline.console.impl.Builtins;
6+
import org.jline.console.impl.SystemRegistryImpl;
77
import org.jline.keymap.KeyMap;
8-
import org.jline.builtins.SystemRegistry;
9-
import org.jline.builtins.SystemRegistryImpl;
108
import org.jline.reader.*;
119
import org.jline.reader.impl.DefaultParser;
1210
import org.jline.reader.impl.LineReaderImpl;
1311
import org.jline.terminal.Terminal;
1412
import org.jline.terminal.TerminalBuilder;
13+
import org.jline.widget.TailTipWidgets;
1514
import picocli.CommandLine;
1615
import picocli.CommandLine.ArgGroup;
1716
import picocli.CommandLine.Command;
@@ -153,7 +152,7 @@ public static void main(String[] args) {
153152
try {
154153
// set up JLine built-in commands
155154
Builtins builtins = new Builtins(Example::workDir, null, null);
156-
builtins.rename(org.jline.builtins.Builtins.Command.TTOP, "top");
155+
builtins.rename(Builtins.Command.TTOP, "top");
157156
builtins.alias("zle", "widget");
158157
builtins.alias("bindkey", "keymap");
159158
// set up picocli commands
@@ -174,7 +173,8 @@ public static void main(String[] args) {
174173
.build();
175174
builtins.setLineReader(reader);
176175
commands.setReader(reader);
177-
new TailTipWidgets(reader, systemRegistry::commandDescription, 5, TipType.COMPLETER);
176+
TailTipWidgets widgets = new TailTipWidgets(reader, systemRegistry::commandDescription, 5, TailTipWidgets.TipType.COMPLETER);
177+
widgets.enable();
178178
KeyMap<Binding> keyMap = reader.getKeyMaps().get("main");
179179
keyMap.bind(new Reference("tailtip-toggle"), KeyMap.alt("s"));
180180

0 commit comments

Comments
 (0)