aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-09-16 10:16:53 -0300
committerEuAndreh <eu@euandre.org>2023-09-16 10:16:53 -0300
commit1c143f71511ffb4a61cf072542a9a724d68b7760 (patch)
tree7538dc6dfd0a2399036993a7081a6bbf49e9ee45
parentbin/getip: Add matching parenthesis to case clauses (diff)
downloaddotfiles-1c143f71511ffb4a61cf072542a9a724d68b7760.tar.gz
dotfiles-1c143f71511ffb4a61cf072542a9a724d68b7760.tar.xz
bin/loc: Add working utility
-rwxr-xr-xbin/loc63
1 files changed, 63 insertions, 0 deletions
diff --git a/bin/loc b/bin/loc
new file mode 100755
index 0000000..acf0c7a
--- /dev/null
+++ b/bin/loc
@@ -0,0 +1,63 @@
+#!/bin/sh
+set -eu
+
+usage() {
+ cat <<-'EOF'
+ Usage:
+ loc
+ loc -h
+ EOF
+}
+
+help() {
+ cat <<-'EOF'
+
+
+ Options:
+ -h, --help show this help
+
+
+ Count the lines of code in the current repository.
+
+
+ Examples:
+
+ Just run it:
+
+ $ loc
+ 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))
+
+
+cloc --vcs="$(vcs -t)" .