aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-client
diff options
context:
space:
mode:
Diffstat (limited to 'atuin-client')
-rw-r--r--atuin-client/Cargo.toml1
-rw-r--r--atuin-client/config.toml10
-rw-r--r--atuin-client/src/settings.rs4
3 files changed, 15 insertions, 0 deletions
diff --git a/atuin-client/Cargo.toml b/atuin-client/Cargo.toml
index 5bbd6235..c0b9c156 100644
--- a/atuin-client/Cargo.toml
+++ b/atuin-client/Cargo.toml
@@ -47,6 +47,7 @@ sqlx = { version = "0.6", features = [
] }
minspan = "0.1.1"
regex = "1.5.4"
+serde_regex = "1.1.0"
fs-err = "2.9"
sql-builder = "3"
lazy_static = "1"
diff --git a/atuin-client/config.toml b/atuin-client/config.toml
index bcaa039f..0c9b4ede 100644
--- a/atuin-client/config.toml
+++ b/atuin-client/config.toml
@@ -37,3 +37,13 @@
## what to do when the escape key is pressed when searching
## possible values: return-original, return-query
# exit_mode = "return-original"
+
+## prevent commands matching any of these regexes from being written to history.
+## Note that these regular expressions are unanchored, i.e. if they don't start
+## with ^ or end with $, they'll match anywhere in the command.
+## For details on the supported regular expression syntax, see
+## https://docs.rs/regex/latest/regex/#syntax
+# history_filter = [
+# "^secret-cmd",
+# "^innocuous-cmd .*--secret=.+"
+# ] \ No newline at end of file
diff --git a/atuin-client/src/settings.rs b/atuin-client/src/settings.rs
index 3cefe1cb..2975edba 100644
--- a/atuin-client/src/settings.rs
+++ b/atuin-client/src/settings.rs
@@ -9,6 +9,7 @@ use config::{Config, Environment, File as ConfigFile, FileFormat};
use eyre::{eyre, Context, Result};
use fs_err::{create_dir_all, File};
use parse_duration::parse;
+use regex::RegexSet;
use semver::Version;
use serde::Deserialize;
@@ -112,6 +113,9 @@ pub struct Settings {
pub filter_mode_shell_up_key_binding: FilterMode,
pub shell_up_key_binding: bool,
pub exit_mode: ExitMode,
+ #[serde(with = "serde_regex", default = "RegexSet::empty")]
+ pub history_filter: RegexSet,
+
// This is automatically loaded when settings is created. Do not set in
// config! Keep secrets and settings apart.
pub session_token: String,