From 9786e54eb869cbb09e146ecde8d1e3cb552ba087 Mon Sep 17 00:00:00 2001 From: PowerUser64 Date: Wed, 22 Jan 2025 11:40:10 -0800 Subject: [PATCH] upd: refactor, add nvim --- .config/shell/bin/upd | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.config/shell/bin/upd b/.config/shell/bin/upd index c53b91c..1a955d0 100755 --- a/.config/shell/bin/upd +++ b/.config/shell/bin/upd @@ -23,11 +23,31 @@ fi # Avoiding copy pasting this over and over g() { git -C "$REPO" "$@"; } +# path_append from https://superuser.com/questions/39751/add-directory-to-path-if-its-not-already-there +# checks if a path is already in the PATH and if it exists +path_append() { + if [ -d "$1" ]; then + # shellcheck disable=SC3010 + if command '[[' > /dev/null 2>&1 && [[ ":$REPOS_TO_UPDATE:" != *":$1:"* ]]; then + REPOS_TO_UPDATE="${REPOS_TO_UPDATE:+"$REPOS_TO_UPDATE:"}$1" + else + REPOS_TO_UPDATE="$REPOS_TO_UPDATE:$1" + fi + fi +} + # shellcheck disable=SC2016 REPO_ABBR='echo ${REPO/"$HOME"/"~"}' +path_append "${DOCS_DIR:-}" +path_append "$HOME/bin" +path_append "${NIXOS_DIR:-}" +path_append "$HOME/code/faust-ideas" +path_append "$HOME/code/nixvim-config" +path_append "$HOME/.config/nvim" + # `git pull` everything mentioned in the REPOS_TO_UPDATE variable -IFS=: read -ra REPOS_TO_UPDATE_ARR <<< "${REPOS_TO_UPDATE:-}:${DOCS_DIR:-}:$HOME/bin:${NIXOS_DIR:-}:$HOME/code/faust-ideas:$HOME/code/nixvim-config" +IFS=: read -ra REPOS_TO_UPDATE_ARR <<< "${REPOS_TO_UPDATE:-}" for REPO in "${REPOS_TO_UPDATE_ARR[@]}"; do if [ -n "$REPO" ]; then if g rev-parse > /dev/null 2>&1; then