2026-02-11
This commit is contained in:
@@ -97,6 +97,8 @@ cask "arq"
|
|||||||
cask "ghall89/tap/autodock"
|
cask "ghall89/tap/autodock"
|
||||||
cask "bbedit"
|
cask "bbedit"
|
||||||
cask "bettershot"
|
cask "bettershot"
|
||||||
|
cask "coderabbit"
|
||||||
|
cask "codex"
|
||||||
cask "contexts"
|
cask "contexts"
|
||||||
cask "cork"
|
cask "cork"
|
||||||
cask "daisydisk"
|
cask "daisydisk"
|
||||||
@@ -108,6 +110,7 @@ cask "equinox"
|
|||||||
cask "find-any-file"
|
cask "find-any-file"
|
||||||
cask "fork"
|
cask "fork"
|
||||||
cask "forklift"
|
cask "forklift"
|
||||||
|
cask "freetube"
|
||||||
cask "gb-studio"
|
cask "gb-studio"
|
||||||
cask "ghostty"
|
cask "ghostty"
|
||||||
cask "hazel"
|
cask "hazel"
|
||||||
@@ -148,6 +151,7 @@ cask "vscodium"
|
|||||||
cask "whatsapp"
|
cask "whatsapp"
|
||||||
cask "windowkeys"
|
cask "windowkeys"
|
||||||
cask "xscope"
|
cask "xscope"
|
||||||
|
cask "yattee"
|
||||||
cask "zen"
|
cask "zen"
|
||||||
cask "zoom"
|
cask "zoom"
|
||||||
mas "Actions", id: 1586435171
|
mas "Actions", id: 1586435171
|
||||||
@@ -172,8 +176,8 @@ mas "Folder Quick Look", id: 6753110395
|
|||||||
mas "Front and Center", id: 1493996622
|
mas "Front and Center", id: 1493996622
|
||||||
mas "Gifski", id: 1351639930
|
mas "Gifski", id: 1351639930
|
||||||
mas "HEIC Converter", id: 1294126402
|
mas "HEIC Converter", id: 1294126402
|
||||||
mas "Ice Cubes", id: 6444915884
|
|
||||||
mas "Interactful", id: 1528095640
|
mas "Interactful", id: 1528095640
|
||||||
|
mas "Ivory", id: 6444602274
|
||||||
mas "JSON Peep", id: 1458969831
|
mas "JSON Peep", id: 1458969831
|
||||||
mas "Key Codes", id: 414568915
|
mas "Key Codes", id: 414568915
|
||||||
mas "Keynote", id: 361285480
|
mas "Keynote", id: 361285480
|
||||||
|
|||||||
@@ -1,7 +1,68 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
git add -A
|
# Show modified + untracked files and let user pick (multi-select)
|
||||||
gitmoji commit
|
# Use NUL-safe listing then convert to newlines for gum
|
||||||
|
selected=$(git ls-files -m -o --exclude-standard -z | tr '\0' '\n' | gum choose --no-limit) || true
|
||||||
|
|
||||||
|
if [ -z "$selected" ]; then
|
||||||
|
echo "No files selected; aborting."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Stage each selected file (handle spaces/newlines safely)
|
||||||
|
while IFS= read -r file; do
|
||||||
|
# skip empty lines (defensive)
|
||||||
|
[ -n "$file" ] || continue
|
||||||
|
git add -- "$file"
|
||||||
|
done <<< "$selected"
|
||||||
|
|
||||||
|
# Helper to unstage only the files we added
|
||||||
|
unstage_added() {
|
||||||
|
if [ "${#added[@]}" -gt 0 ]; then
|
||||||
|
git reset -- "${added[@]}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# If nothing is staged, abort (don't commit or push)
|
||||||
|
if ! git diff --cached --name-only | grep -q .; then
|
||||||
|
echo "No files staged after selection; aborting."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Commit using gum for message/summary
|
||||||
|
# Prompt for a short summary (single-line)
|
||||||
|
SUMMARY="$(gum input --placeholder "Summary of this change" --value "")" || true
|
||||||
|
|
||||||
|
# If the user cancelled or left it empty, unstage and abort
|
||||||
|
if [ -z "$SUMMARY" ]; then
|
||||||
|
echo "No summary provided; aborting and unstaging changes."
|
||||||
|
unstage_added
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prompt for a longer description (multi-line)
|
||||||
|
DESCRIPTION="$(gum write --placeholder "Details of this change (optional)")" || true
|
||||||
|
|
||||||
|
# Confirm before committing
|
||||||
|
if ! gum confirm "Commit with summary: \"$SUMMARY\"?"; then
|
||||||
|
echo "Commit cancelled; unstaging changes."
|
||||||
|
unstage_added
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Perform the commit (description as second -m if present)
|
||||||
|
if [ -n "$DESCRIPTION" ]; then
|
||||||
|
git commit -m "$SUMMARY" -m "$DESCRIPTION"
|
||||||
|
else
|
||||||
|
git commit -m "$SUMMARY"
|
||||||
|
fi
|
||||||
|
|
||||||
BRANCH=$(git name-rev --name-only HEAD)
|
BRANCH=$(git name-rev --name-only HEAD)
|
||||||
gum confirm "Push?" && git push origin $BRANCH
|
|
||||||
|
# Only push if a remote named "origin" exists
|
||||||
|
if git config --get remote.origin.url >/dev/null 2>&1; then
|
||||||
|
git push origin "$BRANCH"
|
||||||
|
else
|
||||||
|
echo "No remote 'origin' found; skipping git push."
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user