1mod config;
8mod parsing;
10mod paths;
12mod resolve;
14mod settings;
16mod store;
18mod terminal_detect;
20mod terminal_query;
22mod types;
24
25pub use config::{
26 REPOS_SKELETON_CONTENT, ensure_settings_keys_present, ensure_theme_keys_present,
27 maybe_migrate_legacy_confs, save_app_start_mode, save_fuzzy_search, save_mirror_count,
28 save_news_filter_installed_only, save_news_filter_show_advisories,
29 save_news_filter_show_arch_news, save_news_filter_show_aur_comments,
30 save_news_filter_show_aur_updates, save_news_filter_show_pkg_updates,
31 save_news_filters_collapsed, save_news_max_age_days, save_results_filter_show_canonical,
32 save_scan_do_clamav, save_scan_do_custom, save_scan_do_semgrep, save_scan_do_shellcheck,
33 save_scan_do_sleuth, save_scan_do_trivy, save_scan_do_virustotal, save_selected_countries,
34 save_show_install_pane, save_show_keybinds_footer, save_show_recent_pane, save_sort_mode,
35 save_startup_news_configured, save_startup_news_max_age_days,
36 save_startup_news_show_advisories, save_startup_news_show_arch_news,
37 save_startup_news_show_aur_comments, save_startup_news_show_aur_updates,
38 save_startup_news_show_pkg_updates, save_virustotal_api_key,
39};
40pub use paths::{config_dir, lists_dir, logs_dir, resolve_repos_config_path};
41pub use settings::settings;
42pub use store::{reload_theme, theme};
43pub use types::{KeyChord, KeyMap, PackageMarker, Settings, Theme};
44
45#[cfg(test)]
46static TEST_MUTEX: std::sync::OnceLock<std::sync::Mutex<()>> = std::sync::OnceLock::new();
47
48#[cfg(test)]
49pub(crate) fn test_mutex() -> &'static std::sync::Mutex<()> {
61 TEST_MUTEX.get_or_init(|| std::sync::Mutex::new(()))
62}