diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java index 01a5e59a984c..8316f90021d7 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java @@ -5,7 +5,6 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.platform.eel.EelDescriptor; import com.intellij.terminal.pty.PtyProcessTtyConnector; -import com.intellij.util.ArrayUtil; import com.intellij.util.TimeoutUtil; import com.intellij.util.containers.ContainerUtil; import com.jediterm.core.util.TermSize; @@ -27,7 +26,10 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.InvalidPathException; import java.nio.file.Path; -import java.util.*; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; @@ -94,13 +96,16 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner command = Objects.requireNonNull(options.getShellCommand(), () -> { + return "Shell command must not be null, " + options; + }); Map envs = options.getEnvVariables(); - TermSize initialTermSize = options.getInitialTermSize(); - String workingDir = options.getWorkingDirectory(); - if (workingDir == null) { - throw new IllegalStateException("Working directory must not be null, startup options: " + options); - } + TermSize initialTermSize = Objects.requireNonNull(options.getInitialTermSize(), () -> { + return "Initial term size must not be null, " + options; + }); + String workingDir = Objects.requireNonNull(options.getWorkingDirectory(), () -> { + return "Working directory must not be null, " + options; + }); var shellIntegration = options.getShellIntegration(); boolean isBlockTerminal = @@ -113,24 +118,15 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner command, @NotNull String workingDirectory, @Nullable TermSize initialTermSize, @NotNull Map environment, boolean envDiff) { - String info = Arrays.toString(command) + " in " + workingDirectory + (isDirectory(workingDirectory) ? "" : " [no such directory]") + + String info = command + " in " + workingDirectory + (isDirectory(workingDirectory) ? "" : " [no such directory]") + ", [" + initialTermSize + "]"; if (envDiff) { return info + ", diff_envs=" + getEnvironmentDiff(environment, System.getenv()); diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/fus/ReworkedTerminalUsageCollector.kt b/plugins/terminal/src/org/jetbrains/plugins/terminal/fus/ReworkedTerminalUsageCollector.kt index 24613f83c4b2..d34a6575986a 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/fus/ReworkedTerminalUsageCollector.kt +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/fus/ReworkedTerminalUsageCollector.kt @@ -180,7 +180,7 @@ object ReworkedTerminalUsageCollector : CounterUsagesCollector() { } @JvmStatic - fun logLocalShellStarted(project: Project, shellCommand: Array) { + fun logLocalShellStarted(project: Project, shellCommand: List) { localShellStartedEvent.log(project, osVersion, getShellNameForStat(shellCommand.firstOrNull())) diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/fus/TerminalUsageCollector.kt b/plugins/terminal/src/org/jetbrains/plugins/terminal/fus/TerminalUsageCollector.kt index d2daa1775f07..68b2789284e4 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/fus/TerminalUsageCollector.kt +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/fus/TerminalUsageCollector.kt @@ -128,7 +128,7 @@ object TerminalUsageTriggerCollector : CounterUsagesCollector() { } @JvmStatic - fun triggerLocalShellStarted(project: Project, shellCommand: Array, isBlockTerminal: Boolean) { + fun triggerLocalShellStarted(project: Project, shellCommand: List, isBlockTerminal: Boolean) { localExecEvent.log(project, Version.parseVersion(SystemInfo.OS_VERSION)?.toCompactString() ?: "unknown", TerminalShellInfoStatistics.getShellNameForStat(shellCommand.firstOrNull()),