chore: Simplify guessProjectDir

This commit is contained in:
FalsePattern 2024-08-06 14:18:42 +02:00
parent 7638a5422c
commit 8f9ac634fe
Signed by: falsepattern
GPG key ID: E930CDEC50C50E23
3 changed files with 14 additions and 7 deletions

View file

@ -17,10 +17,10 @@
package com.falsepattern.zigbrains.project.console;
import com.falsepattern.zigbrains.common.util.FileUtil;
import com.falsepattern.zigbrains.project.util.ProjectUtil;
import com.intellij.execution.filters.Filter;
import com.intellij.execution.filters.OpenFileHyperlinkInfo;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectUtil;
import com.intellij.openapi.vfs.VirtualFile;
import kotlin.Pair;
import lombok.RequiredArgsConstructor;
@ -63,7 +63,7 @@ public class ZigSourceFileFilter implements Filter {
@Override
public Result applyFilter(@NotNull String line, int entireLength) {
val lineStart = entireLength - line.length();
val projectPath = Optional.ofNullable(ProjectUtil.guessProjectDir(project)).map(VirtualFile::toNioPath).orElse(null);
val projectPath = ProjectUtil.guessProjectDir(project);
val results = new ArrayList<ResultItem>();
val matcher = LEN_REGEX.matcher(line);
while (matcher.find()) {

View file

@ -16,16 +16,15 @@
package com.falsepattern.zigbrains.project.execution.base;
import com.falsepattern.zigbrains.project.util.ProjectUtil;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.Executor;
import com.intellij.execution.configurations.ConfigurationFactory;
import com.intellij.execution.configurations.LocatableConfigurationBase;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectUtil;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.NlsActions;
import com.intellij.openapi.vfs.VirtualFile;
import lombok.Getter;
import lombok.val;
import org.jdom.Element;
@ -41,9 +40,7 @@ public abstract class ZigExecConfigBase<T extends ZigExecConfigBase<T>> extends
private ZigConfigEditor.CheckboxConfigurable pty = new ZigConfigEditor.CheckboxConfigurable("pty", "Emulate Terminal", false);
public ZigExecConfigBase(@NotNull Project project, @NotNull ConfigurationFactory factory, @Nullable String name) {
super(project, factory, name);
workingDirectory.setPath(getProject().isDefault() ? null : Optional.ofNullable(ProjectUtil.guessProjectDir(getProject()))
.map(VirtualFile::toNioPath)
.orElse(null));
workingDirectory.setPath(getProject().isDefault() ? null : ProjectUtil.guessProjectDir(getProject()));
}
@Override

View file

@ -19,11 +19,21 @@ package com.falsepattern.zigbrains.project.util;
import com.falsepattern.zigbrains.project.openapi.components.ZigProjectSettingsService;
import com.falsepattern.zigbrains.project.toolchain.AbstractZigToolchain;
import com.intellij.openapi.project.Project;
import lombok.val;
import org.jetbrains.annotations.Nullable;
import java.nio.file.Path;
public class ProjectUtil {
public static @Nullable AbstractZigToolchain getToolchain(Project project) {
return ZigProjectSettingsService.getInstance(project).getState().getToolchain();
}
public static @Nullable Path guessProjectDir(Project project) {
val dir = com.intellij.openapi.project.ProjectUtil.guessProjectDir(project);
if (dir == null)
return null;
return dir.toNioPath();
}
}