open http links in web browser now :D
This commit is contained in:
parent
d55d70ec45
commit
1b8614b956
@ -8,3 +8,4 @@ colored = "2.2.0"
|
||||
regex = "1.11.1"
|
||||
url = "2.5.4"
|
||||
termion = "4.0.3"
|
||||
open = "5.3.2"
|
||||
|
53
src/main.rs
53
src/main.rs
@ -212,11 +212,9 @@ fn parse_url(user_input: String, previous_host: &String) -> Result<Url, u8> {
|
||||
|
||||
let mttp_regex = Regex::new(r"^mttp:\/\/(.*?)\/(.*?)$").unwrap(); // mttp://example.com/index.md
|
||||
let mttp_regex_no_path = Regex::new(r"^mttp:\/\/(.*?)$").unwrap(); // mttp://example.com
|
||||
let accept_this_as_mttp = Regex::new(r"^(.*?)\.(.*?)$").unwrap(); // example.com
|
||||
let no_protocol_but_path = Regex::new(r"^(.*?)/(.*?)$").unwrap(); // example.com/index.md
|
||||
//let accept_this_as_mttp = Regex::new(r"^(.*?)\.(.*?)$").unwrap(); // example.com
|
||||
//let no_protocol_but_path = Regex::new(r"^(.*?)/(.*?)$").unwrap(); // example.com/index.md
|
||||
let path_change = Regex::new(r"^/(.*?)$").unwrap(); // /index.md
|
||||
let http_regex = Regex::new(r"^http:\/\/(.*?)\/(.*?)$").unwrap(); // http://example.com/index.md
|
||||
let http_regex_no_path = Regex::new(r"^http:\/\/(.*?)$").unwrap(); // http://example.com
|
||||
|
||||
if let Some(caps) = mttp_regex.captures(&user_input) {
|
||||
url.hostname = caps[1].to_string();
|
||||
@ -239,35 +237,22 @@ fn parse_url(user_input: String, previous_host: &String) -> Result<Url, u8> {
|
||||
url.protocol = "mttp".to_string();
|
||||
Ok(url)
|
||||
}
|
||||
else if let Some(caps) = no_protocol_but_path.captures(&user_input) {
|
||||
url.hostname = caps[1].to_string();
|
||||
url.port = 3477;
|
||||
url.path = caps[2].to_string();
|
||||
url.protocol = "mttp".to_string();
|
||||
Ok(url)
|
||||
}
|
||||
else if let Some(caps) = http_regex.captures(&user_input) {
|
||||
url.hostname = caps[1].to_string();
|
||||
url.port = 80;
|
||||
url.path = caps[2].to_string();
|
||||
url.protocol = "http".to_string();
|
||||
Ok(url)
|
||||
}
|
||||
else if let Some(caps) = http_regex_no_path.captures(&user_input) {
|
||||
url.hostname = caps[1].to_string();
|
||||
url.port = 80;
|
||||
url.path = "/".to_string();
|
||||
url.protocol = "http".to_string();
|
||||
Ok(url)
|
||||
}
|
||||
else if let Some(caps) = accept_this_as_mttp.captures(&user_input) {
|
||||
url.hostname = format!("{}{}{}",caps[1].to_string(),".",caps[2].to_string());
|
||||
url.port = 3477;
|
||||
url.path = "/".to_string();
|
||||
url.protocol = "mttp".to_string();
|
||||
Ok(url)
|
||||
}
|
||||
//else if let Some(caps) = no_protocol_but_path.captures(&user_input) {
|
||||
// url.hostname = caps[1].to_string();
|
||||
//url.port = 3477;
|
||||
//url.path = caps[2].to_string();
|
||||
//url.protocol = "mttp".to_string();
|
||||
//Ok(url)
|
||||
//}
|
||||
//else if let Some(caps) = accept_this_as_mttp.captures(&user_input) {
|
||||
// url.hostname = format!("{}{}{}",caps[1].to_string(),".",caps[2].to_string());
|
||||
//url.port = 3477;
|
||||
// url.path = "/".to_string();
|
||||
// url.protocol = "mttp".to_string();
|
||||
//Ok(url)
|
||||
//}
|
||||
else {
|
||||
open::that(user_input); // Fallback to open it in the web browser
|
||||
Err(1)
|
||||
}
|
||||
}
|
||||
@ -361,7 +346,7 @@ fn main() {
|
||||
load_page = true;
|
||||
}
|
||||
else {
|
||||
println!("Invalid url");
|
||||
println!("Invalid url\nAttempting to open url in web browser");
|
||||
}
|
||||
} else {
|
||||
println!("Invalid reference id");
|
||||
@ -377,7 +362,7 @@ fn main() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
println!("Invalid url");
|
||||
println!("Invalid mttp url, try mttp:// at the start of your input.");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user