diff options
Diffstat (limited to 'default-plugins/status-bar/src/tip/utils.rs')
-rw-r--r-- | default-plugins/status-bar/src/tip/utils.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/default-plugins/status-bar/src/tip/utils.rs b/default-plugins/status-bar/src/tip/utils.rs index 3dd4c5a8e..0d5d935c3 100644 --- a/default-plugins/status-bar/src/tip/utils.rs +++ b/default-plugins/status-bar/src/tip/utils.rs @@ -21,6 +21,14 @@ macro_rules! get_name_and_caching { }}; } +macro_rules! populate_cache { + ($cache:expr) => {{ + for tip_name in TIPS.keys() { + $cache.caching(tip_name.clone()).unwrap(); + } + }}; +} + pub fn get_random_tip_name() -> String { TIPS.keys() .choose(&mut rand::thread_rng()) @@ -38,13 +46,19 @@ pub fn get_cached_tip_name() -> String { } if local_cache.is_empty() { - get_name_and_caching!(local_cache); + populate_cache!(local_cache); + } + + let quicknav_show_count = local_cache.get_cached_data().get("quicknav").unwrap_or(&0); + eprintln!("quicknav_show_count: {:?}", quicknav_show_count); + if quicknav_show_count <= &MAX_CACHE_HITS { + let _ = local_cache.caching("quicknav"); + return String::from("quicknav"); } let usable_tips = local_cache .get_cached_data() .iter() - .filter(|(_, &v)| v < MAX_CACHE_HITS) .map(|(k, _)| k.to_string()) .collect::<Vec<String>>(); |