mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
(( $+commands[npm] )) && {
 | 
						|
  rm -f "${ZSH_CACHE_DIR:-$ZSH/cache}/npm_completion"
 | 
						|
 | 
						|
  _npm_completion() {
 | 
						|
    local si=$IFS
 | 
						|
    compadd -- $(COMP_CWORD=$((CURRENT-1)) \
 | 
						|
                 COMP_LINE=$BUFFER \
 | 
						|
                 COMP_POINT=0 \
 | 
						|
                 npm completion -- "${words[@]}" \
 | 
						|
                 2>/dev/null)
 | 
						|
    IFS=$si
 | 
						|
  }
 | 
						|
  compdef _npm_completion npm
 | 
						|
}
 | 
						|
 | 
						|
# Install dependencies globally
 | 
						|
alias npmg="npm i -g "
 | 
						|
 | 
						|
# npm package names are lowercase
 | 
						|
# Thus, we've used camelCase for the following aliases:
 | 
						|
 | 
						|
# Install and save to dependencies in your package.json
 | 
						|
# npms is used by https://www.npmjs.com/package/npms
 | 
						|
alias npmS="npm i -S "
 | 
						|
 | 
						|
# Install and save to dev-dependencies in your package.json
 | 
						|
# npmd is used by https://github.com/dominictarr/npmd
 | 
						|
alias npmD="npm i -D "
 | 
						|
 | 
						|
# Force npm to fetch remote resources even if a local copy exists on disk.
 | 
						|
alias npmF='npm i -f'
 | 
						|
 | 
						|
# Execute command from node_modules folder based on current directory
 | 
						|
# i.e npmE gulp
 | 
						|
alias npmE='PATH="$(npm bin)":"$PATH"'
 | 
						|
 | 
						|
# Check which npm modules are outdated
 | 
						|
alias npmO="npm outdated"
 | 
						|
 | 
						|
# Update all the packages listed to the latest version
 | 
						|
alias npmU="npm update"
 | 
						|
 | 
						|
# Check package versions
 | 
						|
alias npmV="npm -v"
 | 
						|
 | 
						|
# List packages
 | 
						|
alias npmL="npm list"
 | 
						|
 | 
						|
# List top-level installed packages
 | 
						|
alias npmL0="npm ls --depth=0"
 | 
						|
 | 
						|
# Run npm start
 | 
						|
alias npmst="npm start"
 | 
						|
 | 
						|
# Run npm test
 | 
						|
alias npmt="npm test"
 | 
						|
 | 
						|
# Run npm scripts
 | 
						|
alias npmR="npm run"
 | 
						|
 | 
						|
# Run npm publish 
 | 
						|
alias npmP="npm publish"
 | 
						|
 | 
						|
# Run npm init
 | 
						|
alias npmI="npm init"
 | 
						|
 | 
						|
# Run npm info
 | 
						|
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
 |