| _losetup_module() | 
 | { | 
 | 	local cur prev OPTS ARG | 
 | 	COMPREPLY=() | 
 | 	cur="${COMP_WORDS[COMP_CWORD]}" | 
 | 	prev="${COMP_WORDS[COMP_CWORD-1]}" | 
 | 	case $prev in | 
 | 		'-d'|'--detach') | 
 | 			ARG="$($1 --output NAME | awk '{if (1 < NR) {print}}')" | 
 | 			COMPREPLY=( $(compgen -W "$ARG" -- $cur) ) | 
 | 			return 0 | 
 | 			;; | 
 | 		'-j'|'--associated') | 
 | 			ARG="$($1 --output BACK-FILE | awk '{if (1 < NR) {print}}')" | 
 | 			COMPREPLY=( $(compgen -W "$ARG" -- $cur) ) | 
 | 			return 0 | 
 | 			;; | 
 | 		'-c'|'--set-capacity') | 
 | 			ARG="$(for I in /dev/loop[0-9]*; do if [ -e $I ]; then echo $I; fi; done)" | 
 | 			COMPREPLY=( $(compgen -W "$ARG" -- $cur) ) | 
 | 			return 0 | 
 | 			;; | 
 | 		'-o'|'--offset'|'--sizelimit') | 
 | 			COMPREPLY=( $(compgen -W "number" -- $cur) ) | 
 | 			return 0 | 
 | 			;; | 
 | 		'-O'|'--output') | 
 | 			# FIXME: how to append to a string with compgen? | 
 | 			local OUTPUT | 
 | 			OUTPUT="NAME AUTOCLEAR BACK-FILE BACK-INO | 
 | 				BACK-MAJ:MIN MAJ:MIN OFFSET PARTSCAN RO | 
 | 				SIZELIMIT" | 
 | 			compopt -o nospace | 
 | 			COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) ) | 
 | 			return 0 | 
 | 			;; | 
 | 		'-h'|'--help'|'-V'|'--version') | 
 | 			return 0 | 
 | 			;; | 
 | 	esac | 
 | 	case $cur in | 
 | 		-*) | 
 | 			OPTS="--all | 
 | 				--detach | 
 | 				--detach-all | 
 | 				--find | 
 | 				--set-capacity | 
 | 				--associated | 
 | 				--list | 
 | 				--offset | 
 | 				--output | 
 | 				--sizelimit | 
 | 				--partscan | 
 | 				--read-only | 
 | 				--show | 
 | 				--verbose | 
 | 				--help | 
 | 				--version" | 
 | 			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) | 
 | 			return 0 | 
 | 			;; | 
 | 	esac | 
 | 	local IFS=$'\n' | 
 | 	compopt -o filenames | 
 | 	COMPREPLY=( $(compgen -f -- $cur) ) | 
 | 	return 0 | 
 | } | 
 | complete -F _losetup_module losetup |