soma_codemode/snippet/
index.rs1use 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}