From 146e57351e7c6d61e45965a1494c95835026141d Mon Sep 17 00:00:00 2001 From: Ismo Vuorinen Date: Wed, 18 Mar 2026 12:33:00 +0200 Subject: [PATCH] fix: guard success messages on command exit status - Source x-path instead of capturing empty stdout via command substitution - Validate --dry-run argument in cleanup script, reject unknown flags - Gate success messages on preceding command's exit status with && - Applies to dfm (fmt, reset_nvim, shfmt) and install scripts (fonts, gh-extensions, python-packages, shellspec, z) --- scripts/install-fonts.sh | 5 +++-- scripts/install-gh-extensions.sh | 4 ++-- scripts/install-python-packages.sh | 4 ++-- scripts/install-shellspec.sh | 4 ++-- scripts/install-z.sh | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/scripts/install-fonts.sh b/scripts/install-fonts.sh index 712faf3..efe2fcb 100755 --- a/scripts/install-fonts.sh +++ b/scripts/install-fonts.sh @@ -51,8 +51,9 @@ install_fonts() { msgr run "Starting to install NerdFonts..." # shellcheck disable=SC2048,SC2086 - ./install.sh -q -s ${fonts[*]} - msgr run_done "Done" + # shellcheck disable=SC2086 + ./install.sh -q -s ${fonts[*]} \ + && msgr run_done "Done" return 0 } diff --git a/scripts/install-gh-extensions.sh b/scripts/install-gh-extensions.sh index a7d7020..9a48c12 100755 --- a/scripts/install-gh-extensions.sh +++ b/scripts/install-gh-extensions.sh @@ -51,8 +51,8 @@ install_extensions() # Install all GitHub CLI extensions main() { - install_extensions - msgr run_done "Done" + install_extensions \ + && msgr run_done "Done" return 0 } diff --git a/scripts/install-python-packages.sh b/scripts/install-python-packages.sh index 993ee87..ef27249 100755 --- a/scripts/install-python-packages.sh +++ b/scripts/install-python-packages.sh @@ -35,5 +35,5 @@ install_libraries() return 0 } -install_libraries -msgr yay "Python library installations complete" +install_libraries \ + && msgr yay "Python library installations complete" diff --git a/scripts/install-shellspec.sh b/scripts/install-shellspec.sh index 7f3501e..6448859 100755 --- a/scripts/install-shellspec.sh +++ b/scripts/install-shellspec.sh @@ -23,8 +23,8 @@ install_shellspec() fi msgr run "Running make install..." - make -C "$SHELLSPEC_CACHE" install PREFIX="$HOME/.local" - msgr run_done "shellspec $version installed to $HOME/.local/bin/shellspec" + make -C "$SHELLSPEC_CACHE" install PREFIX="$HOME/.local" \ + && msgr run_done "shellspec $version installed to $HOME/.local/bin/shellspec" return 0 } diff --git a/scripts/install-z.sh b/scripts/install-z.sh index b40e7e9..cdd315b 100755 --- a/scripts/install-z.sh +++ b/scripts/install-z.sh @@ -15,8 +15,8 @@ clone_z_repo() local bin_path=$2 if [[ ! -d "$bin_path" ]]; then - git clone "$git_path" "$bin_path" - msgr run_done "z installed at $bin_path" + git clone "$git_path" "$bin_path" \ + && msgr run_done "z installed at $bin_path" else msgr ok "z ($bin_path/) already installed" fi