diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-11-04 19:50:48 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-11-04 19:50:48 -0500 |
commit | 8c0eddee79183434320409039bf6921289fad1e6 (patch) | |
tree | 27de4891b6775c36dc3ea43fe6a705d23a6ebfb8 /src | |
parent | 85053502b15b6587f956c81d416afd2fa38bfeab (diff) | |
download | open-link-8c0eddee79183434320409039bf6921289fad1e6.tar.gz open-link-8c0eddee79183434320409039bf6921289fad1e6.zip |
initial implementation
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..6d5cc60 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,21 @@ +extern crate linkify; +extern crate open; + +use std::io::prelude::*; + +fn read_stdin() -> String { + let mut input = String::new(); + let stdin = std::io::stdin(); + let mut stdin_handle = stdin.lock(); + stdin_handle.read_to_string(&mut input).unwrap(); + return input; +} + +fn main() { + let input = read_stdin(); + let finder = linkify::LinkFinder::new(); + let links: Vec<_> = finder.links(&input).map(|l| l.as_str()).collect(); + if links.len() > 0 { + open::that(links[links.len() - 1]).unwrap(); + } +} |