diff options
| author | Ellie Huxtable <ellie@elliehuxtable.com> | 2024-04-22 17:37:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-22 17:37:07 +0100 |
| commit | 822593e77b106cdcde3b7e3f837d7fdf0b922ed4 (patch) | |
| tree | 750f3b95dac819375d9c5e41c101e3f442e11ffe /crates | |
| parent | docs: fix "From source" `cd` command (#1973) (diff) | |
| download | atuin-822593e77b106cdcde3b7e3f837d7fdf0b922ed4.zip | |
fix(dotfiles): more fish alias import (#1974)
Serves me right for assuming fish mostly is POSIX.
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/atuin-dotfiles/src/shell.rs | 17 |
1 files changed, 16 insertions, 1 deletions
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<Alias> { let mut parts = parts.iter().map(|s| s.to_string()); let name = parts.next().unwrap().to_string(); - let remaining = parts.collect::<Vec<String>>().join("=").to_string(); + + let remaining = if is_fish { + parts.collect::<Vec<String>>().join(" ").to_string() + } else { + parts.collect::<Vec<String>>().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] |
