labwc/scripts/check

47 lines
855 B
Text
Raw Normal View History

#!/bin/sh
file=
usage_message="Usage: check [OPTIONS]
OPTIONS:
--file=<filename> Specify file to check. If none specified, all
files in src/ and include/ will be checked.
"
run_checkpatch() {
nice scripts/checkpatch.pl --terse --no-tree --strict --file "$1"
return $?
}
run_checks () {
if [ ! -z "$file" ]; then
run_checkpatch "${file}"
return $?
fi
Add labnag Based on swaynag (https://github.com/swaywm/sway/tree/master/swaynag) Copied at commit: https://github.com/swaywm/sway/commit/03483ff3707a358d935e451d39748e58c205ce8a Contains the following modifiations: - Some functional changes including: - Disable exclusive-zone by default (Written-by: @Consolatis) and add command line option -x|--exclusive-zone - Add close timeout (Written-by: @Consolatis) and -t|--timeout option - Use index of button (from right-to-left) for exit code - Disable reading from config file and remove associated --type option - Refactoring including: - Use wlr_log() instead of the log.{c,h} functions - Use wl_list instead of sway's list.c implementation - In the pango wrapper functions, use glib's g_strdup_vprintf() rather than the original stringop.c functions - Align with labwc coding style to pass checkpatch.pl - Re-licenced from MIT to GPL-2.0, and add Copyright notices for original authors v2 - Remove option -s|--dismiss-button and the default "X" button. To get such a button, "-Z X :" - Remove options -b and -z because there is no requirement to run in a terminal. - Remove *-no-terminal from options --button and --button-dismiss because commands are now always run directly without a terminal. v3 - Allow -B/-Z options without action-argument - Invert button order of -B/-Z so that `labnag -m foo -Z x -Z y -Z z` results in three buttons with "x" furthest to the left, and "z" on the right (rather than the other way around). - Use signalfd() to prevent race conditions on SIGTERM v4 - Limit number of stdin lines to 200 to avoid hogging CPU Co-Authored-by: tokyo4j
2025-04-28 20:38:19 +01:00
find src/ include/ clients/ \( -name "*.c" -o -name "*.h" \) -type f -print0 |
nice xargs -0 --max-args 1 --max-procs $(nproc) \
scripts/checkpatch.pl --terse --no-tree --strict --file
return $?
}
main () {
for arg
do
opt=${arg%%=*}
var=${arg#*=}
case "$opt" in
--file)
file="$var" ;;
-h|--help)
printf '%b' "$usage_message"; exit 1 ;;
*)
printf '%b\n' "warn: unknown option $opt" >&2 ;;
esac
done
run_checks
}
main "$@"