aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-config/src/shell
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--atuin-config/src/shell.rs10
-rw-r--r--atuin-config/src/shell/bash.rs12
-rw-r--r--atuin-config/src/shell/fish.rs12
-rw-r--r--atuin-config/src/shell/xonsh.rs12
-rw-r--r--atuin-config/src/shell/zsh.rs12
5 files changed, 58 insertions, 0 deletions
diff --git a/atuin-config/src/shell.rs b/atuin-config/src/shell.rs
new file mode 100644
index 00000000..a69a2d6b
--- /dev/null
+++ b/atuin-config/src/shell.rs
@@ -0,0 +1,10 @@
+pub mod bash;
+pub mod fish;
+pub mod xonsh;
+pub mod zsh;
+
+#[derive(Debug, Clone, PartialEq, Eq)]
+pub struct Alias {
+ pub name: String,
+ pub value: String,
+}
diff --git a/atuin-config/src/shell/bash.rs b/atuin-config/src/shell/bash.rs
new file mode 100644
index 00000000..c5bd87b2
--- /dev/null
+++ b/atuin-config/src/shell/bash.rs
@@ -0,0 +1,12 @@
+use super::Alias;
+
+// Configuration for bash
+pub fn build(aliases: &[Alias]) -> String {
+ let mut config = String::new();
+
+ for alias in aliases {
+ config.push_str(&format!("alias {}='{}'\n", alias.name, alias.value));
+ }
+
+ config
+}
diff --git a/atuin-config/src/shell/fish.rs b/atuin-config/src/shell/fish.rs
new file mode 100644
index 00000000..c6277f34
--- /dev/null
+++ b/atuin-config/src/shell/fish.rs
@@ -0,0 +1,12 @@
+use super::Alias;
+
+// Configuration for fish
+pub fn build(aliases: &[Alias]) -> String {
+ let mut config = String::new();
+
+ for alias in aliases {
+ config.push_str(&format!("alias {}='{}'\n", alias.name, alias.value));
+ }
+
+ config
+}
diff --git a/atuin-config/src/shell/xonsh.rs b/atuin-config/src/shell/xonsh.rs
new file mode 100644
index 00000000..8b61ff4c
--- /dev/null
+++ b/atuin-config/src/shell/xonsh.rs
@@ -0,0 +1,12 @@
+use super::Alias;
+
+// Configuration for xonsh
+pub fn build(aliases: &[Alias]) -> String {
+ let mut config = String::new();
+
+ for alias in aliases {
+ config.push_str(&format!("aliases['{}'] ='{}'\n", alias.name, alias.value));
+ }
+
+ config
+}
diff --git a/atuin-config/src/shell/zsh.rs b/atuin-config/src/shell/zsh.rs
new file mode 100644
index 00000000..6f81ed55
--- /dev/null
+++ b/atuin-config/src/shell/zsh.rs
@@ -0,0 +1,12 @@
+use super::Alias;
+
+// Configuration for zsh
+pub fn build(aliases: &[Alias]) -> String {
+ let mut config = String::new();
+
+ for alias in aliases {
+ config.push_str(&format!("alias {}='{}'\n", alias.name, alias.value));
+ }
+
+ config
+}