summaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-10-24 19:28:16 +0800
committerGitHub <noreply@github.com>2023-10-24 19:28:16 +0800
commitf4160ff85b61e41a599e85f82d266878d35de47d (patch)
tree4fc6ac7ef1b3df63ed306b0aec26109776ab0947 /src/config
parentb5e1460151451e124f5e80e0dbe670fff83899c0 (diff)
downloadaichat-f4160ff85b61e41a599e85f82d266878d35de47d.tar.gz
feat: suppport vi keybindings (#148)
Diffstat (limited to 'src/config')
-rw-r--r--src/config/mod.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index f29ece7..3fc3f5b 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -74,6 +74,8 @@ pub struct Config {
pub connect_timeout: usize,
/// Automatically copy the last output to the clipboard
pub auto_copy: bool,
+ /// Use vi keybindings, overriding the default Emacs keybindings
+ pub vi_keybindings: bool,
/// Predefined roles
#[serde(skip)]
pub roles: Vec<Role>,
@@ -102,6 +104,7 @@ impl Default for Config {
light_theme: false,
connect_timeout: 10,
auto_copy: false,
+ vi_keybindings: false,
roles: vec![],
role: None,
conversation: None,
@@ -353,6 +356,7 @@ impl Config {
("light_theme", self.light_theme.to_string()),
("connect_timeout", self.connect_timeout.to_string()),
("dry_run", self.dry_run.to_string()),
+ ("vi_keybindings", self.vi_keybindings.to_string()),
];
let mut output = String::new();
for (name, value) in items {