You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
636 B
24 lines
636 B
# 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" magic-enter
|
|
|