From 822593e77b106cdcde3b7e3f837d7fdf0b922ed4 Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Mon, 22 Apr 2024 17:37:07 +0100 Subject: fix(dotfiles): more fish alias import (#1974) Serves me right for assuming fish mostly is POSIX. --- crates/atuin-dotfiles/src/shell.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'crates') diff --git a/crates/atuin-dotfiles/src/shell.rs b/crates/atuin-dotfiles/src/shell.rs index fba0a27f..a5cb0b7a 100644 --- a/crates/atuin-dotfiles/src/shell.rs +++ b/crates/atuin-dotfiles/src/shell.rs @@ -40,7 +40,12 @@ pub fn parse_alias(line: &str) -> Option { let mut parts = parts.iter().map(|s| s.to_string()); let name = parts.next().unwrap().to_string(); - let remaining = parts.collect::>().join("=").to_string(); + + let remaining = if is_fish { + parts.collect::>().join(" ").to_string() + } else { + parts.collect::>().join("=").to_string() + }; Some(Alias { name, @@ -129,6 +134,16 @@ mod tests { let alias = super::parse_alias("alias foo bar").expect("failed to parse alias"); assert_eq!(alias.name, "foo"); assert_eq!(alias.value, "bar"); + + let alias = + super::parse_alias("alias x 'exa --icons --git --classify --group-directories-first'") + .expect("failed to parse alias"); + + assert_eq!(alias.name, "x"); + assert_eq!( + alias.value, + "'exa --icons --git --classify --group-directories-first'" + ); } #[test] -- cgit v1.3.1