Skip to content
Snippets Groups Projects
Select Git revision
  • cfaae744af758e433f4d49cb745c0ac075b55d85
  • master default protected
  • exec_auto_adjust_trace
  • let_variables
  • v1.4.1
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.1.0
  • v1.0.0
10 results

VersionCommand.java

Blame
  • user avatar
    dgelessus authored
    cfaae744
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    VersionCommand.java 1.49 KiB
    package de.prob2.jupyter.commands;
    
    import com.google.inject.Inject;
    
    import de.prob.Main;
    import de.prob.animator.command.GetVersionCommand;
    import de.prob.statespace.AnimationSelector;
    
    import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
    import io.github.spencerpark.jupyter.kernel.display.DisplayData;
    
    import org.jetbrains.annotations.NotNull;
    import org.jetbrains.annotations.Nullable;
    
    public final class VersionCommand implements Command {
    	private final @NotNull AnimationSelector animationSelector;
    	
    	@Inject
    	private VersionCommand(final @NotNull AnimationSelector animationSelector) {
    		super();
    		
    		this.animationSelector = animationSelector;
    	}
    	
    	@Override
    	public @NotNull String getSyntax() {
    		return ":version";
    	}
    	
    	@Override
    	public @NotNull String getShortHelp() {
    		return "Display version info about the ProB CLI and ProB 2.";
    	}
    	
    	@Override
    	public @NotNull String getHelpBody() {
    		return "";
    	}
    	
    	@Override
    	public @NotNull DisplayData run(final @NotNull String argString) {
    		final GetVersionCommand cmd = new GetVersionCommand();
    		this.animationSelector.getCurrentTrace().getStateSpace().execute(cmd);
    		return new DisplayData(String.format("ProB CLI: %s\nProB 2: %s (%s)", cmd.getVersion(), Main.getVersion(), Main.getGitSha()));
    	}
    	
    	@Override
    	public @Nullable DisplayData inspect(final @NotNull String argString, final int at) {
    		return null;
    	}
    	
    	@Override
    	public @Nullable ReplacementOptions complete(final @NotNull String argString, final int at) {
    		return null;
    	}
    }