Allow the magic-enter commands to be modified by the user

This commit is contained in:
Shadab Zafar 2015-06-23 16:10:24 +05:30
parent 36f1835953
commit 88b6bc9bd3
2 changed files with 16 additions and 2 deletions

View File

@ -3,3 +3,12 @@
**Maintainer:** [@dufferzafar](https://github.com/dufferzafar) **Maintainer:** [@dufferzafar](https://github.com/dufferzafar)
Makes your enter key magical, by binding commonly used commands to it. 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)
```

View File

@ -3,12 +3,17 @@
# Pressing enter in a git directory runs `git status` # Pressing enter in a git directory runs `git status`
# in other directories `ls` # in other directories `ls`
magic-enter () { 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 if [[ -z $BUFFER ]]; then
echo "" echo ""
if git rev-parse --is-inside-work-tree &>/dev/null; then if git rev-parse --is-inside-work-tree &>/dev/null; then
git status -u . eval "$MAGIC_ENTER_GIT_COMMAND"
else else
ls -lh eval "$MAGIC_ENTER_OTHER_COMMAND"
fi fi
zle redisplay zle redisplay
else else