summary refs log tree commit diff
path: root/contrib/ngindent.sh
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2019-12-07 01:41:39 +0100
committerAlexander Barton <alex@barton.de>2019-12-07 01:41:39 +0100
commitb03fcaab5aaa07d943561dca6948358f9dc51d4c (patch)
treed286619057e90777d5f2742db172507fd94b1016 /contrib/ngindent.sh
parent70eb1ee57da9cd0d09d94c05e52308ec2e5ba45b (diff)
downloadngircd-b03fcaab5aaa07d943561dca6948358f9dc51d4c.tar.gz
ngircd-b03fcaab5aaa07d943561dca6948358f9dc51d4c.zip
contrib/ngindent.sh: Enhance and rename script
Add more GNU indent options for better results, and add the ".sh" suffix
to bring this script in line with the others in the contrib/ folder.
Diffstat (limited to 'contrib/ngindent.sh')
-rwxr-xr-xcontrib/ngindent.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/contrib/ngindent.sh b/contrib/ngindent.sh
new file mode 100755
index 00000000..57cbf81e
--- /dev/null
+++ b/contrib/ngindent.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# ngIRCd -- The Next Generation IRC Daemon
+# Copyright (c)2001-2019 Alexander Barton (alex@barton.de) and Contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
+#
+# This script uses GNU indent(1) to format C source code files of ngIRCd.
+# Usage:
+#  - ./contrib/ngindent.sh [<file> [<file> [...]]]
+#  - cat ./src/ngircd/<c_file> | ./contrib/ngindent.sh
+
+# Use a coding-style based on "Kernighan & Ritchie" (-kr):
+INDENTARGS="-kr
+	-bad
+	-c3
+	-cd41
+	-i8
+	-l80
+	-ncs
+	-psl
+	-sob
+	-ss
+	-ts8
+	-blf
+	-il0
+"
+
+# check if indent(1) is available
+command -v indent >/dev/null 2>&1 && INDENT="indent"
+command -v gindent >/dev/null 2>&1 && INDENT="gindent"
+command -v gnuindent >/dev/null 2>&1 && INDENT="gnuindent"
+
+if [ -z "$INDENT" ]; then
+	echo "Error: GNU \"indent\" not found!"
+	exit 1
+fi
+
+# shellcheck disable=SC2086
+$INDENT -v $INDENTARGS "$@"
+
+# -eof-