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
This commit is contained in:
Matthew Berryman 2025-03-10 09:06:44 +10:30 committed by GitHub
parent b9385d8059
commit 81123b377f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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