|
|
|
|
@ -69,3 +69,43 @@ alias npmi="npm info" |
|
|
|
|
|
|
|
|
|
# Run npm search |
|
|
|
|
alias npmSe="npm search" |
|
|
|
|
|
|
|
|
|
npm_toggle_install_uninstall() { |
|
|
|
|
# Look up to the previous 2 history commands |
|
|
|
|
local line |
|
|
|
|
for line in "$BUFFER" \ |
|
|
|
|
"${history[$((HISTCMD-1))]}" \ |
|
|
|
|
"${history[$((HISTCMD-2))]}" |
|
|
|
|
do |
|
|
|
|
case "$line" in |
|
|
|
|
"npm uninstall"*) |
|
|
|
|
BUFFER="${line/npm uninstall/npm install}" |
|
|
|
|
(( CURSOR = CURSOR + 2 )) # uninstall -> install: 2 chars removed |
|
|
|
|
;; |
|
|
|
|
"npm install"*) |
|
|
|
|
BUFFER="${line/npm install/npm uninstall}" |
|
|
|
|
(( CURSOR = CURSOR + 2 )) # install -> uninstall: 2 chars added |
|
|
|
|
;; |
|
|
|
|
"npm un "*) |
|
|
|
|
BUFFER="${line/npm un/npm install}" |
|
|
|
|
(( CURSOR = CURSOR + 5 )) # un -> install: 5 chars added |
|
|
|
|
;; |
|
|
|
|
"npm i "*) |
|
|
|
|
BUFFER="${line/npm i/npm uninstall}" |
|
|
|
|
(( CURSOR = CURSOR + 8 )) # i -> uninstall: 8 chars added |
|
|
|
|
;; |
|
|
|
|
*) continue ;; |
|
|
|
|
esac |
|
|
|
|
return 0 |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
BUFFER="npm install" |
|
|
|
|
CURSOR=${#BUFFER} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
zle -N npm_toggle_install_uninstall |
|
|
|
|
|
|
|
|
|
# Defined shortcut keys: [F2] [F2] |
|
|
|
|
bindkey -M emacs '^[OQ^[OQ' npm_toggle_install_uninstall |
|
|
|
|
bindkey -M vicmd '^[OQ^[OQ' npm_toggle_install_uninstall |
|
|
|
|
bindkey -M viins '^[OQ^[OQ' npm_toggle_install_uninstall |
|
|
|
|
|