chezmoi init

This commit is contained in:
Cy Pokhrel 2024-10-22 11:11:45 -04:00
commit 530d6d7195
No known key found for this signature in database
GPG key ID: 1200FBE36C2ADE2E
1176 changed files with 111325 additions and 0 deletions

View file

@ -0,0 +1,50 @@
# npm plugin
The npm plugin provides completion as well as adding many useful aliases.
To use it, add npm to the plugins array of your zshrc file:
```zsh
plugins=(... npm)
```
## Aliases
| Alias | Command | Description |
|:------ |:-----------------------------|:----------------------------------------------------------------|
| `npmg` | `npm i -g` | Install dependencies globally |
| `npmS` | `npm i -S` | Install and save to dependencies in your package.json |
| `npmD` | `npm i -D` | Install and save to dev-dependencies in your package.json |
| `npmF` | `npm i -f` | Force install from remote registries ignoring local cache |
| `npmE` | `PATH="$(npm bin)":"$PATH"` | Run command from node_modules folder based on current directory |
| `npmO` | `npm outdated` | Check which npm modules are outdated |
| `npmU` | `npm update` | Update all the packages listed to the latest version |
| `npmV` | `npm -v` | Check package versions |
| `npmL` | `npm list` | List installed packages |
| `npmL0` | `npm ls --depth=0` | List top-level installed packages |
| `npmst` | `npm start` | Run npm start |
| `npmt` | `npm test` | Run npm test |
| `npmR` | `npm run` | Run npm scripts |
| `npmP` | `npm publish` | Run npm publish |
| `npmI` | `npm init` | Run npm init |
| `npmi` | `npm info` | Run npm info |
| `npmSe` | `npm search` | Run npm search |
| `npmrd` | `npm run dev` | Run npm run dev |
| `npmrb` | `npm run build` | Run npm run build |
## `npm install` / `npm uninstall` toggle
The plugin adds a function that toggles between `npm install` and `npm uninstall` in
the current command or the last command, for up to 2 previous commands. **The default
key binding is pressing <kbd>F2</kbd> twice**.
You can change this key binding by adding the following line to your zshrc file:
```zsh
bindkey -M emacs '<seq>' npm_toggle_install_uninstall
bindkey -M vicmd '<seq>' npm_toggle_install_uninstall
bindkey -M viins '<seq>' npm_toggle_install_uninstall
```
where `<seq>` is a key sequence obtained by running `cat` and pressing the keyboard
sequence you want.

View file

@ -0,0 +1,117 @@
(( $+commands[npm] )) && {
command 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"
# Run npm run dev
alias npmrd="npm run dev"
# Run npm run build
alias npmrb="npm run build"
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