Skip to main content

soma_codemode/snippet/
index.rs

1use std::collections::BTreeMap;
2
3use super::store::SnippetInfo;
4
5#[derive(Debug, Default, Clone)]
6pub struct SnippetIndex {
7    snippets: BTreeMap<String, SnippetInfo>,
8}
9
10impl SnippetIndex {
11    pub fn insert(&mut self, info: SnippetInfo) {
12        self.snippets.insert(info.name.clone(), info);
13    }
14
15    pub fn get(&self, name: &str) -> Option<&SnippetInfo> {
16        self.snippets.get(name)
17    }
18
19    pub fn list(&self) -> Vec<&SnippetInfo> {
20        self.snippets.values().collect()
21    }
22}