From 55457187d18221e76bd12f0fb2cfab65c49b92fb Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Tue, 5 Mar 2019 01:09:01 +0100 Subject: Initial commit --- .../plugins/magic-enter/magic-enter.plugin.zsh | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .oh-my-zsh/plugins/magic-enter/magic-enter.plugin.zsh (limited to '.oh-my-zsh/plugins/magic-enter/magic-enter.plugin.zsh') diff --git a/.oh-my-zsh/plugins/magic-enter/magic-enter.plugin.zsh b/.oh-my-zsh/plugins/magic-enter/magic-enter.plugin.zsh new file mode 100644 index 0000000..8e18596 --- /dev/null +++ b/.oh-my-zsh/plugins/magic-enter/magic-enter.plugin.zsh @@ -0,0 +1,24 @@ +# 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 -- cgit v1.2.3