summaryrefslogtreecommitdiffstats
path: root/src/main.rs
blob: 6d5cc606f9985cb6897e3b3592cd246739d9ca1e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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();
    }
}