]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
cli: add explicit option for pretty printing command result data
authorFelix Fietkau <nbd@nbd.name>
Wed, 30 Apr 2025 09:02:22 +0000 (11:02 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 30 Apr 2025 09:04:14 +0000 (11:04 +0200)
No-op for now, but allows making output more machine readable

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/utils/cli/files/usr/sbin/cli

index 531a64503eb76d4a1d7ed135495daf4b54764f4f..90889f996a3805e86e910ab9eec951549146c6ec 100755 (executable)
@@ -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) {