_lslocks_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-p'|'--pid')
			local PIDS
			# /proc/locks can have 8 to 9 fields, see commit
			# 55c0d16bab8cc84b72bf11cb2fdd8aa6205ac608
			PIDS="$(awk '{print $(NF-3)}' /proc/locks)"
			COMPREPLY=( $(compgen -W "$PIDS" -- $cur) )
			return 0
			;;
		'-o'|'--output')
			local prefix realcur OUTPUT_ALL OUTPUT
			realcur="${cur##*,}"
			prefix="${cur%$realcur}"
			OUTPUT_ALL="COMMAND PID TYPE SIZE MODE M START END PATH BLOCKER"
			for WORD in $OUTPUT_ALL; do
				if ! [[ $prefix == *"$WORD"* ]]; then
					OUTPUT="$WORD ${OUTPUT:-""}"
				fi
			done
			compopt -o nospace
			COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- $realcur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	OPTS="
		--json
		--noinaccessible
		--noheadings
		--output
		--output-all
		--pid
		--raw
		--notruncate
		--help
		--version
	"
	COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
	return 0

}
complete -F _lslocks_module lslocks
