|
|
|
@ -39,23 +39,27 @@ fn main() {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if !url.is_empty() && url.chars().nth(0).unwrap() == '-' {
|
|
|
|
|
if !url.is_empty() && url.starts_with('-') {
|
|
|
|
|
eprintln!("unknown flag: {}\n", url);
|
|
|
|
|
print_usage();
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let url = if url.starts_with("gopher://") {
|
|
|
|
|
url.to_string()
|
|
|
|
|
} else {
|
|
|
|
|
format!("gopher://{}", url)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
let mut ui = UI::new();
|
|
|
|
|
ui.open(url)
|
|
|
|
|
.or_else(|e| Err(fatal(&format!("\r\x1b[91m{}\x1b[0m", e))));
|
|
|
|
|
ui.open(&url).or_else(|e| {
|
|
|
|
|
eprintln!("\r\x1b[91m{}\x1b[0m", e);
|
|
|
|
|
exit(1);
|
|
|
|
|
Err(e)
|
|
|
|
|
});
|
|
|
|
|
ui.run();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn fatal(s: &str) {
|
|
|
|
|
eprintln!("{}", s);
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn print_version() {
|
|
|
|
|
println!("\x1b[93;1mphetch v0.0.1-dev\x1b[m");
|
|
|
|
|
}
|
|
|
|
@ -71,7 +75,13 @@ fn print_usage() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn print_raw(url: &str) {
|
|
|
|
|
gopher::fetch_url(url)
|
|
|
|
|
let url = if url.starts_with("gopher://") {
|
|
|
|
|
url.to_string()
|
|
|
|
|
} else {
|
|
|
|
|
format!("gopher://{}", url)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
gopher::fetch_url(&url)
|
|
|
|
|
.and_then(|x| {
|
|
|
|
|
println!("{}", x);
|
|
|
|
|
Ok(())
|
|
|
|
|