summaryrefslogtreecommitdiff
path: root/scripts/format
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/format')
-rwxr-xr-xscripts/format43
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/format b/scripts/format
new file mode 100755
index 0000000..42f7e99
--- /dev/null
+++ b/scripts/format
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# Copyright (C) 2024 Johnny Richard <johnny@johnnyrichard.com>
+#
+# SPDX-License-Identifier: LGPL-3.0-or-later
+#
+# This file is part of obe.
+#
+# obe is free software: you can redistribute it and/or modify it under the
+# terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option) any
+# later version.
+#
+# obe is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with obe. If not, see <https://www.gnu.org/licenses/>.
+
+opt_fix=0
+
+while getopts 'f' opt
+do
+ case "$opt" in
+ f)
+ opt_fix=1
+ ;;
+ esac
+done
+
+shift $((OPTIND - 1))
+
+
+if test "$opt_fix" -eq 1
+then
+ clang_format_flags="-i"
+else
+ clang_format_flags="--dry-run -Werror"
+fi
+
+find . -type f -name '*.c' -o -name '*.h' | xargs -L1 clang-format $clang_format_flags