Skip to content
Snippets Groups Projects
Commit 68e03c8f authored by dgelessus's avatar dgelessus
Browse files

Change Command interface to require the complete method

Almost all command implement code completion, so the default method
isn't really necessary.
parent 71148ea2
No related branches found
No related tags found
No related merge requests found
...@@ -20,9 +20,11 @@ import de.prob.statespace.Transition; ...@@ -20,9 +20,11 @@ import de.prob.statespace.Transition;
import de.prob2.jupyter.ProBKernel; import de.prob2.jupyter.ProBKernel;
import de.prob2.jupyter.UserErrorException; import de.prob2.jupyter.UserErrorException;
import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
import io.github.spencerpark.jupyter.kernel.display.DisplayData; import io.github.spencerpark.jupyter.kernel.display.DisplayData;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import se.sawano.java.text.AlphanumericComparator; import se.sawano.java.text.AlphanumericComparator;
...@@ -86,4 +88,9 @@ public final class BrowseCommand implements Command { ...@@ -86,4 +88,9 @@ public final class BrowseCommand implements Command {
} }
return new DisplayData(sb.toString()); return new DisplayData(sb.toString());
} }
@Override
public @Nullable ReplacementOptions complete(final @NotNull ProBKernel kernel, final @NotNull String argString, final int at) {
return null;
}
} }
...@@ -15,7 +15,5 @@ public interface Command { ...@@ -15,7 +15,5 @@ public interface Command {
public abstract @Nullable DisplayData run(final @NotNull ProBKernel kernel, final @NotNull String argString); public abstract @Nullable DisplayData run(final @NotNull ProBKernel kernel, final @NotNull String argString);
public default @Nullable ReplacementOptions complete(final @NotNull ProBKernel kernel, final @NotNull String argString, final int at) { public abstract @Nullable ReplacementOptions complete(final @NotNull ProBKernel kernel, final @NotNull String argString, final int at);
return null;
}
} }
...@@ -11,9 +11,11 @@ import de.prob.scripting.ScriptEngineProvider; ...@@ -11,9 +11,11 @@ import de.prob.scripting.ScriptEngineProvider;
import de.prob2.jupyter.ProBKernel; import de.prob2.jupyter.ProBKernel;
import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
import io.github.spencerpark.jupyter.kernel.display.DisplayData; import io.github.spencerpark.jupyter.kernel.display.DisplayData;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public final class GroovyCommand implements Command { public final class GroovyCommand implements Command {
private final @NotNull ScriptEngine groovyScriptEngine; private final @NotNull ScriptEngine groovyScriptEngine;
...@@ -48,4 +50,9 @@ public final class GroovyCommand implements Command { ...@@ -48,4 +50,9 @@ public final class GroovyCommand implements Command {
} }
return new DisplayData(Objects.toString(result)); return new DisplayData(Objects.toString(result));
} }
@Override
public @Nullable ReplacementOptions complete(final @NotNull ProBKernel kernel, final @NotNull String argString, final int at) {
return null;
}
} }
...@@ -5,9 +5,11 @@ import com.google.inject.Inject; ...@@ -5,9 +5,11 @@ import com.google.inject.Inject;
import de.prob2.jupyter.ProBKernel; import de.prob2.jupyter.ProBKernel;
import de.prob2.jupyter.UserErrorException; import de.prob2.jupyter.UserErrorException;
import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
import io.github.spencerpark.jupyter.kernel.display.DisplayData; import io.github.spencerpark.jupyter.kernel.display.DisplayData;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public final class RenderCommand implements Command { public final class RenderCommand implements Command {
@Inject @Inject
...@@ -40,4 +42,9 @@ public final class RenderCommand implements Command { ...@@ -40,4 +42,9 @@ public final class RenderCommand implements Command {
data.putData(mimeType, code); data.putData(mimeType, code);
return data; return data;
} }
@Override
public @Nullable ReplacementOptions complete(final @NotNull ProBKernel kernel, final @NotNull String argString, final int at) {
return null;
}
} }
...@@ -12,9 +12,11 @@ import de.prob.statespace.Trace; ...@@ -12,9 +12,11 @@ import de.prob.statespace.Trace;
import de.prob2.jupyter.ProBKernel; import de.prob2.jupyter.ProBKernel;
import de.prob2.jupyter.UserErrorException; import de.prob2.jupyter.UserErrorException;
import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
import io.github.spencerpark.jupyter.kernel.display.DisplayData; import io.github.spencerpark.jupyter.kernel.display.DisplayData;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public final class ShowCommand implements Command { public final class ShowCommand implements Command {
private final @NotNull AnimationSelector animationSelector; private final @NotNull AnimationSelector animationSelector;
...@@ -69,4 +71,9 @@ public final class ShowCommand implements Command { ...@@ -69,4 +71,9 @@ public final class ShowCommand implements Command {
result.putMarkdown(tableBuilder.toString()); result.putMarkdown(tableBuilder.toString());
return result; return result;
} }
@Override
public @Nullable ReplacementOptions complete(final @NotNull ProBKernel kernel, final @NotNull String argString, final int at) {
return null;
}
} }
...@@ -8,9 +8,11 @@ import de.prob.statespace.AnimationSelector; ...@@ -8,9 +8,11 @@ import de.prob.statespace.AnimationSelector;
import de.prob2.jupyter.ProBKernel; import de.prob2.jupyter.ProBKernel;
import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
import io.github.spencerpark.jupyter.kernel.display.DisplayData; import io.github.spencerpark.jupyter.kernel.display.DisplayData;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public final class VersionCommand implements Command { public final class VersionCommand implements Command {
private final @NotNull AnimationSelector animationSelector; private final @NotNull AnimationSelector animationSelector;
...@@ -38,4 +40,9 @@ public final class VersionCommand implements Command { ...@@ -38,4 +40,9 @@ public final class VersionCommand implements Command {
this.animationSelector.getCurrentTrace().getStateSpace().execute(cmd); this.animationSelector.getCurrentTrace().getStateSpace().execute(cmd);
return new DisplayData(String.format("ProB CLI: %s\nProB 2: %s (%s)", cmd.getVersion(), Main.getVersion(), Main.getGitSha())); return new DisplayData(String.format("ProB CLI: %s\nProB 2: %s (%s)", cmd.getVersion(), Main.getVersion(), Main.getGitSha()));
} }
@Override
public @Nullable ReplacementOptions complete(final @NotNull ProBKernel kernel, final @NotNull String argString, final int at) {
return null;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment