basic/
basic.rs

1use std::env;
2use std::process;
3
4/// Parse a spot provided as a commandline argument.
5/// Output the parsed spot in its json format.
6/// See also `basic_run.sh` for exemplary use.
7fn main() {
8    let args: Vec<String> = env::args().collect();
9    let retval;
10
11    if args.len() != 2 {
12        eprintln!("Invalid number of arguments.");
13        eprintln!("Usage: {} <spot>", args[0]);
14        retval = 1;
15    } else {
16        match dxclparser::parse(args[1].trim().trim_end_matches('\u{0007}')) {
17            Ok(spot) => {
18                println!("{}", spot.to_json());
19                retval = 0;
20            }
21            Err(e) => {
22                eprintln!("Failed to parse spot ({})", e);
23                retval = 1;
24            }
25        }
26    }
27
28    process::exit(retval);
29}