From 02fc05872fa3cc5785f4821b7ca159bf6f9941e7 Mon Sep 17 00:00:00 2001 From: Bhumika-SN Date: Sat, 9 May 2026 12:39:28 +0530 Subject: [PATCH 1/2] fix: avoid double searchPath call using single map+filter on Windows --- src/main/java/dev/jbang/cli/Edit.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/jbang/cli/Edit.java b/src/main/java/dev/jbang/cli/Edit.java index 7e9e9382c..a32ccece0 100644 --- a/src/main/java/dev/jbang/cli/Edit.java +++ b/src/main/java/dev/jbang/cli/Edit.java @@ -379,7 +379,17 @@ private static void setupEditor(Path editorBinPath, Path dataPath) throws IOExce } private static List findEditorsOnPath() { - return Arrays.stream(knownEditors).filter(e -> Util.searchPath(e) != null).collect(Collectors.toList()); + return Arrays.stream(knownEditors) + .filter(e -> Util.searchPath(e) != null) + .map(e -> { + Path found = Util.searchPath(e); + // On Windows, use the full path with extension so Git Bash can execute it + if (Util.isWindows() && found != null) { + return found.toString(); + } + return e; + }) + .collect(Collectors.toList()); } private static void showStartingMsg(String ed, boolean showConfig) { From a70a395ba86cb5bc421f1c70ecbd3be1433d4dd6 Mon Sep 17 00:00:00 2001 From: Bhumika-SN Date: Sat, 9 May 2026 12:54:51 +0530 Subject: [PATCH 2/2] fix: remove old return statement, use single map+filter --- src/main/java/dev/jbang/cli/Edit.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/dev/jbang/cli/Edit.java b/src/main/java/dev/jbang/cli/Edit.java index a32ccece0..771eb0cb8 100644 --- a/src/main/java/dev/jbang/cli/Edit.java +++ b/src/main/java/dev/jbang/cli/Edit.java @@ -11,6 +11,7 @@ import java.nio.charset.Charset; import java.nio.file.*; import java.util.*; +import java.util.Objects; import java.util.concurrent.Callable; import java.util.function.Function; import java.util.stream.Collectors; @@ -380,15 +381,13 @@ private static void setupEditor(Path editorBinPath, Path dataPath) throws IOExce private static List findEditorsOnPath() { return Arrays.stream(knownEditors) - .filter(e -> Util.searchPath(e) != null) .map(e -> { Path found = Util.searchPath(e); - // On Windows, use the full path with extension so Git Bash can execute it - if (Util.isWindows() && found != null) { - return found.toString(); - } - return e; + if (found == null) + return null; + return Util.isWindows() ? found.toString() : e; }) + .filter(Objects::nonNull) .collect(Collectors.toList()); }