MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / bump_frecency

Method bump_frecency

crates/opencode-tui/src/components/prompt.rs:705–725  ·  view source on GitHub ↗
(&mut self, key: &str)

Source from the content-addressed store, hash-verified

703 }
704
705 fn bump_frecency(&mut self, key: &str) {
706 let key = key.trim();
707 if key.is_empty() {
708 return;
709 }
710 let now = chrono::Utc::now().timestamp_millis();
711 let entry = self.frecency.entry(key.to_string()).or_default();
712 entry.frequency = entry.frequency.saturating_add(1);
713 entry.last_used = now;
714
715 if self.frecency.len() > MAX_FRECENCY_ENTRIES {
716 let mut items = self.frecency.iter().collect::<Vec<_>>();
717 items.sort_by(|(_, a), (_, b)| b.last_used.cmp(&a.last_used));
718 let keep = items
719 .into_iter()
720 .take(MAX_FRECENCY_ENTRIES)
721 .map(|(k, v)| (k.clone(), v.clone()))
722 .collect::<HashMap<_, _>>();
723 self.frecency = keep;
724 }
725 }
726
727 fn frecency_score(&self, key: &str) -> f64 {
728 let Some(entry) = self.frecency.get(key) else {

Callers 1

take_inputMethod · 0.80

Calls 2

is_emptyMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected