59 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								_cdist()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    local cur prev prevprev opts cmds projects
							 | 
						||
| 
								 | 
							
								    COMPREPLY=()
							 | 
						||
| 
								 | 
							
								    cur="${COMP_WORDS[COMP_CWORD]}"
							 | 
						||
| 
								 | 
							
								    prev="${COMP_WORDS[COMP_CWORD-1]}"
							 | 
						||
| 
								 | 
							
								    prevprev="${COMP_WORDS[COMP_CWORD-2]}"
							 | 
						||
| 
								 | 
							
								    opts="-h --help -d --debug -v --verbose -V --version"
							 | 
						||
| 
								 | 
							
								    cmds="banner shell config"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    case "${prevprev}" in
							 | 
						||
| 
								 | 
							
								        shell)
							 | 
						||
| 
								 | 
							
								            case "${prev}" in
							 | 
						||
| 
								 | 
							
								                -s|--shell)
							 | 
						||
| 
								 | 
							
								                    shells=$(grep -v '^#' /etc/shells)
							 | 
						||
| 
								 | 
							
								                    COMPREPLY=( $(compgen -W "${shells}" -- ${cur}) )
							 | 
						||
| 
								 | 
							
								                    return 0
							 | 
						||
| 
								 | 
							
								                    ;;
							 | 
						||
| 
								 | 
							
								            esac
							 | 
						||
| 
								 | 
							
								            ;;
							 | 
						||
| 
								 | 
							
								    esac
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    case "${prev}" in
							 | 
						||
| 
								 | 
							
								        -*)
							 | 
						||
| 
								 | 
							
								            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
							 | 
						||
| 
								 | 
							
								            return 0
							 | 
						||
| 
								 | 
							
								            ;;
							 | 
						||
| 
								 | 
							
								        banner)
							 | 
						||
| 
								 | 
							
								            opts="-h --help -d --debug -v --verbose"
							 | 
						||
| 
								 | 
							
								            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
							 | 
						||
| 
								 | 
							
								            return 0
							 | 
						||
| 
								 | 
							
								            ;;
							 | 
						||
| 
								 | 
							
								        shell)
							 | 
						||
| 
								 | 
							
								            opts="-h --help -d --debug -v --verbose -s --shell"
							 | 
						||
| 
								 | 
							
								            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
							 | 
						||
| 
								 | 
							
								            return 0
							 | 
						||
| 
								 | 
							
								            ;;
							 | 
						||
| 
								 | 
							
								        config)
							 | 
						||
| 
								 | 
							
								            opts="-h --help -d --debug -v --verbose \
							 | 
						||
| 
								 | 
							
								                -c --conf-dir -f --file -i --initial-manifest -n --dry-run \
							 | 
						||
| 
								 | 
							
								                -o --out-dir -p --parallel -s --sequential --remote-copy \
							 | 
						||
| 
								 | 
							
								                --remote-exec"
							 | 
						||
| 
								 | 
							
								            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
							 | 
						||
| 
								 | 
							
								            return 0
							 | 
						||
| 
								 | 
							
								            ;;
							 | 
						||
| 
								 | 
							
								        *)
							 | 
						||
| 
								 | 
							
								            ;;
							 | 
						||
| 
								 | 
							
								    esac
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if [[ ${cur} == -* ]]; then 
							 | 
						||
| 
								 | 
							
								    	COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
							 | 
						||
| 
								 | 
							
								    	return 0
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    COMPREPLY=( $(compgen -W "${cmds}" -- ${cur}) )
							 | 
						||
| 
								 | 
							
								    return 0
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								complete -F _cdist cdist
							 |