diff --git a/builtins/src/main/java/org/jline/builtins/Completers.java b/builtins/src/main/java/org/jline/builtins/Completers.java index f29212d99..f133ad8f2 100644 --- a/builtins/src/main/java/org/jline/builtins/Completers.java +++ b/builtins/src/main/java/org/jline/builtins/Completers.java @@ -446,6 +446,7 @@ public TreeCompleter(Node... nodes) { this(Arrays.asList(nodes)); } + @SuppressWarnings("this-escape") public TreeCompleter(List nodes) { StringBuilder sb = new StringBuilder(); addRoots(sb, nodes); diff --git a/builtins/src/main/java/org/jline/builtins/Nano.java b/builtins/src/main/java/org/jline/builtins/Nano.java index 8a2642ba4..caae9d5a0 100644 --- a/builtins/src/main/java/org/jline/builtins/Nano.java +++ b/builtins/src/main/java/org/jline/builtins/Nano.java @@ -1551,6 +1551,7 @@ public Nano(Terminal terminal, Path root, Options opts) { this(terminal, root, opts, null); } + @SuppressWarnings("this-escape") public Nano(Terminal terminal, Path root, Options opts, ConfigurationPath configPath) { this.terminal = terminal; this.windowsTerminal = terminal.getClass().getSimpleName().endsWith("WinSysTerminal"); diff --git a/builtins/src/main/java/org/jline/builtins/Tmux.java b/builtins/src/main/java/org/jline/builtins/Tmux.java index bf06deed2..486c616f1 100644 --- a/builtins/src/main/java/org/jline/builtins/Tmux.java +++ b/builtins/src/main/java/org/jline/builtins/Tmux.java @@ -428,6 +428,7 @@ public void resizePane(Options opt, int adjust) { } } + @SuppressWarnings("this-escape") public Tmux(Terminal terminal, PrintStream err, Consumer runner) throws IOException { this.terminal = terminal; this.err = err; diff --git a/console/src/main/java/org/jline/console/impl/Builtins.java b/console/src/main/java/org/jline/console/impl/Builtins.java index 57e44bcf0..3351f56a7 100644 --- a/console/src/main/java/org/jline/console/impl/Builtins.java +++ b/console/src/main/java/org/jline/console/impl/Builtins.java @@ -74,6 +74,7 @@ public Builtins(Supplier workDir, ConfigurationPath configPath, Function commands, Supplier workDir, diff --git a/console/src/main/java/org/jline/console/impl/ConsoleEngineImpl.java b/console/src/main/java/org/jline/console/impl/ConsoleEngineImpl.java index e0641a192..f3f8d2682 100644 --- a/console/src/main/java/org/jline/console/impl/ConsoleEngineImpl.java +++ b/console/src/main/java/org/jline/console/impl/ConsoleEngineImpl.java @@ -87,7 +87,7 @@ public ConsoleEngineImpl(ScriptEngine engine, Printer printer, Supplier wo this(null, engine, printer, workDir, configPath); } - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "this-escape"}) public ConsoleEngineImpl( Set commands, ScriptEngine engine, diff --git a/console/src/main/java/org/jline/console/impl/SystemRegistryImpl.java b/console/src/main/java/org/jline/console/impl/SystemRegistryImpl.java index 04d04eb01..939227eca 100644 --- a/console/src/main/java/org/jline/console/impl/SystemRegistryImpl.java +++ b/console/src/main/java/org/jline/console/impl/SystemRegistryImpl.java @@ -81,6 +81,7 @@ public enum Pipe { private boolean commandGroups = true; private Function scriptDescription; + @SuppressWarnings("this-escape") public SystemRegistryImpl(Parser parser, Terminal terminal, Supplier workDir, ConfigurationPath configPath) { this.parser = parser; this.workDir = workDir; diff --git a/console/src/main/java/org/jline/widget/AutopairWidgets.java b/console/src/main/java/org/jline/widget/AutopairWidgets.java index b33aa23c9..1dca09e1e 100644 --- a/console/src/main/java/org/jline/widget/AutopairWidgets.java +++ b/console/src/main/java/org/jline/widget/AutopairWidgets.java @@ -68,6 +68,7 @@ public AutopairWidgets(LineReader reader) { this(reader, false); } + @SuppressWarnings("this-escape") public AutopairWidgets(LineReader reader, boolean addCurlyBrackets) { super(reader); if (existsWidget(AP_INSERT)) { diff --git a/console/src/main/java/org/jline/widget/AutosuggestionWidgets.java b/console/src/main/java/org/jline/widget/AutosuggestionWidgets.java index b2c2a8261..b4b17032e 100644 --- a/console/src/main/java/org/jline/widget/AutosuggestionWidgets.java +++ b/console/src/main/java/org/jline/widget/AutosuggestionWidgets.java @@ -22,6 +22,7 @@ public class AutosuggestionWidgets extends Widgets { private boolean enabled = false; + @SuppressWarnings("this-escape") public AutosuggestionWidgets(LineReader reader) { super(reader); if (existsWidget("_autosuggest-forward-char")) { diff --git a/console/src/main/java/org/jline/widget/TailTipWidgets.java b/console/src/main/java/org/jline/widget/TailTipWidgets.java index 935e5652f..28876f9cf 100644 --- a/console/src/main/java/org/jline/widget/TailTipWidgets.java +++ b/console/src/main/java/org/jline/widget/TailTipWidgets.java @@ -124,6 +124,7 @@ public TailTipWidgets(LineReader reader, Function descFun, int this(reader, null, descriptionSize, tipType, descFun); } + @SuppressWarnings("this-escape") private TailTipWidgets( LineReader reader, Map tailTips, diff --git a/groovy/src/main/java/org/jline/script/GroovyCommand.java b/groovy/src/main/java/org/jline/script/GroovyCommand.java index cb7f52334..d827c6af0 100644 --- a/groovy/src/main/java/org/jline/script/GroovyCommand.java +++ b/groovy/src/main/java/org/jline/script/GroovyCommand.java @@ -51,6 +51,7 @@ public GroovyCommand(GroovyEngine engine, Printer printer) { this(null, engine, printer); } + @SuppressWarnings("this-escape") public GroovyCommand(Set commands, GroovyEngine engine, Printer printer) { this.engine = engine; this.printer = printer; diff --git a/pom.xml b/pom.xml index f7fe249c0..08a61f4cf 100644 --- a/pom.xml +++ b/pom.xml @@ -109,7 +109,7 @@ 1.1.8 2.0.6 3.0.2 - 4.0.7 + 4.0.13 2.5.1 22.3.0 21.2.0 @@ -522,7 +522,7 @@ com.diffplug.spotless spotless-maven-plugin - 2.28.0 + 2.37.0 @@ -684,11 +684,6 @@ org.graalvm.nativeimage native-image-maven-plugin - - - com.diffplug.spotless - spotless-maven-plugin - @@ -764,6 +759,21 @@ + + java11 + + [11,21) + + + + + com.diffplug.spotless + spotless-maven-plugin + + + + + license-check diff --git a/reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java b/reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java index 9b8a72188..57074f724 100644 --- a/reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java +++ b/reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java @@ -232,7 +232,7 @@ protected enum BellType { protected KillRing killRing = new KillRing(); - protected UndoTree undo = new UndoTree<>(this::setBuffer); + protected UndoTree undo; protected boolean isUndo; /** @@ -291,6 +291,7 @@ public LineReaderImpl(Terminal terminal, String appName) throws IOException { this(terminal, appName, null); } + @SuppressWarnings("this-escape") public LineReaderImpl(Terminal terminal, String appName, Map variables) { Objects.requireNonNull(terminal, "terminal can not be null"); this.terminal = terminal; @@ -309,6 +310,7 @@ public LineReaderImpl(Terminal terminal, String appName, Map var this.alternateOut = Curses.tputs(terminal.getStringCapability(Capability.exit_alt_charset_mode)); } + undo = new UndoTree<>(this::setBuffer); builtinWidgets = builtinWidgets(); widgets = new HashMap<>(builtinWidgets); bindingReader = new BindingReader(terminal.reader()); diff --git a/reader/src/main/java/org/jline/reader/impl/UndoTree.java b/reader/src/main/java/org/jline/reader/impl/UndoTree.java index 0303fdff5..3c9736e07 100644 --- a/reader/src/main/java/org/jline/reader/impl/UndoTree.java +++ b/reader/src/main/java/org/jline/reader/impl/UndoTree.java @@ -20,6 +20,7 @@ public class UndoTree { private final Node parent; private Node current; + @SuppressWarnings("this-escape") public UndoTree(Consumer s) { state = s; parent = new Node(null); diff --git a/reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java b/reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java index cbb509ca2..416c3039d 100644 --- a/reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java +++ b/reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java @@ -43,6 +43,7 @@ public class DefaultHistory implements History { public DefaultHistory() {} + @SuppressWarnings("this-escape") public DefaultHistory(LineReader reader) { attach(reader); } diff --git a/remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionData.java b/remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionData.java index dfbd10415..629a62605 100644 --- a/remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionData.java +++ b/remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionData.java @@ -81,6 +81,7 @@ public class ConnectionData { * @param sock Socket of the inbound connection. * @param cm the connection manager */ + @SuppressWarnings("this-escape") public ConnectionData(Socket sock, ConnectionManager cm) { socket = sock; connectionManager = cm; diff --git a/remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionManager.java b/remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionManager.java index fd7a70326..a4a1aa3b3 100644 --- a/remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionManager.java +++ b/remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionManager.java @@ -74,6 +74,7 @@ public abstract class ConnectionManager implements Runnable { private boolean lineMode = false; private boolean stopping = false; + @SuppressWarnings("this-escape") public ConnectionManager() { threadGroup = new ThreadGroup(toString() + "Connections"); closedConnections = new Stack(); diff --git a/terminal/src/main/java/org/jline/terminal/Attributes.java b/terminal/src/main/java/org/jline/terminal/Attributes.java index 07b7ff471..a33977fa4 100644 --- a/terminal/src/main/java/org/jline/terminal/Attributes.java +++ b/terminal/src/main/java/org/jline/terminal/Attributes.java @@ -137,6 +137,7 @@ public enum LocalFlag { public Attributes() {} + @SuppressWarnings("this-escape") public Attributes(Attributes attr) { copy(attr); } diff --git a/terminal/src/main/java/org/jline/terminal/Size.java b/terminal/src/main/java/org/jline/terminal/Size.java index 3279d77d6..f5ccd199c 100644 --- a/terminal/src/main/java/org/jline/terminal/Size.java +++ b/terminal/src/main/java/org/jline/terminal/Size.java @@ -15,6 +15,7 @@ public class Size { public Size() {} + @SuppressWarnings("this-escape") public Size(int columns, int rows) { this(); setColumns(columns); diff --git a/terminal/src/main/java/org/jline/terminal/impl/AbstractTerminal.java b/terminal/src/main/java/org/jline/terminal/impl/AbstractTerminal.java index d5a806c84..36dde577a 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/AbstractTerminal.java +++ b/terminal/src/main/java/org/jline/terminal/impl/AbstractTerminal.java @@ -44,7 +44,7 @@ public abstract class AbstractTerminal implements Terminal { protected final Set bools = new HashSet<>(); protected final Map ints = new HashMap<>(); protected final Map strings = new HashMap<>(); - protected final ColorPalette palette = new ColorPalette(this); + protected final ColorPalette palette; protected Status status; protected Runnable onClose; @@ -52,11 +52,13 @@ public AbstractTerminal(String name, String type) throws IOException { this(name, type, null, SignalHandler.SIG_DFL); } + @SuppressWarnings("this-escape") public AbstractTerminal(String name, String type, Charset encoding, SignalHandler signalHandler) throws IOException { this.name = name; this.type = type != null ? type : "ansi"; this.encoding = encoding != null ? encoding : Charset.defaultCharset(); + this.palette = new ColorPalette(this); for (Signal signal : Signal.values()) { handlers.put(signal, signalHandler); } diff --git a/terminal/src/main/java/org/jline/terminal/impl/AbstractWindowsTerminal.java b/terminal/src/main/java/org/jline/terminal/impl/AbstractWindowsTerminal.java index b90d9628f..bd5d77740 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/AbstractWindowsTerminal.java +++ b/terminal/src/main/java/org/jline/terminal/impl/AbstractWindowsTerminal.java @@ -82,6 +82,7 @@ public abstract class AbstractWindowsTerminal extends AbstractTerminal protected boolean focusTracking = false; private volatile boolean closing; + @SuppressWarnings("this-escape") public AbstractWindowsTerminal( Writer writer, String name, diff --git a/terminal/src/main/java/org/jline/terminal/impl/DumbTerminal.java b/terminal/src/main/java/org/jline/terminal/impl/DumbTerminal.java index 5c86095ec..a6006ffe2 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/DumbTerminal.java +++ b/terminal/src/main/java/org/jline/terminal/impl/DumbTerminal.java @@ -40,6 +40,7 @@ public DumbTerminal(String name, String type, InputStream in, OutputStream out, this(name, type, in, out, encoding, SignalHandler.SIG_DFL); } + @SuppressWarnings("this-escape") public DumbTerminal( String name, String type, InputStream in, OutputStream out, Charset encoding, SignalHandler signalHandler) throws IOException { diff --git a/terminal/src/main/java/org/jline/terminal/impl/ExternalTerminal.java b/terminal/src/main/java/org/jline/terminal/impl/ExternalTerminal.java index d463794da..39fa27307 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/ExternalTerminal.java +++ b/terminal/src/main/java/org/jline/terminal/impl/ExternalTerminal.java @@ -67,6 +67,7 @@ public ExternalTerminal( this(name, type, masterInput, masterOutput, encoding, signalHandler, paused, null, null); } + @SuppressWarnings("this-escape") public ExternalTerminal( String name, String type, diff --git a/terminal/src/main/java/org/jline/terminal/impl/LineDisciplineTerminal.java b/terminal/src/main/java/org/jline/terminal/impl/LineDisciplineTerminal.java index 3a31715af..a5576140a 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/LineDisciplineTerminal.java +++ b/terminal/src/main/java/org/jline/terminal/impl/LineDisciplineTerminal.java @@ -91,6 +91,7 @@ public LineDisciplineTerminal(String name, String type, OutputStream masterOutpu this(name, type, masterOutput, encoding, SignalHandler.SIG_DFL); } + @SuppressWarnings("this-escape") public LineDisciplineTerminal( String name, String type, OutputStream masterOutput, Charset encoding, SignalHandler signalHandler) throws IOException { diff --git a/terminal/src/main/java/org/jline/terminal/impl/PosixPtyTerminal.java b/terminal/src/main/java/org/jline/terminal/impl/PosixPtyTerminal.java index 6047f2c19..db3913a99 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/PosixPtyTerminal.java +++ b/terminal/src/main/java/org/jline/terminal/impl/PosixPtyTerminal.java @@ -55,6 +55,7 @@ public PosixPtyTerminal( this(name, type, pty, in, out, encoding, signalHandler, false); } + @SuppressWarnings("this-escape") public PosixPtyTerminal( String name, String type, diff --git a/terminal/src/main/java/org/jline/terminal/impl/PosixSysTerminal.java b/terminal/src/main/java/org/jline/terminal/impl/PosixSysTerminal.java index c07b6d6b2..e6fbacdf2 100644 --- a/terminal/src/main/java/org/jline/terminal/impl/PosixSysTerminal.java +++ b/terminal/src/main/java/org/jline/terminal/impl/PosixSysTerminal.java @@ -34,6 +34,7 @@ public class PosixSysTerminal extends AbstractPosixTerminal { protected final Map nativeHandlers = new HashMap<>(); protected final Task closer; + @SuppressWarnings("this-escape") public PosixSysTerminal( String name, String type, Pty pty, Charset encoding, boolean nativeSignals, SignalHandler signalHandler) throws IOException { diff --git a/terminal/src/main/java/org/jline/utils/ColorPalette.java b/terminal/src/main/java/org/jline/utils/ColorPalette.java index 7471760ba..22f52dbff 100644 --- a/terminal/src/main/java/org/jline/utils/ColorPalette.java +++ b/terminal/src/main/java/org/jline/utils/ColorPalette.java @@ -42,6 +42,7 @@ public ColorPalette(Terminal terminal) throws IOException { this(terminal, null); } + @SuppressWarnings("this-escape") public ColorPalette(Terminal terminal, String distance) throws IOException { this.terminal = terminal; this.distanceName = distance; diff --git a/terminal/src/main/java/org/jline/utils/Display.java b/terminal/src/main/java/org/jline/utils/Display.java index c172b92a1..b8fb88342 100644 --- a/terminal/src/main/java/org/jline/utils/Display.java +++ b/terminal/src/main/java/org/jline/utils/Display.java @@ -41,6 +41,7 @@ public class Display { protected final boolean delayedWrapAtEol; protected final boolean cursorDownIsNewLine; + @SuppressWarnings("this-escape") public Display(Terminal terminal, boolean fullscreen) { this.terminal = terminal; this.fullScreen = fullscreen; diff --git a/terminal/src/main/java/org/jline/utils/Status.java b/terminal/src/main/java/org/jline/utils/Status.java index cc1f50e26..d301d3df2 100644 --- a/terminal/src/main/java/org/jline/utils/Status.java +++ b/terminal/src/main/java/org/jline/utils/Status.java @@ -39,6 +39,7 @@ public static Status getStatus(Terminal terminal, boolean create) { return terminal instanceof AbstractTerminal ? ((AbstractTerminal) terminal).getStatus(create) : null; } + @SuppressWarnings("this-escape") public Status(AbstractTerminal terminal) { this.terminal = Objects.requireNonNull(terminal, "terminal can not be null"); this.supported = terminal.getStringCapability(Capability.change_scroll_region) != null