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

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

commit c5c02a94c46e7238797c78b3b346a241e0a23932
Author: Adriano Machado <[email protected]>
AuthorDate: Sat Jul 4 14:35:35 2026 -0400

    CAMEL-23720: Centralize remaining TUI glyphs through TuiIcons
    
    Migrate raw emoji literals that lived in popup/browser classes to the
    TuiIcons registry, completing the single-source-of-truth goal:
    
    - ExampleBrowserPopup: bundled/online/Docker/infra/Citrus icons and legend
    - InfraBrowserPopup: infra service row prefix
    - FolderBrowser: directory icon
    - DoctorPopup: MCP connection check now uses TuiIcons.MCP instead of
      reusing TuiIcons.OTEL (which stays for OTel Spans)
    
    Co-Authored-By: Claude Opus 4.8 <[email protected]>
---
 .../org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java | 6 +++---
 .../camel/dsl/jbang/core/commands/tui/ExampleBrowserPopup.java    | 8 +++++---
 .../apache/camel/dsl/jbang/core/commands/tui/FolderBrowser.java   | 4 ++--
 .../camel/dsl/jbang/core/commands/tui/InfraBrowserPopup.java      | 2 +-
 .../apache/camel/dsl/jbang/core/commands/tui/TabRegistryTest.java | 6 +++---
 5 files changed, 14 insertions(+), 12 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java
index c6e36f83c83f..ac1e25d774c2 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java
@@ -310,13 +310,13 @@ class DoctorPopup {
             String client = mcpConnectedClient != null ? 
mcpConnectedClient.get() : null;
             if (client != null) {
                 result.add(Line.from(
-                        Span.raw(TuiIcons.indent(TuiIcons.OTEL)),
+                        Span.raw(TuiIcons.indent(TuiIcons.MCP)),
                         Span.styled(String.format("%-14s", "MCP"), 
Style.EMPTY.bold()),
                         Span.raw(String.format("%-30s", client + " (port " + 
mcpPort + ")")),
                         Span.raw(" " + TuiIcons.OK)));
             } else {
                 result.add(Line.from(
-                        Span.raw(TuiIcons.indent(TuiIcons.OTEL)),
+                        Span.raw(TuiIcons.indent(TuiIcons.MCP)),
                         Span.styled(String.format("%-14s", "MCP"), 
Style.EMPTY.bold()),
                         Span.raw(String.format("%-30s", "Listening on port " + 
mcpPort)),
                         Span.raw(" " + TuiIcons.WARN)));
@@ -325,7 +325,7 @@ class DoctorPopup {
             }
         } else {
             result.add(Line.from(
-                    Span.raw(TuiIcons.indent(TuiIcons.OTEL)),
+                    Span.raw(TuiIcons.indent(TuiIcons.MCP)),
                     Span.styled(String.format("%-14s", "MCP"), 
Style.EMPTY.bold()),
                     Span.raw(String.format("%-30s", "Not enabled")),
                     Span.raw(" " + TuiIcons.WARN)));
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ExampleBrowserPopup.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ExampleBrowserPopup.java
index 01d2b5b8dcf9..dcbae7e6cdf2 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ExampleBrowserPopup.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ExampleBrowserPopup.java
@@ -404,8 +404,8 @@ class ExampleBrowserPopup {
             boolean citrus = ExampleHelper.hasCitrusTests(ex);
             boolean infra = !ExampleHelper.getInfraServices(ex).isEmpty();
 
-            String icons = (bundled ? "📦" : "🌐") + (docker ? "🐳" : "  ")
-                           + (infra ? "🔧" : "  ") + (citrus ? "🍋" : "  ");
+            String icons = (bundled ? TuiIcons.BUNDLED : TuiIcons.ONLINE) + 
(docker ? TuiIcons.DOCKER : "  ")
+                           + (infra ? TuiIcons.INFRA : "  ") + (citrus ? 
TuiIcons.CITRUS : "  ");
             int nameCol = Math.min(30, width / 3);
             String padded = String.format("%-" + nameCol + "s", 
TuiHelper.truncate(name, nameCol));
             String prefix = " " + icons + " " + padded + " ";
@@ -426,7 +426,9 @@ class ExampleBrowserPopup {
             }
         }
         items.add(ListItem.from(""));
-        items.add(ListItem.from(" 📦 = bundled  🌐 = online  🐳 = Docker  🔧 = 
infra services  🍋 = Citrus tests")
+        items.add(ListItem.from(" " + TuiIcons.BUNDLED + " = bundled  " + 
TuiIcons.ONLINE + " = online  "
+                                + TuiIcons.DOCKER + " = Docker  " + 
TuiIcons.INFRA + " = infra services  " + TuiIcons.CITRUS
+                                + " = Citrus tests")
                 .style(Style.EMPTY.dim()));
         return items;
     }
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/FolderBrowser.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/FolderBrowser.java
index 314453b15588..d3d279f2ba8c 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/FolderBrowser.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/FolderBrowser.java
@@ -106,7 +106,7 @@ class FolderBrowser {
                     .forEach(p -> {
                         String name = p.getFileName().toString();
                         if (Files.isDirectory(p)) {
-                            dirs.add(new DirEntry("📁", name, p.toString(), 
true));
+                            dirs.add(new DirEntry(TuiIcons.FOLDER, name, 
p.toString(), true));
                         } else {
                             files.add(new DirEntry(TuiHelper.fileEmoji(p), 
name, p.toString(), false));
                         }
@@ -120,7 +120,7 @@ class FolderBrowser {
         List<DirEntry> found = new ArrayList<>();
         Path parent = dir.getParent();
         if (parent != null) {
-            found.add(new DirEntry("📁", "..", parent.toString(), true));
+            found.add(new DirEntry(TuiIcons.FOLDER, "..", parent.toString(), 
true));
         }
         found.addAll(dirs);
         found.addAll(files);
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InfraBrowserPopup.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InfraBrowserPopup.java
index af8e75fc15d1..4ac21e8b4d85 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InfraBrowserPopup.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InfraBrowserPopup.java
@@ -288,7 +288,7 @@ class InfraBrowserPopup {
         List<ListItem> items = new ArrayList<>();
         for (InfraServiceEntry entry : catalog) {
             String padded = String.format("%-" + nameCol + "s", 
TuiHelper.truncate(entry.alias(), nameCol));
-            String prefix = "  🔧 " + padded + " ";
+            String prefix = TuiIcons.indent(TuiIcons.INFRA) + padded + " ";
             if (entry.running()) {
                 items.add(ListItem.from(prefix + 
"(running)").style(Style.EMPTY.dim()));
             } else {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/TabRegistryTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/TabRegistryTest.java
index 287d8d4c713c..8e5a0757db69 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/TabRegistryTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/TabRegistryTest.java
@@ -82,8 +82,8 @@ class TabRegistryTest {
     }
 
     @Test
-    void moreTabsHasEighteenEntries() {
-        assertEquals(18, registry.moreTabs().size());
+    void moreTabsHasNineteenEntries() {
+        assertEquals(19, registry.moreTabs().size());
     }
 
     @Test
@@ -109,7 +109,7 @@ class TabRegistryTest {
         // MORE_SHORTCUTS array carried before the MoreTab refactor. A label 
edit that repoints a key must fail here.
         List<Character> shortcuts = 
registry.moreTabs().stream().map(TabRegistry.MoreTab::shortcut).toList();
         assertEquals(
-                List.of('B', 'W', 'C', 'A', 'G', 'N', 'D', 'H', 'I', 'M', 'K', 
'E', 'Q', 'R', 'O', 'P', 'S', 'T'),
+                List.of('B', 'W', 'C', 'A', 'G', 'N', 'V', 'D', 'H', 'I', 'M', 
'K', 'E', 'Q', 'R', 'O', 'P', 'S', 'T'),
                 shortcuts, "More tab shortcut letters must match the 
historical sequence");
     }
 

Reply via email to