aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-12-08 18:27:09 -0300
committerEuAndreh <eu@euandre.org>2023-12-08 18:27:09 -0300
commit3ab4e41230d8e3ff64e5cb3054c5185945615dd6 (patch)
treeb9131a3dcbb22b5eb159173e32691e5d2542d271 /bin
parentetc/guix/home.scm: Fix imports (diff)
downloaddotfiles-3ab4e41230d8e3ff64e5cb3054c5185945615dd6.tar.gz
dotfiles-3ab4e41230d8e3ff64e5cb3054c5185945615dd6.tar.xz
etc/sh/rc: Replace "clean" alias with clean(1) utility
Diffstat (limited to 'bin')
-rwxr-xr-xbin/clean70
-rwxr-xr-xbin/vcs4
2 files changed, 74 insertions, 0 deletions
diff --git a/bin/clean b/bin/clean
new file mode 100755
index 0000000..889af8d
--- /dev/null
+++ b/bin/clean
@@ -0,0 +1,70 @@
+#!/bin/sh
+set -eu
+
+
+usage() {
+ cat <<-'EOF'
+ Usage:
+ clean
+ clean -h
+ EOF
+}
+
+help() {
+ cat <<-'EOF'
+
+
+ Options:
+ -h, --help show this message
+
+
+ Clean the project and list the leftover files.
+
+
+ Examples:
+
+ Just run it:
+
+ $ clean
+ EOF
+}
+
+
+for flag in "$@"; do
+ case "$flag" in
+ (--)
+ break
+ ;;
+ (--help)
+ usage
+ help
+ exit
+ ;;
+ (*)
+ ;;
+ esac
+done
+
+while getopts 'h' flag; do
+ case "$flag" in
+ (h)
+ usage
+ help
+ exit
+ ;;
+ (*)
+ usage >&2
+ exit 2
+ esac
+done
+shift $((OPTIND - 1))
+
+
+if [ -e dev.mk ]; then
+ F='Makefile'
+else
+ F='dev.mk'
+fi
+
+make -sf"$F" clean
+vcs clean
diff --git a/bin/vcs b/bin/vcs
index 7c9bce6..b51cf33 100755
--- a/bin/vcs
+++ b/bin/vcs
@@ -165,6 +165,10 @@ git_ls() {
git ls-files
}
+git_clean() {
+ git clean -nffdx
+}
+
usage() {
cat <<-'EOF'