Add magic-enter plugin (#4082)
* Added magic-enter plugin To bind commonly used tasks to the enter key * Allow the magic-enter commands to be modified by the user
This commit is contained in:
parent
2de926aa10
commit
78e7ec2186
14
plugins/magic-enter/Readme.md
Normal file
14
plugins/magic-enter/Readme.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
## Magic Enter
|
||||||
|
|
||||||
|
**Maintainer:** [@dufferzafar](https://github.com/dufferzafar)
|
||||||
|
|
||||||
|
Makes your enter key magical, by binding commonly used commands to it.
|
||||||
|
|
||||||
|
You can set the commands to be run in your .zshrc, before the line containing plugins!
|
||||||
|
|
||||||
|
```bash
|
||||||
|
MAGIC_ENTER_GIT_COMMAND='git status -u .'
|
||||||
|
MAGIC_ENTER_OTHER_COMMAND='ls -lh .'
|
||||||
|
|
||||||
|
plugins=(magic-enter)
|
||||||
|
```
|
24
plugins/magic-enter/magic-enter.plugin.zsh
Normal file
24
plugins/magic-enter/magic-enter.plugin.zsh
Normal file
|
@ -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
|
Loading…
Reference in a new issue