|
|
@ -7,43 +7,43 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
|
|
fn run() -> i32 {
|
|
|
|
fn run() -> i32 {
|
|
|
|
let args: Vec<String> = std::env::args().collect();
|
|
|
|
let args: Vec<String> = std::env::args().collect();
|
|
|
|
let mut url = if args.len() < 2 {
|
|
|
|
let mut url = "gopher://phetch/1/home";
|
|
|
|
"gopher://phetch/1/home"
|
|
|
|
let mut tls = false;
|
|
|
|
} else {
|
|
|
|
let mut iter = args.iter();
|
|
|
|
args.get(1).unwrap()
|
|
|
|
while let Some(arg) = iter.next() {
|
|
|
|
};
|
|
|
|
match arg.as_ref() {
|
|
|
|
|
|
|
|
"-v" | "--version" | "-version" => {
|
|
|
|
if url == "--raw" || url == "-r" || url == "-raw" {
|
|
|
|
print_version();
|
|
|
|
if args.len() > 2 {
|
|
|
|
return 0;
|
|
|
|
let url = args.get(2).unwrap();
|
|
|
|
}
|
|
|
|
print_raw(url);
|
|
|
|
"-h" | "--help" | "-help" => {
|
|
|
|
return 0;
|
|
|
|
print_usage();
|
|
|
|
} else {
|
|
|
|
return 0;
|
|
|
|
eprintln!("--raw needs gopher-url");
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
"-r" | "--raw" | "-raw" => {
|
|
|
|
|
|
|
|
if args.len() > 2 {
|
|
|
|
|
|
|
|
let url = args.get(2).unwrap();
|
|
|
|
|
|
|
|
print_raw(url);
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
eprintln!("--raw needs gopher-url");
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
"-l" | "--local" | "-local" => url = "gopher://127.0.0.1:7070",
|
|
|
|
|
|
|
|
"-t" | "--tls" | "-tls" => tls = true,
|
|
|
|
|
|
|
|
arg => {
|
|
|
|
|
|
|
|
if arg.starts_with('-') {
|
|
|
|
|
|
|
|
eprintln!("unknown flag: {}\n", url);
|
|
|
|
|
|
|
|
print_usage();
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
url = arg;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if url == "--local" || url == "-l" || url == "-local" {
|
|
|
|
|
|
|
|
url = "gopher://127.0.0.1:7070";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if url == "--version" || url == "-v" || url == "-version" {
|
|
|
|
|
|
|
|
print_version();
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if url == "--help" || url == "-h" || url == "-help" {
|
|
|
|
|
|
|
|
print_usage();
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if !url.is_empty() && url.starts_with('-') {
|
|
|
|
|
|
|
|
eprintln!("unknown flag: {}\n", url);
|
|
|
|
|
|
|
|
print_usage();
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let mut ui = UI::new();
|
|
|
|
let mut ui = UI::new();
|
|
|
|
if let Err(e) = ui.open(url, url).and_then(|_| ui.run()) {
|
|
|
|
if let Err(e) = ui.open(url, url).and_then(|_| ui.run()) {
|
|
|
|
eprintln!("{}", e);
|
|
|
|
eprintln!("{}", e);
|
|
|
@ -61,6 +61,7 @@ fn print_usage() {
|
|
|
|
"Usage:
|
|
|
|
"Usage:
|
|
|
|
phetch launch and show start page
|
|
|
|
phetch launch and show start page
|
|
|
|
phetch <gopher-url> open gopherhole at url
|
|
|
|
phetch <gopher-url> open gopherhole at url
|
|
|
|
|
|
|
|
phetch -t, --tls <gopher-url> attempt to open w/ tls
|
|
|
|
phetch -r, --raw <gopher-url> print raw gopher response
|
|
|
|
phetch -r, --raw <gopher-url> print raw gopher response
|
|
|
|
phetch -l, --local connect to 127.0.0.1:7070
|
|
|
|
phetch -l, --local connect to 127.0.0.1:7070
|
|
|
|
phetch -h, --help show this screen
|
|
|
|
phetch -h, --help show this screen
|
|
|
|