summaryrefslogtreecommitdiffstats
path: root/src/skim.rs
blob: b159c4daf51e69723880516072bbccf46fd98661 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use skim::prelude::*;
use tuikit::term::Term;

#[derive()]
pub struct Skimer {
    term: Arc<Term>,
}

impl Skimer {
    pub fn new(term: Arc<Term>) -> Self {
        Self { term }
    }

    pub fn no_source(self, path_str: String) -> Vec<Arc<dyn SkimItem>> {
        Skim::new_from_term(self.term)
            .run_internal(None, path_str)
            .map(|out| out.selected_items)
            .unwrap_or_else(Vec::new)
    }
}