chezmoi init
This commit is contained in:
commit
530d6d7195
1176 changed files with 111325 additions and 0 deletions
17
dot_oh-my-zsh/plugins/magic-enter/README.md
Normal file
17
dot_oh-my-zsh/plugins/magic-enter/README.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
## Magic Enter plugin
|
||||
|
||||
This plugin makes your enter key magical, by binding commonly used commands to it.
|
||||
|
||||
To use it, add `magic-enter` to the plugins array in your zshrc file. You can set the
|
||||
commands to be run in your .zshrc, before the line containing plugins. If no command
|
||||
is specified in a git directory, `git status` is executed; in other directories, `ls`.
|
||||
|
||||
```zsh
|
||||
# defaults
|
||||
MAGIC_ENTER_GIT_COMMAND='git status -u .'
|
||||
MAGIC_ENTER_OTHER_COMMAND='ls -lh .'
|
||||
|
||||
plugins=(... magic-enter)
|
||||
```
|
||||
|
||||
**Maintainer:** [@dufferzafar](https://github.com/dufferzafar)
|
38
dot_oh-my-zsh/plugins/magic-enter/magic-enter.plugin.zsh
Normal file
38
dot_oh-my-zsh/plugins/magic-enter/magic-enter.plugin.zsh
Normal file
|
@ -0,0 +1,38 @@
|
|||
# Default commands
|
||||
: ${MAGIC_ENTER_GIT_COMMAND:="git status -u ."} # run when in a git repository
|
||||
: ${MAGIC_ENTER_OTHER_COMMAND:="ls -lh ."} # run anywhere else
|
||||
|
||||
magic-enter() {
|
||||
# Only run MAGIC_ENTER commands when in PS1 and command line is empty
|
||||
# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#User_002dDefined-Widgets
|
||||
if [[ -n "$BUFFER" || "$CONTEXT" != start ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
if command git rev-parse --is-inside-work-tree &>/dev/null; then
|
||||
BUFFER="$MAGIC_ENTER_GIT_COMMAND"
|
||||
else
|
||||
BUFFER="$MAGIC_ENTER_OTHER_COMMAND"
|
||||
fi
|
||||
}
|
||||
|
||||
# Wrapper for the accept-line zle widget (run when pressing Enter)
|
||||
|
||||
# If the wrapper already exists don't redefine it
|
||||
(( ! ${+functions[_magic-enter_accept-line]} )) || return 0
|
||||
|
||||
case "$widgets[accept-line]" in
|
||||
# Override the current accept-line widget, calling the old one
|
||||
user:*) zle -N _magic-enter_orig_accept-line "${widgets[accept-line]#user:}"
|
||||
function _magic-enter_accept-line() {
|
||||
magic-enter
|
||||
zle _magic-enter_orig_accept-line -- "$@"
|
||||
} ;;
|
||||
# If no user widget defined, call the original accept-line widget
|
||||
builtin) function _magic-enter_accept-line() {
|
||||
magic-enter
|
||||
zle .accept-line
|
||||
} ;;
|
||||
esac
|
||||
|
||||
zle -N accept-line _magic-enter_accept-line
|
Loading…
Add table
Add a link
Reference in a new issue