mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	* Added MicroK8s plugin for ZSH * Added caching for kubectl and helm commands * Added title in compadd and enhanced README
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# ---------------------------------------------------------- #
 | 
						|
# Aliases and Completions for MicroK8s (https://microk8s.io) #
 | 
						|
# Author: Shaun Tabone (https://github.com/xontab)           #
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
 | 
						|
# Helper function to cache and load completions
 | 
						|
_microk8s_cache_completion() {
 | 
						|
  local cache="${ZSH_CACHE_DIR}/microk8s_$(echo $1)_completion"
 | 
						|
  if [[ ! -f $cache ]]; then
 | 
						|
    $2 $cache
 | 
						|
  fi
 | 
						|
 | 
						|
  [[ -f $cache ]] && source $cache
 | 
						|
}
 | 
						|
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
# microk8s.enable                                            #
 | 
						|
# ALIAS: me                                                  #
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
_microk8s_enable_get_command_list() {
 | 
						|
  microk8s.enable --help | tail -n +7 | awk '{$1=$1;print}'
 | 
						|
}
 | 
						|
 | 
						|
_microk8s_enable() {
 | 
						|
   compadd -X "MicroK8s Addons" $(_microk8s_enable_get_command_list)
 | 
						|
}
 | 
						|
 | 
						|
compdef _microk8s_enable microk8s.enable
 | 
						|
alias me='microk8s.enable'
 | 
						|
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
# microk8s.disable                                           #
 | 
						|
# ALIAS: mdi                                                 #
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
_microk8s_disable_get_command_list() {
 | 
						|
  microk8s.disable --help | tail -n +7 | awk '{$1=$1;print}'
 | 
						|
}
 | 
						|
 | 
						|
_microk8s_disable() {
 | 
						|
  compadd -X "MicroK8s Addons" $(_microk8s_disable_get_command_list)
 | 
						|
}
 | 
						|
 | 
						|
compdef _microk8s_disable microk8s.disable
 | 
						|
alias mdi='microk8s.disable'
 | 
						|
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
# microk8s.kubectl                                           #
 | 
						|
# ALIAS: mk                                                  #
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
_microk8s_kubectl_completion() {
 | 
						|
  if [ $commands[microk8s.kubectl] ]; then
 | 
						|
    microk8s.kubectl 2>/dev/null >/dev/null && microk8s.kubectl completion zsh | sed 's/__start_kubectl kubectl/__start_kubectl microk8s.kubectl/g' >$1
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
_microk8s_cache_completion 'kubectl' _microk8s_kubectl_completion
 | 
						|
 | 
						|
alias mk='microk8s.kubectl'
 | 
						|
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
# microk8s.helm                                              #
 | 
						|
# ALIAS: mh                                                  #
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
_microk8s_helm_completion() {
 | 
						|
  if [ $commands[microk8s.helm] ]; then
 | 
						|
    microk8s.helm completion zsh | sed 's/__start_helm helm/__start_helm microk8s.helm/g' >$1
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
_microk8s_cache_completion 'helm' _microk8s_helm_completion
 | 
						|
 | 
						|
alias mh='microk8s.helm'
 | 
						|
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
# Other Aliases                                              #
 | 
						|
# ---------------------------------------------------------- #
 | 
						|
alias mco='microk8s.config'
 | 
						|
alias mct='microk8s.ctr'
 | 
						|
alias mis='microk8s.istio'
 | 
						|
alias mst='microk8s.start'
 | 
						|
alias msts='microk8s.status'
 | 
						|
alias msp='microk8s.stop'
 |