parent
285165913d
commit
89dbb2fccf
3 changed files with 53 additions and 2 deletions
@ -0,0 +1,36 @@ |
||||
# Modify the input line before it runs |
||||
function page() { |
||||
#commands=(${(@s:/:)BUFFER}) |
||||
|
||||
# Gets the words |
||||
words=(${(z)BUFFER}) |
||||
|
||||
# If there isn't anythng typed, fall back to old tab binding |
||||
if [ ${#words} -lt 1 ]; then |
||||
zle ${enterBehaviour:-accept-line} |
||||
return |
||||
fi |
||||
|
||||
|
||||
lastCommand="$(printf "%s\n" words | tac | sed -E '/^(\||\&\&|\|\|)$/,$d' | tac)" |
||||
lastCommand="${(s:\n:)lastCommand}" |
||||
|
||||
case "$BUFFER" in |
||||
*"--help" | *"-h" ) |
||||
BUFFER="$BUFFER | bat" |
||||
;; |
||||
esac |
||||
|
||||
|
||||
zle ${enterBehaviour:-accept-line} |
||||
} |
||||
|
||||
enterBehaviour="accept-line" |
||||
binding=$(bindkey '^M') |
||||
[[ $binding =~ 'undefined-key' ]] || enterBehaviour=$binding[(s: :w)2] |
||||
|
||||
unset original_binding |
||||
|
||||
zle -N page |
||||
# Bind to the Enter key |
||||
bindkey '^M' page |
Loading…
Reference in new issue