summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2018-11-04 19:50:48 -0500
committerJesse Luehrs <doy@tozt.net>2018-11-04 19:50:48 -0500
commit8c0eddee79183434320409039bf6921289fad1e6 (patch)
tree27de4891b6775c36dc3ea43fe6a705d23a6ebfb8 /src
parent85053502b15b6587f956c81d416afd2fa38bfeab (diff)
downloadopen-link-8c0eddee79183434320409039bf6921289fad1e6.tar.gz
open-link-8c0eddee79183434320409039bf6921289fad1e6.zip
initial implementation
Diffstat (limited to 'src')
-rw-r--r--src/main.rs21
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();
+ }
+}