aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src/settings.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-client/src/settings.rs')
-rw-r--r--crates/atuin-client/src/settings.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/crates/atuin-client/src/settings.rs b/crates/atuin-client/src/settings.rs
index 25c3bd65..5944de59 100644
--- a/crates/atuin-client/src/settings.rs
+++ b/crates/atuin-client/src/settings.rs
@@ -565,6 +565,13 @@ pub struct Search {
/// The overall frecency score multiplier for the search index (default: 1.0).
/// Applied after combining recency and frequency scores.
pub frecency_score_multiplier: f64,
+
+ /// Filter history by author. Special values:
+ /// - `$all-user`: any author that is NOT a known AI agent (default)
+ /// - `$all-agent`: any known AI agent author
+ /// - literal strings like "ellie", "claude-code"
+ #[serde(default = "Search::default_authors")]
+ pub authors: Vec<String>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
@@ -844,10 +851,17 @@ impl Default for Search {
recency_score_multiplier: 1.0,
frequency_score_multiplier: 1.0,
frecency_score_multiplier: 1.0,
+ authors: Self::default_authors(),
}
}
}
+impl Search {
+ fn default_authors() -> Vec<String> {
+ vec![crate::history::AUTHOR_FILTER_ALL_USER.to_string()]
+ }
+}
+
impl Default for Tmux {
fn default() -> Self {
Self {