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)
This commit is contained in:
2026-03-18 12:33:00 +02:00
parent 63b8314a5a
commit 146e57351e
5 changed files with 11 additions and 10 deletions

View File

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

View File

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

View File

@@ -35,5 +35,5 @@ install_libraries()
return 0
}
install_libraries
msgr yay "Python library installations complete"
install_libraries \
&& msgr yay "Python library installations complete"

View File

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

View File

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