[openwrt/openwrt] cli: add explicit option for pretty printing command result data
LEDE Commits
lede-commits at lists.infradead.org
Wed Apr 30 02:04:30 PDT 2025
nbd pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/1735da8e4c941501a85a5997125c85fccdcb4831
commit 1735da8e4c941501a85a5997125c85fccdcb4831
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Wed Apr 30 11:02:22 2025 +0200
cli: add explicit option for pretty printing command result data
No-op for now, but allows making output more machine readable
Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
package/utils/cli/files/usr/sbin/cli | 39 +++++++++++++++++++-----------------
1 file changed, 21 insertions(+), 18 deletions(-)
diff --git a/package/utils/cli/files/usr/sbin/cli b/package/utils/cli/files/usr/sbin/cli
index 531a64503e..90889f996a 100755
--- a/package/utils/cli/files/usr/sbin/cli
+++ b/package/utils/cli/files/usr/sbin/cli
@@ -11,8 +11,26 @@ let history = [];
let history_edit;
let history_idx = -1;
let cur_line;
-let interactive;
-let script_mode;
+let interactive, script_mode, raw_mode;
+
+while (length(ARGV) > 0) {
+ let cmd = ARGV[0];
+ if (substr(cmd, 0, 1) != "-")
+ break;
+
+ shift(ARGV);
+ switch (cmd) {
+ case '-i':
+ interactive = true;
+ break;
+ case '-s':
+ script_mode = true;
+ break;
+ case '-R':
+ raw_mode = true;
+ break;
+ }
+}
let el;
let model = datamodel.new({
@@ -23,6 +41,7 @@ let model = datamodel.new({
warn(msg + "\n");
el.refresh_prompt();
},
+ opt_pretty_print: !raw_mode
});
let uloop = model.uloop;
model.add_modules();
@@ -676,22 +695,6 @@ el = uline.new({
key_input_list: [ "?", "\t", "\x03", "\x12" ]
});
-while (length(ARGV) > 0) {
- let cmd = ARGV[0];
- if (substr(cmd, 0, 1) != "-")
- break;
-
- shift(ARGV);
- switch (cmd) {
- case '-i':
- interactive = true;
- break;
- case '-s':
- script_mode = true;
- break;
- }
-}
-
if (SCRIPT_NAME != "cli") {
let cur_ctx = ctx.select([ basename(SCRIPT_NAME) ]);
if (cur_ctx && cur_ctx != ctx && !cur_ctx.errors) {
More information about the lede-commits
mailing list