aboutsummaryrefslogtreecommitdiffstats
path: root/src/command/init.rs
diff options
context:
space:
mode:
authorc-14 <git@c-14.de>2022-09-25 12:15:33 +0200
committerGitHub <noreply@github.com>2022-09-25 11:15:33 +0100
commit045c87fbcd1cb8efe8bd3a41f55790b326ed6ee4 (patch)
tree6c50c7b388aafb719dca1acb90dd363790288a31 /src/command/init.rs
parentRelease v11 (#529) (diff)
downloadatuin-045c87fbcd1cb8efe8bd3a41f55790b326ed6ee4.zip
Allow stateless commands to be run without config/database (#544)
* Allow stateless commands to be run without config/database Fixes an issue where gen-completions fails trying to create a config directory in restrained build environments/distribution. * move non-db commands up to core subcommands * re-add lost lines * re-add lost lines Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
Diffstat (limited to 'src/command/init.rs')
-rw-r--r--src/command/init.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/command/init.rs b/src/command/init.rs
new file mode 100644
index 00000000..37453f93
--- /dev/null
+++ b/src/command/init.rs
@@ -0,0 +1,36 @@
+use clap::Parser;
+
+#[derive(Parser)]
+pub enum Cmd {
+ /// Zsh setup
+ Zsh,
+ /// Bash setup
+ Bash,
+ /// Fish setup
+ Fish,
+}
+
+fn init_zsh() {
+ let full = include_str!("../shell/atuin.zsh");
+ println!("{}", full);
+}
+
+fn init_bash() {
+ let full = include_str!("../shell/atuin.bash");
+ println!("{}", full);
+}
+
+fn init_fish() {
+ let full = include_str!("../shell/atuin.fish");
+ println!("{}", full);
+}
+
+impl Cmd {
+ pub fn run(&self) {
+ match self {
+ Self::Zsh => init_zsh(),
+ Self::Bash => init_bash(),
+ Self::Fish => init_fish(),
+ }
+ }
+}