This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4401dad9d808e400564586f01d4818aa99b83fb9
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Aug 24 16:41:08 2022 +0200

    CAMEL-18406: camel-jbang - Status command
---
 .../core/commands/process/ProcessBaseCommand.java  | 23 +++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
index 519de022c41..727dbfe3ca5 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ProcessBaseCommand.java
@@ -17,7 +17,11 @@
 package org.apache.camel.dsl.jbang.core.commands.process;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.StringJoiner;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.camel.dsl.jbang.core.commands.CamelCommand;
 import org.apache.camel.dsl.jbang.core.commands.CamelJBangMain;
@@ -27,6 +31,9 @@ import org.apache.camel.util.StringHelper;
 
 abstract class ProcessBaseCommand extends CamelCommand {
 
+    private static final String[] DSL_EXT = new String[] { "groovy", "java", 
"js", "jsh", "kts", "xml", "yaml" };
+    private static final Pattern PATTERN = Pattern.compile("([\\w|\\-.])+");
+
     public ProcessBaseCommand(CamelJBangMain main) {
         super(main);
     }
@@ -63,10 +70,20 @@ abstract class ProcessBaseCommand extends CamelCommand {
         String name = StringHelper.after(cl, "main.CamelJBang run");
         if (name != null) {
             name = name.trim();
-        } else {
-            name = "";
+            StringJoiner js = new StringJoiner(" ");
+            // focus only on the route files supported (to skip such as readme 
files)
+            Matcher matcher = PATTERN.matcher(name);
+            while (matcher.find()) {
+                String part = matcher.group();
+                String ext = FileUtil.onlyExt(part, true);
+                if (ext != null && Arrays.asList(DSL_EXT).contains(ext)) {
+                    js.add(part);
+                }
+            }
+            return js.toString();
         }
-        return name;
+
+        return "";
     }
 
     static long extractSince(ProcessHandle ph) {

Reply via email to