mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	fix(init): exit gracefully if on non-zsh emulation mode (#11874)
Fixes #11686
This commit is contained in:
		
							parent
							
								
									1abc1d998a
								
							
						
					
					
						commit
						30f0d59188
					
				
							
								
								
									
										27
									
								
								oh-my-zsh.sh
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								oh-my-zsh.sh
									
									
									
									
									
								
							@ -1,14 +1,14 @@
 | 
			
		||||
# ANSI formatting function (\033[<code>m)
 | 
			
		||||
# 0: reset, 1: bold, 4: underline, 22: no bold, 24: no underline, 31: red, 33: yellow
 | 
			
		||||
omz_f() {
 | 
			
		||||
  [ $# -gt 0 ] || return
 | 
			
		||||
  IFS=";" printf "\033[%sm" $*
 | 
			
		||||
}
 | 
			
		||||
# If stdout is not a terminal ignore all formatting
 | 
			
		||||
[ -t 1 ] || omz_f() { :; }
 | 
			
		||||
 | 
			
		||||
# Protect against non-zsh execution of Oh My Zsh (use POSIX syntax here)
 | 
			
		||||
[ -n "$ZSH_VERSION" ] || {
 | 
			
		||||
  # ANSI formatting function (\033[<code>m)
 | 
			
		||||
  # 0: reset, 1: bold, 4: underline, 22: no bold, 24: no underline, 31: red, 33: yellow
 | 
			
		||||
  omz_f() {
 | 
			
		||||
    [ $# -gt 0 ] || return
 | 
			
		||||
    IFS=";" printf "\033[%sm" $*
 | 
			
		||||
  }
 | 
			
		||||
  # If stdout is not a terminal ignore all formatting
 | 
			
		||||
  [ -t 1 ] || omz_f() { :; }
 | 
			
		||||
 | 
			
		||||
  omz_ptree() {
 | 
			
		||||
    # Get process tree of the current process
 | 
			
		||||
    pid=$$; pids="$pid"
 | 
			
		||||
@ -38,6 +38,15 @@
 | 
			
		||||
  return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Check if in emulation mode, if so early return
 | 
			
		||||
# https://github.com/ohmyzsh/ohmyzsh/issues/11686
 | 
			
		||||
[[ "$(emulate)" = zsh ]] || {
 | 
			
		||||
  printf "$(omz_f 1 31)Error:$(omz_f 22) Oh My Zsh can't be loaded in \`$(emulate)\` emulation mode.$(omz_f 0)\n" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unset -f omz_f
 | 
			
		||||
 | 
			
		||||
# If ZSH is not defined, use the current script's directory.
 | 
			
		||||
[[ -z "$ZSH" ]] && export ZSH="${${(%):-%x}:a:h}"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user