backport: 15.1.0

This commit is contained in:
FalsePattern 2024-06-03 22:02:09 +02:00
parent d37a95bd6a
commit 2efe64c6c9
Signed by: falsepattern
GPG key ID: E930CDEC50C50E23
2 changed files with 11 additions and 1 deletions

View file

@ -17,6 +17,13 @@ Changelog structure reference:
## [Unreleased] ## [Unreleased]
## [15.1.0]
### Added
- Project
- PTY emulation for non-debug runs. Fixes colored output in Ziglings.
## [15.0.3] ## [15.0.3]
### Fixed ### Fixed

View file

@ -24,6 +24,7 @@ import com.intellij.execution.DefaultExecutionResult;
import com.intellij.execution.ExecutionException; import com.intellij.execution.ExecutionException;
import com.intellij.execution.configurations.CommandLineState; import com.intellij.execution.configurations.CommandLineState;
import com.intellij.execution.configurations.GeneralCommandLine; import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.configurations.PtyCommandLine;
import com.intellij.execution.process.ProcessHandler; import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.process.ProcessTerminatedListener; import com.intellij.execution.process.ProcessTerminatedListener;
import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.runners.ExecutionEnvironment;
@ -54,7 +55,9 @@ public abstract class ProfileStateBase<T extends ZigExecConfigBase<T>> extends C
val workingDirectory = configuration.getWorkingDirectory(); val workingDirectory = configuration.getWorkingDirectory();
val zigExecutablePath = toolchain.pathToExecutable("zig"); val zigExecutablePath = toolchain.pathToExecutable("zig");
val cli = new GeneralCommandLine(); // TODO remove this check once JetBrains implements colored terminal in the debugger
// https://youtrack.jetbrains.com/issue/CPP-11622/ANSI-color-codes-not-honored-in-Debug-Run-Configuration-output-window
val cli = debug ? new GeneralCommandLine() : new PtyCommandLine();
cli.setExePath(zigExecutablePath.toString()); cli.setExePath(zigExecutablePath.toString());
workingDirectory.getPath().ifPresent(x -> cli.setWorkDirectory(x.toFile())); workingDirectory.getPath().ifPresent(x -> cli.setWorkDirectory(x.toFile()));
cli.setCharset(StandardCharsets.UTF_8); cli.setCharset(StandardCharsets.UTF_8);