fix(qmlfmt): Add compatibility for qmlformat command

- Modifies Bin/dev/qmlfmt.sh to check for both 'qmlfmt' and 'qmlformat' executables.
- Uses 'qmlfmt' with its original arguments if found.
- If 'qmlfmt' is not found, uses 'qmlformat' with arguments for 2-space indentation and essential semicolons.
- Exits with an error if neither command is available.
- This makes the QML formatting pre-commit hook more robust.
This commit is contained in:
mochou
2025-11-15 17:17:03 +08:00
parent 6da74a800f
commit b692275c31
+11 -2
View File
@@ -5,9 +5,18 @@ set -euo pipefail
# Uses: https://github.com/jesperhh/qmlfmt
# Install: AUR package "qmlfmt-git" (requires qt6-5compat)
command -v qmlfmt &>/dev/null || { echo "qmlfmt not found" >&2; exit 1; }
# Find the available QML formatter command and define format_file accordingly
if command -v qmlfmt &>/dev/null; then
echo "Using 'qmlfmt' for formatting."
format_file() { qmlfmt -e -b 360 -t 2 -i 2 -w "$1" || { echo "Failed: $1" >&2; return 1; }; }
elif command -v qmlformat &>/dev/null; then
echo "Using 'qmlformat' for formatting."
format_file() { qmlformat -i --indent-width 2 --semicolon-rule essential "$1" || { echo "Failed: $1" >&2; return 1; }; }
else
echo "Neither 'qmlfmt' nor 'qmlformat' found in PATH." >&2
exit 1
fi
format_file() { qmlfmt -e -b 360 -t 2 -i 2 -w "$1" || { echo "Failed: $1" >&2; return 1; }; }
export -f format_file
# Find all .qml files