
_minipro () {
	COMPREPLY=()
	local cur="${COMP_WORDS[COMP_CWORD]}"
	local prev=${COMP_WORDS[COMP_CWORD-1]}

	case "$prev" in
		-p|--device|-d|--get_info)
			if [ "$cur" != "" ]; then
				TXT=$(minipro -L "$cur" < /dev/null 2>/dev/null ||:)
				COMPREPLY=($(compgen -W '$TXT' -- ${cur}))
			fi
			;;
		-c|--page)
			TXT="code data config"
			COMPREPLY=($(compgen -W '$TXT' -- ${cur}))
			;;
		-r|--read|-w|--write|--verify|-m|--update|-F)
			_filedir
			;;
		*)
			case "$cur" in
				-*)
					TXT=$(minipro --help 2>&1 < /dev/null | grep -o -e '\(--[a-z_-]\+\)')
					COMPREPLY=($(compgen -W '$TXT' -- ${cur}))
					;;
				*) _filedir ;;
			esac
			;;
	esac
}

complete -F _minipro minipro
