summaryrefslogtreecommitdiff
path: root/rust/echor/src/main.rs~
diff options
context:
space:
mode:
Diffstat (limited to 'rust/echor/src/main.rs~')
-rw-r--r--rust/echor/src/main.rs~34
1 files changed, 34 insertions, 0 deletions
diff --git a/rust/echor/src/main.rs~ b/rust/echor/src/main.rs~
new file mode 100644
index 0000000..fc2d607
--- /dev/null
+++ b/rust/echor/src/main.rs~
@@ -0,0 +1,34 @@
+use clap::{App, Arg};
+
+/*
+ * Lack of specified return value means the function will return an UNIT type
+ */
+fn main() {
+ let matches = App::new("echor")
+ .version("0.1.0")
+ .author("Ronaldo curintiano")
+ .about("echo rusty")
+ .arg(
+ Arg::with_name("text")
+ .value_name("TEXT")
+ .help("Input text")
+ .required(true)
+ .min_values(1),
+ )
+ .arg(
+ Arg::with_name("omit_newline")
+ .value_name("OMIT NEWLINE")
+ .short("n")
+ .help("Do not print newline")
+ .takes_value(false),
+ )
+ .get_matches();
+
+ let text = matches.values_of_lossy("text").unwrap().join(" ");
+ let omit_newline :bool = matches.is_present("omit_newline");
+
+ print("{}{}",
+ text,
+ if omit_newline {""} else {"\n"});
+
+}