mirror of
				https://github.com/ohmybash/oh-my-bash.git
				synced 2024-05-11 05:55:37 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#! bash oh-my-bash.module
 | 
						|
 | 
						|
function _omb_completion_docker_has_completion {
 | 
						|
  local complete
 | 
						|
  complete=$(complete -p docker 2>/dev/null) && [[ $complete ]] || return 1
 | 
						|
 | 
						|
  # bash-completion runs $(docker completion bash) as a fallback, but the
 | 
						|
  # official docker completion is not provided through $(docker completion
 | 
						|
  # bash), which is automatically generated by cobra's bash completion V2.  In
 | 
						|
  # this case, we can instead use the completion file bundled with OMB.
 | 
						|
  if [[ $complete == *__start_docker* ]]; then
 | 
						|
    complete -r docker
 | 
						|
    return 1
 | 
						|
  fi
 | 
						|
 | 
						|
  unset -f _omb_completion_docker_has_completion
 | 
						|
  unset -f _omb_completion_docker_try
 | 
						|
  return 0
 | 
						|
}
 | 
						|
 | 
						|
function _omb_completion_docker_try {
 | 
						|
  if [[ -s $1 ]]; then
 | 
						|
    source "$1"
 | 
						|
    _omb_completion_docker_has_completion && return 0
 | 
						|
  elif [[ -s $1.sh ]]; then
 | 
						|
    source "$1.sh"
 | 
						|
    _omb_completion_docker_has_completion && return 0
 | 
						|
  elif [[ -s $1.bash ]]; then
 | 
						|
    source "$1.bash"
 | 
						|
    _omb_completion_docker_has_completion && return 0
 | 
						|
  fi
 | 
						|
  return 1
 | 
						|
}
 | 
						|
 | 
						|
_omb_completion_docker_has_completion && return 0
 | 
						|
 | 
						|
if _omb_util_function_exists _comp_load; then
 | 
						|
  # bash-completion 2.12
 | 
						|
  _comp_load -- docker-compose
 | 
						|
  _omb_completion_docker_has_completion && return 0
 | 
						|
elif _omb_util_function_exists __load_completion; then
 | 
						|
  # bash-completion <= 2.11
 | 
						|
  __load_completion docker-compose
 | 
						|
  _omb_completion_docker_has_completion && return 0
 | 
						|
fi
 | 
						|
 | 
						|
_omb_completion_docker_try /usr/share/bash-completion/completions/docker && return 0
 | 
						|
_omb_completion_docker_try /etc/bash_completion.d/docker && return 0
 | 
						|
 | 
						|
unset -f _omb_completion_docker_has_completion
 | 
						|
unset -f _omb_completion_docker_try
 | 
						|
source "$OSH/completions/fallback/docker.bash"
 |