_lsns_module()
{
	local cur prev OPTS LSNS_COLS_ALL
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	LSNS_COLS_ALL="
		NS TYPE PATH NPROCS PID PPID COMMAND UID USER
	"
	case $prev in
		'-o'|'--output')
			local prefix realcur LSNS_COLS
			realcur="${cur##*,}"
			prefix="${cur%$realcur}"
			for WORD in $LSNS_COLS_ALL; do
				if ! [[ $prefix == *"$WORD"* ]]; then
					LSNS_COLS="$WORD $LSNS_COLS"
				fi
			done
			compopt -o nospace
			COMPREPLY=( $(compgen -P "$prefix" -W "$LSNS_COLS" -S ',' -- $realcur) )
			return 0
			;;
		'-p'|'--task')
			COMPREPLY=( $(compgen -W "$(cd /proc && echo [0-9]*)" -- $cur) )
			return 0
			;;
		'-t'|'--type')
			COMPREPLY=( $(compgen -W "mnt net ipc user pid uts" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	case $cur in
		-*)
			COMPREPLY=( $(compgen -W "
					--json
					--list
					--noheadings
					--output
					--task
					--raw
					--notruncate
					--type
					--help
					--version
				" -- $cur) )
			return 0
			;;
	esac
	COMPREPLY=( $(compgen -W "mnt net pid uts ipc user" -- $cur ) )
	return 0
}
complete -F _lsns_module lsns
