feat: zig test/run compiler args

This commit is contained in:
FalsePattern 2024-05-15 18:07:19 +02:00
parent 63a1b0c199
commit 695fe43c28
Signed by: falsepattern
GPG key ID: E930CDEC50C50E23
3 changed files with 14 additions and 3 deletions

View file

@ -17,6 +17,11 @@ Changelog structure reference:
## [Unreleased]
### Added
- Project
- Extra compiler arguments field for zig test/run tasks
### Fixed
- Debugging

View file

@ -37,7 +37,8 @@ public class ZigExecConfigRun extends ZigExecConfigBase<ZigExecConfigRun> {
private ZigConfigEditor.FilePathConfigurable filePath = new ZigConfigEditor.FilePathConfigurable("filePath", "File Path");
private ZigConfigEditor.CheckboxConfigurable colored = ZigConfigEditor.coloredConfigurable("colored");
private ZigConfigEditor.OptimizationConfigurable optimization = new ZigConfigEditor.OptimizationConfigurable("optimization");
private ZigConfigEditor.ArgsConfigurable exeArgs = new ZigConfigEditor.ArgsConfigurable("exeArgs", "Arguments for the compile exe");
private ZigConfigEditor.ArgsConfigurable compilerArgs = new ZigConfigEditor.ArgsConfigurable("compilerArgs", "Extra compiler command line arguments");
private ZigConfigEditor.ArgsConfigurable exeArgs = new ZigConfigEditor.ArgsConfigurable("exeArgs", "Output program command line arguments");
public ZigExecConfigRun(@NotNull Project project, @NotNull ConfigurationFactory factory) {
super(project, factory, "Zig Run");
}
@ -51,6 +52,7 @@ public class ZigExecConfigRun extends ZigExecConfigBase<ZigExecConfigRun> {
if (!debug || optimization.forced) {
result.addAll(List.of("-O", optimization.level.name()));
}
result.addAll(List.of(compilerArgs.args));
if (!debug) {
result.add("--");
result.addAll(List.of(exeArgs.args));
@ -68,6 +70,7 @@ public class ZigExecConfigRun extends ZigExecConfigBase<ZigExecConfigRun> {
val clone = super.clone();
clone.filePath = filePath.clone();
clone.colored = colored.clone();
clone.compilerArgs = compilerArgs.clone();
clone.optimization = optimization.clone();
clone.exeArgs = exeArgs.clone();
return clone;
@ -75,7 +78,7 @@ public class ZigExecConfigRun extends ZigExecConfigBase<ZigExecConfigRun> {
@Override
public @NotNull List<ZigConfigEditor.ZigConfigurable<?>> getConfigurables() {
return CollectionUtil.concat(super.getConfigurables(), filePath, optimization, colored, exeArgs);
return CollectionUtil.concat(super.getConfigurables(), filePath, optimization, colored, compilerArgs, exeArgs);
}
@Override

View file

@ -38,6 +38,7 @@ public class ZigExecConfigTest extends ZigExecConfigBase<ZigExecConfigTest> {
private ZigConfigEditor.FilePathConfigurable filePath = new ZigConfigEditor.FilePathConfigurable("filePath", "File path");
private ZigConfigEditor.CheckboxConfigurable colored = ZigConfigEditor.coloredConfigurable("colored");
private ZigConfigEditor.OptimizationConfigurable optimization = new ZigConfigEditor.OptimizationConfigurable("optimization");
private ZigConfigEditor.ArgsConfigurable compilerArgs = new ZigConfigEditor.ArgsConfigurable("compilerArgs", "Extra compiler command line arguments");
public ZigExecConfigTest(@NotNull Project project, @NotNull ConfigurationFactory factory) {
super(project, factory, "Zig Test");
}
@ -51,6 +52,7 @@ public class ZigExecConfigTest extends ZigExecConfigBase<ZigExecConfigTest> {
if (!debug || optimization.forced) {
result.addAll(List.of("-O", optimization.level.name()));
}
result.addAll(List.of(compilerArgs.args));
if (debug) {
result.add("--test-no-exec");
}
@ -73,11 +75,12 @@ public class ZigExecConfigTest extends ZigExecConfigBase<ZigExecConfigTest> {
clone.filePath = filePath.clone();
clone.colored = colored.clone();
clone.optimization = optimization.clone();
clone.compilerArgs = compilerArgs.clone();
return clone;
}
@Override
public @NotNull List<ZigConfigEditor.ZigConfigurable<?>> getConfigurables() {
return CollectionUtil.concat(super.getConfigurables(), filePath, optimization, colored);
return CollectionUtil.concat(super.getConfigurables(), filePath, optimization, colored, compilerArgs);
}
}