This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch jline in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7b86fc43672b36167e5fc9f3dc1e0606a34a250e Author: Claus Ibsen <[email protected]> AuthorDate: Thu Dec 11 10:58:21 2025 +0100 camel-jbang - camel get history use jline to make it mode better --- .../core/commands/action/CamelHistoryAction.java | 28 ++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java index b592cdae913e..dcd493d62ea1 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java @@ -225,8 +225,8 @@ public class CamelHistoryAction extends ActionWatchCommand { t.addKeyBinding("refresh", InfoCmp.Capability.key_f5); t.addKeyBinding("down", InfoCmp.Capability.key_down); t.addKeyBinding("up", InfoCmp.Capability.key_up); - t.addKeyBinding("npage", InfoCmp.Capability.key_npage); - t.addKeyBinding("ppage", InfoCmp.Capability.key_ppage); + t.addKeyBinding("pgdn", InfoCmp.Capability.key_npage); + t.addKeyBinding("pgup", InfoCmp.Capability.key_ppage); t.addKeyBinding("home", InfoCmp.Capability.key_home); t.addKeyBinding("end", InfoCmp.Capability.key_end); t.start(); @@ -253,10 +253,24 @@ public class CamelHistoryAction extends ActionWatchCommand { rowIndex.addAndGet(1); } } - case "home" -> pageIndex.set(0); - case "end" -> pageIndex.set(Integer.MAX_VALUE); - case "npage" -> pageIndex.addAndGet(pageSize); - case "ppage" -> { + case "pgup" -> { + if (rowIndex.get() > 0) { + rowIndex.addAndGet(-IT_MAX_ROWS); + } + if (rowIndex.get() < 0) { + rowIndex.set(0); + } + } + case "pgdn" -> { + if (rowIndex.get() < rows.size() - 1) { + rowIndex.addAndGet(IT_MAX_ROWS); + } + if (rowIndex.get() > rows.size() - 1) { + rowIndex.set(rows.size() - 1); + } + } + case "end" -> pageIndex.addAndGet(pageSize); + case "home" -> { pageIndex.addAndGet(-pageSize); if (pageIndex.get() < 0) { pageIndex.set(0); @@ -393,7 +407,7 @@ public class CamelHistoryAction extends ActionWatchCommand { int p2 = (int) Math.ceil((double) lines.length / maxBottom); // status panel in the middle - String help = String.format(" row:%d/%d (\u2191\u2193) page:%d/%d (pgup/pgdn/home/end) f5=refresh q=quit", + String help = String.format(" row:%d/%d (\u2191\u2193pgup/pgdn) page:%d/%d (home/end) f5=refresh q=quit", rowPos + 1, rows.size(), p1, p2); String pad = StringHelper.padString(maxLength - help.length(), 1); if (moreRows) {
