mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			714 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			714 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
# Bind quick stuff to enter!
 | 
						|
#
 | 
						|
# Pressing enter in a git directory runs `git status`
 | 
						|
# in other directories `ls`
 | 
						|
magic-enter () {
 | 
						|
  # If commands are not already set, use the defaults
 | 
						|
  [ -z "$MAGIC_ENTER_GIT_COMMAND" ] && MAGIC_ENTER_GIT_COMMAND="git status -u ."
 | 
						|
  [ -z "$MAGIC_ENTER_OTHER_COMMAND" ] && MAGIC_ENTER_OTHER_COMMAND="ls -lh ."
 | 
						|
 | 
						|
  if [[ -z $BUFFER ]]; then
 | 
						|
    echo ""
 | 
						|
    if git rev-parse --is-inside-work-tree &>/dev/null; then
 | 
						|
      eval "$MAGIC_ENTER_GIT_COMMAND"
 | 
						|
    else
 | 
						|
      eval "$MAGIC_ENTER_OTHER_COMMAND"
 | 
						|
    fi
 | 
						|
    zle redisplay
 | 
						|
  else
 | 
						|
    zle accept-line
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
zle -N magic-enter
 | 
						|
 | 
						|
bindkey -M emacs "^M" magic-enter
 | 
						|
bindkey -M vicmd "^M" magic-enter
 | 
						|
bindkey -M viins "^M" magic-enter
 |