ohmyzsh/plugins/pnpm/pnpm.plugin.zsh

124 lines
3.0 KiB
Bash

(( $+commands[pnpm] )) && {
command rm -f "${ZSH_CACHE_DIR:-$ZSH/cache}/pnpm_completion"
_pnpm_completion() {
local si=$IFS
compadd -- $(COMP_CWORD=$((CURRENT-1)) \
COMP_LINE=$BUFFER \
COMP_POINT=0 \
pnpm completion -- "${words[@]}" \
2>/dev/null)
IFS=$si
}
compdef _pnpm_completion pnpm
}
# Install dependencies globally
alias pnpmg="pnpm add -g "
# pnpm package names are lowercase
# Thus, we've used camelCase for the following aliases:
# Install and save to dependencies in your package.json
alias pnpmS="pnpm add -S "
# Install and save to dev-dependencies in your package.json
alias pnpmD="pnpm add -D "
# Force pnpm to fetch remote resources even if a local copy exists on disk.
alias pnpmF='pnpm add -f'
# Execute command from node_modules folder based on current directory
# i.e pnpmE gulp
alias pnpmE='PATH="$(pnpm bin)":"$PATH"'
# Check which pnpm modules are outdated
alias pnpmO="pnpm outdated"
# Update all the packages listed to the latest version
alias pnpmU="pnpm update"
# Check package versions
alias pnpmV="pnpm -v"
# List packages
alias pnpmL="pnpm list"
# List top-level installed packages
alias pnpmL0="pnpm ls --depth=0"
# Run pnpm start
alias pnpmst="pnpm start"
# Run pnpm test
alias pnpmt="pnpm test"
# Run pnpm scripts
alias pnpmR="pnpm run"
# Run pnpm publish
alias pnpmP="pnpm publish"
# Run pnpm init
alias pnpmI="pnpm init"
# Run pnpm info
alias pnpmi="pnpm info"
# Run pnpm search
alias pnpmSe="pnpm search"
# Run pnpm run dev
alias pnpmrd="pnpm run dev"
# Run pnpm run build
alias pnpmrb="pnpm run build"
pnpm_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
"pnpm uninstall"*)
BUFFER="${line/pnpm uninstall/pnpm install}"
(( CURSOR = CURSOR + 2 )) # uninstall -> install: 2 chars removed
;;
"pnpm install"*)
BUFFER="${line/pnpm install/pnpm uninstall}"
(( CURSOR = CURSOR + 2 )) # install -> uninstall: 2 chars added
;;
"pnpm remove"*)
BUFFER="${line/pnpm remove/pnpm add}"
(( CURSOR = CURSOR + 5 )) # remove -> add: 5 chars removed
;;
"pnpm add"*)
BUFFER="${line/pnpm add/pnpm remove}"
(( CURSOR = CURSOR + 2 )) # add -> remove: 2 chars added
;;
"pnpm un "*)
BUFFER="${line/pnpm un/pnpm add}"
(( CURSOR = CURSOR + 5 )) # un -> add: 5 chars added
;;
"pnpm i "*)
BUFFER="${line/pnpm i/pnpm remove}"
(( CURSOR = CURSOR + 8 )) # i -> remove: 8 chars added
;;
*) continue ;;
esac
return 0
done
BUFFER="pnpm install"
CURSOR=${#BUFFER}
}
zle -N pnpm_toggle_install_uninstall
# Defined shortcut keys: [F2] [F2]
bindkey -M emacs '^[OQ^[OQ' pnpm_toggle_install_uninstall
bindkey -M vicmd '^[OQ^[OQ' pnpm_toggle_install_uninstall
bindkey -M viins '^[OQ^[OQ' pnpm_toggle_install_uninstall