From 8d82ee1e4801385b472f2dea9116e9290a602177 Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Tue, 16 Jun 2020 14:50:05 +0200 Subject: [PATCH] Move Inspector and Completer out of CommandUtils Most of the inspection/completion code is no longer part of CommandUtils. --- src/main/java/de/prob2/jupyter/CommandUtils.java | 10 ---------- src/main/java/de/prob2/jupyter/Completer.java | 11 +++++++++++ src/main/java/de/prob2/jupyter/Inspector.java | 11 +++++++++++ .../java/de/prob2/jupyter/ParameterCompleters.java | 8 ++++---- .../java/de/prob2/jupyter/ParameterInspectors.java | 8 ++++---- src/main/java/de/prob2/jupyter/ProBKernel.java | 4 ++-- 6 files changed, 32 insertions(+), 20 deletions(-) create mode 100644 src/main/java/de/prob2/jupyter/Completer.java create mode 100644 src/main/java/de/prob2/jupyter/Inspector.java diff --git a/src/main/java/de/prob2/jupyter/CommandUtils.java b/src/main/java/de/prob2/jupyter/CommandUtils.java index 281a116..d4fedae 100644 --- a/src/main/java/de/prob2/jupyter/CommandUtils.java +++ b/src/main/java/de/prob2/jupyter/CommandUtils.java @@ -42,16 +42,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public final class CommandUtils { - @FunctionalInterface - public interface Inspector { - public abstract @Nullable DisplayData inspect(final @NotNull String argString, final int at); - } - - @FunctionalInterface - public interface Completer { - public abstract @Nullable ReplacementOptions complete(final @NotNull String argString, final int at); - } - private static final @NotNull Logger LOGGER = LoggerFactory.getLogger(CommandUtils.class); private static final @NotNull Pattern BODY_SPLIT_PATTERN = Pattern.compile("\\n"); diff --git a/src/main/java/de/prob2/jupyter/Completer.java b/src/main/java/de/prob2/jupyter/Completer.java new file mode 100644 index 0000000..ffc0ee1 --- /dev/null +++ b/src/main/java/de/prob2/jupyter/Completer.java @@ -0,0 +1,11 @@ +package de.prob2.jupyter; + +import io.github.spencerpark.jupyter.kernel.ReplacementOptions; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +@FunctionalInterface +public interface Completer { + public abstract @Nullable ReplacementOptions complete(final @NotNull String argString, final int at); +} diff --git a/src/main/java/de/prob2/jupyter/Inspector.java b/src/main/java/de/prob2/jupyter/Inspector.java new file mode 100644 index 0000000..c9c246a --- /dev/null +++ b/src/main/java/de/prob2/jupyter/Inspector.java @@ -0,0 +1,11 @@ +package de.prob2.jupyter; + +import io.github.spencerpark.jupyter.kernel.display.DisplayData; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +@FunctionalInterface +public interface Inspector { + public abstract @Nullable DisplayData inspect(final @NotNull String argString, final int at); +} diff --git a/src/main/java/de/prob2/jupyter/ParameterCompleters.java b/src/main/java/de/prob2/jupyter/ParameterCompleters.java index 20446bb..d1fd7c6 100644 --- a/src/main/java/de/prob2/jupyter/ParameterCompleters.java +++ b/src/main/java/de/prob2/jupyter/ParameterCompleters.java @@ -19,9 +19,9 @@ public final class ParameterCompleters { */ public static final @NotNull ParameterCompleters NONE = new ParameterCompleters(Collections.emptyMap()); - private final @NotNull Map<@NotNull Parameter<?>, CommandUtils.@NotNull Completer> completers; + private final @NotNull Map<@NotNull Parameter<?>, @NotNull Completer> completers; - public ParameterCompleters(final @NotNull Map<@NotNull Parameter<?>, CommandUtils.@NotNull Completer> completers) { + public ParameterCompleters(final @NotNull Map<@NotNull Parameter<?>, @NotNull Completer> completers) { super(); this.completers = Collections.unmodifiableMap(new HashMap<>(completers)); @@ -32,7 +32,7 @@ public final class ParameterCompleters { * * @return the stored mapping of parameters to code completion handlers */ - public @NotNull Map<@NotNull Parameter<?>, CommandUtils.@NotNull Completer> getCompleters() { + public @NotNull Map<@NotNull Parameter<?>, @NotNull Completer> getCompleters() { return this.completers; } @@ -50,7 +50,7 @@ public final class ParameterCompleters { * @return the code completion handler for a parameter, * or {@link Optional#empty()} if there is none */ - public @NotNull Optional<CommandUtils.Completer> getCompleterForParameter(final @NotNull Parameter<?> parameter) { + public @NotNull Optional<Completer> getCompleterForParameter(final @NotNull Parameter<?> parameter) { if (this.getCompleters().containsKey(parameter)) { return Optional.of(this.getCompleters().get(parameter)); } else { diff --git a/src/main/java/de/prob2/jupyter/ParameterInspectors.java b/src/main/java/de/prob2/jupyter/ParameterInspectors.java index f0fd3bc..f6ec974 100644 --- a/src/main/java/de/prob2/jupyter/ParameterInspectors.java +++ b/src/main/java/de/prob2/jupyter/ParameterInspectors.java @@ -19,9 +19,9 @@ public final class ParameterInspectors { */ public static final @NotNull ParameterInspectors NONE = new ParameterInspectors(Collections.emptyMap()); - private final @NotNull Map<@NotNull Parameter<?>, CommandUtils.@NotNull Inspector> inspectors; + private final @NotNull Map<@NotNull Parameter<?>, @NotNull Inspector> inspectors; - public ParameterInspectors(final @NotNull Map<@NotNull Parameter<?>, CommandUtils.@NotNull Inspector> inspectors) { + public ParameterInspectors(final @NotNull Map<@NotNull Parameter<?>, @NotNull Inspector> inspectors) { super(); this.inspectors = Collections.unmodifiableMap(new HashMap<>(inspectors)); @@ -32,7 +32,7 @@ public final class ParameterInspectors { * * @return the stored mapping of parameters to inspection handlers */ - public @NotNull Map<@NotNull Parameter<?>, CommandUtils.@NotNull Inspector> getInspectors() { + public @NotNull Map<@NotNull Parameter<?>, @NotNull Inspector> getInspectors() { return this.inspectors; } @@ -50,7 +50,7 @@ public final class ParameterInspectors { * @return the inspection handler for a parameter, * or {@link Optional#empty()} if there is none */ - public @NotNull Optional<CommandUtils.Inspector> getInspectorForParameter(final @NotNull Parameter<?> parameter) { + public @NotNull Optional<Inspector> getInspectorForParameter(final @NotNull Parameter<?> parameter) { if (this.getInspectors().containsKey(parameter)) { return Optional.of(this.getInspectors().get(parameter)); } else { diff --git a/src/main/java/de/prob2/jupyter/ProBKernel.java b/src/main/java/de/prob2/jupyter/ProBKernel.java index 7e65456..da1fd8e 100644 --- a/src/main/java/de/prob2/jupyter/ProBKernel.java +++ b/src/main/java/de/prob2/jupyter/ProBKernel.java @@ -357,7 +357,7 @@ public final class ProBKernel extends BaseKernel { private static @Nullable DisplayData inspectCommandArguments(final @NotNull Command command, final @NotNull String argString, final int at) { final SplitResult split = CommandUtils.splitArgs(command.getParameters(), argString, at); if (split.getParameterAtPosition().isPresent()) { - final Optional<CommandUtils.Inspector> inspector = command.getParameterInspectors().getInspectorForParameter(split.getParameterAtPosition().get()); + final Optional<Inspector> inspector = command.getParameterInspectors().getInspectorForParameter(split.getParameterAtPosition().get()); if (inspector.isPresent()) { final List<PositionedString> argsAtPosition = split.getArguments().get(split.getParameterAtPosition().get()); assert !argsAtPosition.isEmpty(); @@ -414,7 +414,7 @@ public final class ProBKernel extends BaseKernel { private static @Nullable ReplacementOptions completeCommandArguments(final @NotNull Command command, final @NotNull String argString, final int at) { final SplitResult split = CommandUtils.splitArgs(command.getParameters(), argString, at); if (split.getParameterAtPosition().isPresent()) { - final Optional<CommandUtils.Completer> completer = command.getParameterCompleters().getCompleterForParameter(split.getParameterAtPosition().get()); + final Optional<Completer> completer = command.getParameterCompleters().getCompleterForParameter(split.getParameterAtPosition().get()); if (completer.isPresent()) { final List<PositionedString> argsAtPosition = split.getArguments().get(split.getParameterAtPosition().get()); assert !argsAtPosition.isEmpty(); -- GitLab