Pretty print option
authorMegaBrutal <megabrutal+github@megabrutal.com>
Sun, 19 Feb 2023 03:15:45 +0000 (04:15 +0100)
committerMegaBrutal <megabrutal+github@megabrutal.com>
Sun, 19 Feb 2023 03:15:45 +0000 (04:15 +0100)
src/main.rs

index f92d3f893f06925183171064bdd7f02c9484bda7..792b64cce27da46d5ddb9217f11f20c7f29d5a81 100644 (file)
@@ -13,9 +13,14 @@ use crate::HLQueryError::{IOError,A2SError};
 #[command(version)]
 #[command(about = "Query Half-Life servers", long_about = None)]
 struct Cli {
+    /// Print output in JSON format
     #[arg(short, long)]
     json: bool,
 
+    /// Pretty-print JSON or Rust objects
+    #[arg(short, long)]
+    pretty: bool,
+
     addresses: Vec<String>
 }
 
@@ -114,9 +119,19 @@ fn main() {
         .collect();
 
     if cli.json {
-        println!("{}", serde_json::to_string_pretty(&query_results).unwrap());
+        if cli.pretty {
+            println!("{}", serde_json::to_string_pretty(&query_results).unwrap());
+        }
+        else {
+            println!("{}", serde_json::to_string(&query_results).unwrap());
+        }
     }
     else {
-        println!("{:?}", query_results);
+        if cli.pretty {
+            println!("{:#?}", query_results);
+        }
+        else {
+            println!("{:?}", query_results);
+        }
     }
 }