summaryrefslogblamecommitdiffstats
path: root/bash-completion/fdisk
blob: 28cdda62260aa5d58319db2750cc8700e086e1cf (plain) (tree)
1
2
3
4
5
6
7
8






                                          
                               






                                                                      
                                     


                                                                                
                                       


                                                                        




                                                                               


                                                                               
                                                                                  


                                                                    
                                                             

                                


                    











                                                











                                                                        
_fdisk_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-s'|'--getsz')
			local DEV TYPE DEVICES=''
			while read DEV TYPE; do
				[ $TYPE = 'part' ] && DEVICES+="$DEV "
			done < <(lsblk -pnro name,type)
			COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
			return 0
			;;
		'-b'|'--sector-size')
			COMPREPLY=( $(compgen -W "512 1024 2048 4096" -- $cur) )
			return 0
			;;
		'-c'|'--compatibility')
			COMPREPLY=( $(compgen -W "dos nondos" -- $cur) )
			return 0
			;;
		'-L'|'--color')
			COMPREPLY=( $(compgen -W "auto never always" -- $cur) )
			return 0
			;;
		'-u'|'--units')
			COMPREPLY=( $(compgen -W "cylinders sectors" -- $cur) )
			return 0
			;;
		'-C'|'--geom-cylinders'|'-H'|'--geom-heads'|'-S'|'--geom-sectors')
			COMPREPLY=( $(compgen -W "number" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-v'|'--version'|'-V'|'--list')
			return 0
			;;
	esac
	case $cur in
		-*)
			OPTS="--sector-size
				--compatibility
				--color
				--list
				--type
				--units
				--getsz
				--geom-cylinders
				--geom-heads
				--geom-sectors
				--help
				--version"
			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
			return 0
			;;
	esac
	local DEV TYPE DEVICES=''
	while read DEV TYPE; do
		[ $TYPE = 'disk' ] && DEVICES+="$DEV "
	done < <(lsblk -pnro name,type)
	COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
	return 0
}
complete -F _fdisk_module fdisk