From 81123b377f7d4fb187f1e374f1abf153a9e0ac58 Mon Sep 17 00:00:00 2001 From: Matthew Berryman Date: Mon, 10 Mar 2025 09:06:44 +1030 Subject: fixes #2603: support fish plugin in install script (#2604) * fix: support fish plugin in install script * fix sed command on Linux for fish plugin install * light touch refactor for consistent and clearer cross-platform support * start the final end at the beginning of the line * ignore leading whitespace in fish config --- install.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'install.sh') diff --git a/install.sh b/install.sh index a9babac1..35032fd3 100755 --- a/install.sh +++ b/install.sh @@ -53,6 +53,22 @@ if ! grep -q "atuin init bash" ~/.bashrc; then echo 'eval "$(atuin init bash)"' >> ~/.bashrc fi +if [ -f "$HOME/.config/fish/config.fish" ]; then + # Check if the line already exists to prevent duplicates + if ! grep -q "atuin init fish" "$HOME/.config/fish/config.fish"; then + # Detect BSD or GNU sed + if sed --version >/dev/null 2>&1; then + # GNU + sed -i '/if status is-interactive/,/end/ s/end$/ atuin init fish | source\ +end/' "$HOME/.config/fish/config.fish" + else + # BSD (macOS) + sed -i '' '/if status is-interactive/,/end/ s/end$/ atuin init fish | source\ +end/' "$HOME/.config/fish/config.fish" + fi + fi +fi + cat << EOF -- cgit v1.3.1