summaryrefslogtreecommitdiffstats
path: root/atuin-client/src/settings.rs
diff options
context:
space:
mode:
Diffstat (limited to 'atuin-client/src/settings.rs')
-rw-r--r--atuin-client/src/settings.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/atuin-client/src/settings.rs b/atuin-client/src/settings.rs
index 4ea4be84..7ccbaf32 100644
--- a/atuin-client/src/settings.rs
+++ b/atuin-client/src/settings.rs
@@ -10,6 +10,15 @@ use parse_duration::parse;
pub const HISTORY_PAGE_SIZE: i64 = 100;
+#[derive(Clone, Debug, Deserialize, Copy)]
+pub enum SearchMode {
+ #[serde(rename = "prefix")]
+ Prefix,
+
+ #[serde(rename = "fulltext")]
+ FullText,
+}
+
#[derive(Clone, Debug, Deserialize)]
pub struct Settings {
pub dialect: String,
@@ -19,6 +28,7 @@ pub struct Settings {
pub db_path: String,
pub key_path: String,
pub session_path: String,
+ pub search_mode: SearchMode,
// This is automatically loaded when settings is created. Do not set in
// config! Keep secrets and settings apart.
@@ -100,6 +110,7 @@ impl Settings {
s.set_default("auto_sync", true)?;
s.set_default("sync_frequency", "1h")?;
s.set_default("sync_address", "https://api.atuin.sh")?;
+ s.set_default("search_mode", "prefix")?;
if config_file.exists() {
s.merge(ConfigFile::with_name(config_file.to_str().unwrap()))?;