summaryrefslogtreecommitdiffstats
path: root/tools/find-tabs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/find-tabs.sh')
-rwxr-xr-xtools/find-tabs.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/find-tabs.sh b/tools/find-tabs.sh
new file mode 100755
index 0000000..6cea339
--- /dev/null
+++ b/tools/find-tabs.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+set -eu
+
+TOP="$(git rev-parse --show-toplevel)"
+
+case "${1:-}" in
+ recdiff)
+ if [ "${2:-}" = "" ] ; then
+ DIR="$TOP"
+ else
+ DIR="$2"
+ fi
+
+ find "$DIR" -type f \( -name '*.[ch]' -o -name '*.xml' \) -exec "$0" diff \{\} \;
+ ;;
+
+ recpatch)
+ if [ "${2:-}" = "" ] ; then
+ DIR="$TOP"
+ else
+ DIR="$2"
+ fi
+
+ find "$DIR" -type f \( -name '*.[ch]' -o -name '*.xml' \) -exec "$0" patch \{\} \;
+ ;;
+
+ diff)
+ T="$(mktemp)"
+ sed 's/\t/ /g' <"${2:?}" >"$T"
+ diff -u "$2" "$T"
+ rm -f "$T"
+ ;;
+
+ patch)
+ sed -i 's/\t/ /g' "${2:?}"
+ ;;
+
+ *)
+ echo "Expected recdiff|recpatch|diff|patch as verb." >&2
+ ;;
+esac