summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2018-10-09 14:46:47 -0400
committerTuowen Zhao <ztuowen@gmail.com>2018-10-09 14:46:47 -0400
commit075160b86c64045e661209ad7906559068b44104 (patch)
treea910a6eef6163d39859395bb0b416b2b184db9ac /plugins
parent5ece6ef2f07c58672a9c965dbbbb62a42386fb2d (diff)
parent3c9942c4884089b290ef750468b29419ca0de271 (diff)
downloadzsh-075160b86c64045e661209ad7906559068b44104.tar.gz
zsh-075160b86c64045e661209ad7906559068b44104.tar.bz2
zsh-075160b86c64045e661209ad7906559068b44104.zip
Merge branch 'master' of https://github.com/robbyrussell/oh-my-zsh
Diffstat (limited to 'plugins')
-rw-r--r--plugins/archlinux/README.md20
-rw-r--r--plugins/archlinux/archlinux.plugin.zsh33
-rw-r--r--plugins/autojump/README.md11
-rw-r--r--plugins/autopep8/README.md8
-rw-r--r--plugins/autopep8/autopep8.plugin.zsh0
-rw-r--r--[-rwxr-xr-x]plugins/bgnotify/bgnotify.plugin.zsh2
-rw-r--r--plugins/bower/README.md18
-rw-r--r--plugins/brew/README.md19
-rw-r--r--plugins/catimg/README.md35
-rw-r--r--[-rwxr-xr-x]plugins/catimg/catimg.sh0
-rw-r--r--plugins/chruby/chruby.plugin.zsh8
-rw-r--r--plugins/chucknorris/README.md20
-rw-r--r--plugins/colorize/colorize.plugin.zsh6
-rw-r--r--plugins/dash/dash.plugin.zsh2
-rw-r--r--plugins/dircycle/README.md78
-rw-r--r--plugins/dircycle/dircycle.plugin.zsh21
-rw-r--r--plugins/dirhistory/README.md17
-rw-r--r--plugins/django/README.md56
-rw-r--r--[-rwxr-xr-x]plugins/dnf/README.md0
-rw-r--r--plugins/docker-compose/README.md29
-rw-r--r--plugins/docker-compose/docker-compose.plugin.zsh1
-rw-r--r--plugins/emacs/README.md30
-rw-r--r--plugins/emoji-clock/README.md14
-rw-r--r--plugins/encode64/README.md69
-rw-r--r--plugins/fedora/README.md1
-rw-r--r--plugins/gem/README.md17
-rw-r--r--plugins/git-auto-fetch/README.md31
-rw-r--r--plugins/git-auto-fetch/git-auto-fetch.plugin.zsh27
-rw-r--r--[-rwxr-xr-x]plugins/git-flow-avh/git-flow-avh.plugin.zsh0
-rw-r--r--plugins/git-flow/README.md35
-rw-r--r--plugins/git-flow/git-flow.plugin.zsh1
-rw-r--r--plugins/git/git.plugin.zsh17
-rw-r--r--plugins/gitfast/README.md138
-rw-r--r--plugins/go/README.md1
-rw-r--r--plugins/golang/README.md29
-rw-r--r--plugins/gradle/README.md23
-rw-r--r--plugins/grunt/README.md37
-rw-r--r--plugins/gulp/README.md8
-rw-r--r--plugins/iterm2/README.md29
-rw-r--r--plugins/iwhois/README.md24
-rw-r--r--plugins/iwhois/iwhois.plugin.zsh3
-rw-r--r--plugins/jenv/README.md18
-rw-r--r--plugins/jump/README.md19
-rw-r--r--plugins/jump/jump.plugin.zsh2
-rw-r--r--plugins/kate/README.md20
-rw-r--r--plugins/kubectl/README.md88
-rw-r--r--plugins/kubectl/kubectl.plugin.zsh32
-rw-r--r--plugins/laravel/README.md19
-rw-r--r--plugins/laravel4/README.md18
-rw-r--r--plugins/laravel5/README.md18
-rw-r--r--plugins/lol/README.md83
-rw-r--r--plugins/macports/README.md21
-rw-r--r--plugins/macports/macports.plugin.zsh4
-rw-r--r--plugins/man/man.plugin.zsh (renamed from plugins/man/man.zsh)4
-rw-r--r--plugins/mercurial/mercurial.plugin.zsh1
-rw-r--r--plugins/mix/README.md19
-rw-r--r--plugins/mix/_mix8
-rw-r--r--plugins/mosh/README.md9
-rw-r--r--[-rwxr-xr-x]plugins/n98-magerun/n98-magerun.plugin.zsh0
-rw-r--r--plugins/nanoc/README.md23
-rw-r--r--plugins/ng/ng.plugin.zsh6
-rw-r--r--plugins/node/README.md16
-rw-r--r--plugins/nvm/README.md9
-rw-r--r--plugins/nyan/README.md5
-rw-r--r--plugins/osx/README.md33
-rw-r--r--plugins/osx/osx.plugin.zsh7
-rw-r--r--plugins/pep8/README.md8
-rw-r--r--plugins/postgres/README.md22
-rw-r--r--plugins/python/README.md16
-rw-r--r--plugins/python/python.plugin.zsh3
-rw-r--r--plugins/react-native/README.md41
-rw-r--r--plugins/react-native/react-native.plugin.zsh9
-rw-r--r--plugins/rsync/README.md16
-rw-r--r--plugins/ruby/README.md20
-rw-r--r--[-rwxr-xr-x]plugins/scd/scd0
-rw-r--r--plugins/sudo/README.md57
-rw-r--r--plugins/suse/README.md90
-rw-r--r--plugins/suse/suse.plugin.zsh94
-rw-r--r--plugins/swiftpm/_swift147
-rw-r--r--plugins/systemd/README.md53
-rw-r--r--plugins/terraform/terraform.plugin.zsh2
-rw-r--r--plugins/themes/README.md18
-rw-r--r--plugins/themes/themes.plugin.zsh10
-rw-r--r--plugins/tmuxinator/README.md19
-rw-r--r--plugins/ubuntu/README.md52
-rw-r--r--plugins/ubuntu/readme.md21
-rw-r--r--plugins/urltools/README.md29
-rw-r--r--plugins/vagrant/README.md10
-rw-r--r--plugins/vagrant/_vagrant2
-rw-r--r--plugins/vi-mode/vi-mode.plugin.zsh5
-rw-r--r--plugins/vscode/README.md4
-rw-r--r--plugins/vscode/vscode.plugin.zsh4
-rw-r--r--plugins/vundle/README.md19
-rw-r--r--[-rwxr-xr-x]plugins/wd/wd.sh0
-rw-r--r--plugins/web-search/README.md50
-rw-r--r--plugins/yum/README.md27
-rw-r--r--[-rwxr-xr-x]plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh0
97 files changed, 2011 insertions, 237 deletions
diff --git a/plugins/archlinux/README.md b/plugins/archlinux/README.md
index 0d1fdea3a..7ebe8e53d 100644
--- a/plugins/archlinux/README.md
+++ b/plugins/archlinux/README.md
@@ -2,6 +2,26 @@
## Features
+#### YAY
+
+| Alias | Command | Description |
+|---------|------------------------------------|---------------------------------------------------------------------|
+| yaconf | yay -Pg | Print current configuration |
+| yain | yay -S | Install packages from the repositories |
+| yains | yay -U | Install a package from a local file |
+| yainsd | yay -S --asdeps | Install packages as dependencies of another package |
+| yaloc | yay -Qi | Display information about a package in the local database |
+| yalocs | yay -Qs | Search for packages in the local database |
+| yalst | yay -Qe | List installed packages including from AUR (tagged as "local") |
+| yamir | yay -Syy | Force refresh of all package lists after updating mirrorlist |
+| yaorph | yay -Qtd | Remove orphans using yaourt |
+| yare | yay -R | Remove packages, keeping its settings and dependencies |
+| yarem | yay -Rns | Remove packages, including its settings and unneeded dependencies |
+| yarep | yay -Si | Display information about a package in the repositories |
+| yareps | yay -Ss | Search for packages in the repositories |
+| yaupg | yay -Syu | Sync with repositories before upgrading packages |
+| yasu | yay -Syu --no-confirm | Same as `yaupg`, but without confirmation |
+
#### TRIZEN
| Alias | Command | Description |
diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
index ae80eb9f0..e0101c7eb 100644
--- a/plugins/archlinux/archlinux.plugin.zsh
+++ b/plugins/archlinux/archlinux.plugin.zsh
@@ -56,6 +56,35 @@ if (( $+commands[yaourt] )); then
fi
fi
+if (( $+commands[yay] )); then
+ alias yaconf='yay -Pg'
+ alias yaupg='yay -Syu'
+ alias yasu='yay -Syu --noconfirm'
+ alias yain='yay -S'
+ alias yains='yay -U'
+ alias yare='yay -R'
+ alias yarem='yay -Rns'
+ alias yarep='yay -Si'
+ alias yareps='yay -Ss'
+ alias yaloc='yay -Qi'
+ alias yalocs='yay -Qs'
+ alias yalst='yay -Qe'
+ alias yaorph='yay -Qtd'
+ alias yainsd='yay -S --asdeps'
+ alias yamir='yay -Syy'
+
+
+ if (( $+commands[abs] && $+commands[aur] )); then
+ alias yaupd='yay -Sy && sudo abs && sudo aur'
+ elif (( $+commands[abs] )); then
+ alias yaupd='yay -Sy && sudo abs'
+ elif (( $+commands[aur] )); then
+ alias yaupd='yay -Sy && sudo aur'
+ else
+ alias yaupd='yay -Sy'
+ fi
+fi
+
if (( $+commands[pacaur] )); then
alias paupg='pacaur -Syu'
alias pasu='pacaur -Syu --noconfirm'
@@ -95,6 +124,10 @@ elif (( $+commands[yaourt] )); then
function upgrade() {
yaourt -Syu
}
+elif (( $+commands[yay] )); then
+ function upgrade() {
+ yay -Syu
+ }
else
function upgrade() {
sudo pacman -Syu
diff --git a/plugins/autojump/README.md b/plugins/autojump/README.md
new file mode 100644
index 000000000..18ff793cd
--- /dev/null
+++ b/plugins/autojump/README.md
@@ -0,0 +1,11 @@
+# Autojump plugin
+
+This plugin loads the [autojump navigation tool](https://github.com/wting/autojump).
+
+To use it, add `autojump` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... autojump)
+```
+
+More info on the usage: https://github.com/wting/autojump
diff --git a/plugins/autopep8/README.md b/plugins/autopep8/README.md
new file mode 100644
index 000000000..02bbb9af4
--- /dev/null
+++ b/plugins/autopep8/README.md
@@ -0,0 +1,8 @@
+# autopep8 plugin
+
+This plugin adds completion for [autopep8](https://pypi.org/project/autopep8/), a tool that automatically formats Python code to conform to the [PEP 8](http://www.python.org/dev/peps/pep-0008/) style guide.
+
+To use it, add autopep8 to the plugins array of your zshrc file:
+```
+plugins=(... autopep8)
+```
diff --git a/plugins/autopep8/autopep8.plugin.zsh b/plugins/autopep8/autopep8.plugin.zsh
deleted file mode 100644
index e69de29bb..000000000
--- a/plugins/autopep8/autopep8.plugin.zsh
+++ /dev/null
diff --git a/plugins/bgnotify/bgnotify.plugin.zsh b/plugins/bgnotify/bgnotify.plugin.zsh
index 459f5214e..b3a6890b8 100755..100644
--- a/plugins/bgnotify/bgnotify.plugin.zsh
+++ b/plugins/bgnotify/bgnotify.plugin.zsh
@@ -42,7 +42,7 @@ bgnotify () { ## args: (title, subtitle)
elif hash notify-send 2>/dev/null; then #ubuntu gnome!
notify-send "$1" "$2"
elif hash kdialog 2>/dev/null; then #ubuntu kde!
- kdialog -title "$1" --passivepopup "$2" 5
+ kdialog --title "$1" --passivepopup "$2" 5
elif hash notifu 2>/dev/null; then #cygwyn support!
notifu /m "$2" /p "$1"
fi
diff --git a/plugins/bower/README.md b/plugins/bower/README.md
new file mode 100644
index 000000000..743b6a0ea
--- /dev/null
+++ b/plugins/bower/README.md
@@ -0,0 +1,18 @@
+# Bower plugin
+
+This plugin adds completion for [Bower](https://bower.io/) and a few useful aliases for common Bower commands.
+
+To use it, add `bower` to the plugins array in your zshrc file:
+
+```
+plugins=(... bower)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-------|-----------------|--------------------------------------------------------|
+| bi | `bower install` | Installs the project dependencies listed in bower.json |
+| bl | `bower list` | List local packages and possible updates |
+| bs | `bower search` | Finds all packages or a specific package. |
+
diff --git a/plugins/brew/README.md b/plugins/brew/README.md
new file mode 100644
index 000000000..aab55ea39
--- /dev/null
+++ b/plugins/brew/README.md
@@ -0,0 +1,19 @@
+# brew plugin
+
+The plugin adds several aliases for common [brew](https://brew.sh) commands.
+
+To use it, add `brew` to the plugins array of your zshrc file:
+```
+plugins=(... brew)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|--------|----------------------|---------------|
+| brewp | `brew pin` | Pin a specified formulae, preventing them from being upgraded when issuing the brew upgrade <formulae> command. |
+| brews | `brew list -1` | List installed formulae, one entry per line, or the installed files for a given formulae. |
+| brewsp | `brew list --pinned` | Show the versions of pinned formulae, or only the specified (pinned) formulae if formulae are given. |
+| bubo | `brew update && brew outdated` | Fetch the newest version of Homebrew and all formulae, then list outdated formulae. |
+| bubc | `brew upgrade && brew cleanup` | Upgrade outdated, unpinned brews (with existing install options), then removes stale lock files and outdated downloads for formulae and casks, and removes old versions of installed formulae. |
+| bubu | `bubo && bubc` | Updates Homebrew, lists outdated formulae, upgrades oudated and unpinned formulae, and removes stale and outdated downloads and versions. |
diff --git a/plugins/catimg/README.md b/plugins/catimg/README.md
new file mode 100644
index 000000000..2fc28a1c6
--- /dev/null
+++ b/plugins/catimg/README.md
@@ -0,0 +1,35 @@
+# catimg
+
+Plugin for displaying images on the terminal using the the `catimg.sh` script provided by [posva](https://github.com/posva/catimg)
+
+## Requirements
+
+- `convert` (ImageMagick)
+
+## Enabling the plugin
+
+1. Open your `.zshrc` file and add `catimg` in the plugins section:
+
+ ```zsh
+ plugins=(
+ # all your enabled plugins
+ catimg
+ )
+ ```
+
+2. Reload the source file or restart your Terminal session:
+
+ ```console
+ $ source ~/.zshrc
+ $
+ ```
+
+## Functions
+
+| Function | Description |
+| -------- | ---------------------------------------- |
+| `catimg` | Displays the given image on the terminal |
+
+## Usage examples
+
+[![asciicast](https://asciinema.org/a/204702.png)](https://asciinema.org/a/204702)
diff --git a/plugins/catimg/catimg.sh b/plugins/catimg/catimg.sh
index 83ccf6a95..83ccf6a95 100755..100644
--- a/plugins/catimg/catimg.sh
+++ b/plugins/catimg/catimg.sh
diff --git a/plugins/chruby/chruby.plugin.zsh b/plugins/chruby/chruby.plugin.zsh
index 998d92098..f7fedb5f2 100644
--- a/plugins/chruby/chruby.plugin.zsh
+++ b/plugins/chruby/chruby.plugin.zsh
@@ -111,5 +111,11 @@ function chruby_prompt_info() {
}
# complete on installed rubies
-_chruby() { compadd $(chruby | tr -d '* ') }
+_chruby() {
+ compadd $(chruby | tr -d '* ')
+ local default_path='/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'
+ if PATH=${default_path} type ruby &> /dev/null; then
+ compadd system
+ fi
+}
compdef _chruby chruby
diff --git a/plugins/chucknorris/README.md b/plugins/chucknorris/README.md
new file mode 100644
index 000000000..be7b97e24
--- /dev/null
+++ b/plugins/chucknorris/README.md
@@ -0,0 +1,20 @@
+# chucknorris
+
+Chuck Norris fortunes plugin for oh-my-zsh
+
+**Maintainers**: [apjanke](https://github.com/apjanke) [maff](https://github.com/maff)
+
+To use it add `chucknorris` to the plugins array in you zshrc file.
+
+```zsh
+plugins=(... chucknorris)
+```
+
+
+Depends on fortune (and cowsay if using chuck_cow) being installed (available via homebrew, apt, ...). Perfectly suitable as MOTD.
+
+
+| Command | Description |
+| ----------- | ------------------------------- |
+| `chuck` | Print random Chuck Norris quote |
+| `chuck_cow` | Print quote in cowthink |
diff --git a/plugins/colorize/colorize.plugin.zsh b/plugins/colorize/colorize.plugin.zsh
index b97dffe43..e2af6d25e 100644
--- a/plugins/colorize/colorize.plugin.zsh
+++ b/plugins/colorize/colorize.plugin.zsh
@@ -7,9 +7,9 @@
alias ccat='colorize_via_pygmentize'
colorize_via_pygmentize() {
- if [ ! -x "$(which pygmentize)" ]; then
- echo "package \'Pygments\' is not installed!"
- return -1
+ if ! (( $+commands[pygmentize] )); then
+ echo "package 'Pygments' is not installed!"
+ return 1
fi
if [ $# -eq 0 ]; then
diff --git a/plugins/dash/dash.plugin.zsh b/plugins/dash/dash.plugin.zsh
index 5d0ec9a97..b00d4877e 100644
--- a/plugins/dash/dash.plugin.zsh
+++ b/plugins/dash/dash.plugin.zsh
@@ -11,7 +11,7 @@ _dash() {
# Use defaults to get the array of docsets from preferences
# Have to smash it into one big line so that each docset is an element of
# our DOCSETS array
- DOCSETS=("${(@f)$(defaults read com.kapeli.dash docsets | tr -d '\n' | grep -oE '\{.*?\}')}")
+ DOCSETS=("${(@f)$(defaults read com.kapeli.dashdoc docsets | tr -d '\n' | grep -oE '\{.*?\}')}")
# remove all newlines since defaults prints so pretty like
# Now get each docset and output each on their own line
diff --git a/plugins/dircycle/README.md b/plugins/dircycle/README.md
new file mode 100644
index 000000000..3ac162f05
--- /dev/null
+++ b/plugins/dircycle/README.md
@@ -0,0 +1,78 @@
+# dircycle
+
+Plugin for cycling through the directory stack
+
+This plugin enables directory navigation similar to using back and forward on browsers or common file explorers like Finder or Nautilus. It uses a small zle trick that lets you cycle through your directory stack left or right using <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> / <kbd>Right</kbd> . This is useful when moving back and forth between directories in development environments, and can be thought of as kind of a nondestructive pushd/popd.
+
+## Enabling the plugin
+
+1. Open your `.zshrc` file and add `dircycle` in the plugins section:
+
+ ```zsh
+ plugins=(
+ # all your enabled plugins
+ dircycle
+ )
+ ```
+
+2. Reload the source file or restart your Terminal session:
+
+ ```console
+ $ source ~/.zshrc
+ $
+ ```
+
+## Usage Examples
+
+Say you opened these directories on the terminal:
+
+```console
+~$ cd Projects
+~/Projects$ cd Hacktoberfest
+~/Projects/Hacktoberfest$ cd oh-my-zsh
+~/Projects/Hacktoberfest/oh-my-zsh$ dirs -v
+0 ~/Projects/Hacktoberfest/oh-my-zsh
+1 ~/Projects/Hacktoberfest
+2 ~/Projects
+3 ~
+```
+
+By pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd>, the current working directory or `$CWD` will be from `oh-my-zsh` to `Hacktoberfest`. Press it again and it will be at `Projects`.
+
+And by pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd>, the `$CWD` will be from `Projects` to `Hacktoberfest`. Press it again and it will be at `oh-my-zsh`.
+
+Here's a example history table with the same accessed directories like above:
+
+| Current `$CWD` | Key press | New `$CWD` |
+| --------------- | ----------------------------------------------------- | --------------- |
+| `oh-my-zsh` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `Hacktoberfest` |
+| `Hacktoberfest` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `Projects` |
+| `Projects` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `~` |
+| `~` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `Projects` |
+| `Projects` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `Hacktoberfest` |
+| `Hacktoberfest` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `oh-my-zsh` |
+| `oh-my-zsh` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `~` |
+
+Note the last traversal, when pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> on a last known `$CWD`, it will change back to the first known `$CWD`, which in the example is `~`.
+
+Here's an asciinema cast demonstrating the example above:
+
+[![asciicast](https://asciinema.org/a/204406.png)](https://asciinema.org/a/204406)
+
+## Functions
+
+| Function | Description |
+| -------------------- | --------------------------------------------------------------------------------------------------------- |
+| `insert-cycledleft` | Change `$CWD` to the previous known stack, binded on <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> |
+| `insert-cycledright` | Change `$CWD` to the next known stack, binded on <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> |
+
+## Rebinding keys
+
+You can bind these functions to other key sequences, as long as you know the bindkey sequence. For example, these commands bind to <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> / <kbd>Right</kbd> in `xterm-256color`:
+
+```zsh
+bindkey '^[[1;4D' insert-cycledleft
+bindkey '^[[1;4C' insert-cycledright
+```
+
+You can get the bindkey sequence by pressing <kbd>Ctrl</kbd> + <kbd>V</kbd>, then pressing the keyboard shortcut you want to use.
diff --git a/plugins/dircycle/dircycle.plugin.zsh b/plugins/dircycle/dircycle.plugin.zsh
index 8c58cab4c..bb69f6b3f 100644
--- a/plugins/dircycle/dircycle.plugin.zsh
+++ b/plugins/dircycle/dircycle.plugin.zsh
@@ -9,31 +9,36 @@
# pushd -N: start counting from right of `dirs' output
switch-to-dir () {
- [[ ${#dirstack} -eq 0 ]] && return
+ setopt localoptions nopushdminus
+ [[ ${#dirstack} -eq 0 ]] && return 1
while ! builtin pushd -q $1 &>/dev/null; do
# We found a missing directory: pop it out of the dir stack
builtin popd -q $1
# Stop trying if there are no more directories in the dir stack
- [[ ${#dirstack} -eq 0 ]] && break
+ [[ ${#dirstack} -eq 0 ]] && return 1
done
}
insert-cycledleft () {
- emulate -L zsh
- setopt nopushdminus
+ switch-to-dir +1 || return
- switch-to-dir +1
+ local fn
+ for fn (chpwd $chpwd_functions precmd $precmd_functions); do
+ (( $+functions[$fn] )) && $fn
+ done
zle reset-prompt
}
zle -N insert-cycledleft
insert-cycledright () {
- emulate -L zsh
- setopt nopushdminus
+ switch-to-dir -0 || return
- switch-to-dir -0
+ local fn
+ for fn (chpwd $chpwd_functions precmd $precmd_functions); do
+ (( $+functions[$fn] )) && $fn
+ done
zle reset-prompt
}
zle -N insert-cycledright
diff --git a/plugins/dirhistory/README.md b/plugins/dirhistory/README.md
new file mode 100644
index 000000000..511f2be17
--- /dev/null
+++ b/plugins/dirhistory/README.md
@@ -0,0 +1,17 @@
+# Dirhistory plugin
+
+This plugin adds keyboard shortcuts for navigating directory history and hierarchy.
+
+To use it, add `dirhistory` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... dirhistory)
+```
+## Keyboard Shortcuts
+
+| Shortcut | Description |
+|-----------------------------------|-----------------------------------------------------------|
+| <kbd>alt</kbd> + <kbd>left</kbd> | Go to previous directory |
+| <kbd>alt</kbd> + <kbd>right</kbd> | Undo <kbd>alt</kbd> + <kbd>left</kbd> |
+| <kbd>alt</kbd> + <kbd>up</kbd> | Move into the parent directory |
+| <kbd>alt</kbd> + <kbd>down</kbd> | Move into the first child directory by alphabetical order |
diff --git a/plugins/django/README.md b/plugins/django/README.md
new file mode 100644
index 000000000..415f6b7ea
--- /dev/null
+++ b/plugins/django/README.md
@@ -0,0 +1,56 @@
+# Django plugin
+
+This plugin adds completion and hints for the [Django Project](https://www.djangoproject.com/) `manage.py` commands
+and options.
+
+To use it, add `django` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... django)
+```
+
+## Usage
+
+```zsh
+$> python manage.py (press <TAB> here)
+```
+
+Would result in:
+
+```zsh
+cleanup -- remove old data from the database
+compilemessages -- compile .po files to .mo for use with gettext
+createcachetable -- creates table for SQL cache backend
+createsuperuser -- create a superuser
+dbshell -- run command-line client for the current database
+diffsettings -- display differences between the current settings and Django defaults
+dumpdata -- output contents of database as a fixture
+flush -- execute 'sqlflush' on the current database
+inspectdb -- output Django model module for tables in database
+loaddata -- install the named fixture(s) in the database
+makemessages -- pull out all strings marked for translation
+reset -- executes 'sqlreset' for the given app(s)
+runfcgi -- run this project as a fastcgi
+runserver -- start a lightweight web server for development
+...
+```
+
+If you want to see the options available for a specific command, try:
+
+```zsh
+$> python manage.py makemessages (press <TAB> here)
+```
+
+And that would result in:
+
+```zsh
+--all -a -- re-examine all code and templates
+--domain -d -- domain of the message files (default: "django")
+--extensions -e -- file extension(s) to examine (default: ".html")
+--help -- display help information
+--locale -l -- locale to process (default: all)
+--pythonpath -- directory to add to the Python path
+--settings -- python path to settings module
+...
+```
+
diff --git a/plugins/dnf/README.md b/plugins/dnf/README.md
index f9ef496fa..f9ef496fa 100755..100644
--- a/plugins/dnf/README.md
+++ b/plugins/dnf/README.md
diff --git a/plugins/docker-compose/README.md b/plugins/docker-compose/README.md
index d3fcb29fe..07a87bc81 100644
--- a/plugins/docker-compose/README.md
+++ b/plugins/docker-compose/README.md
@@ -1,4 +1,29 @@
-# Docker-compose plugin for oh my zsh
+# Docker-compose
-A copy of the completion script from the [docker-compose](https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose) git repo.
+This plugin provides completion for [docker-compose](https://docs.docker.com/compose/) as well as some
+aliases for frequent docker-compose commands.
+To use it, add docker-compose to the plugins array of your zshrc file:
+```
+plugins=(... docker-compose)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-----------|--------------------------|------------------------------------------------------------------|
+| dco | `docker-compose` | Docker-compose main command |
+| dcb | `docker-compose build` | Build containers |
+| dce | `docker-compose exec` | Execute command inside a container |
+| dcps | `docker-compose ps` | List containers |
+| dcrestart | `docker-compose restart` | Restart container |
+| dcrm | `docker-compose rm` | Remove container |
+| dcr | `docker-compose run` | Run a command in container |
+| dcstop | `docker-compose stop` | Stop a container |
+| dcup | `docker-compose up` | Build, (re)create, start, and attach to containers for a service |
+| dcupd | `docker-compose up -d` | Same as `dcup`, but starts as daemon |
+| dcdn | `docker-compose down` | Stop and remove containers |
+| dcl | `docker-compose logs` | Show logs of container |
+| dclf | `docker-compose logs -f` | Show logs and follow output |
+| dcpull | `docker-compose pull` | Pull image of a service |
+| dcstart | `docker-compose start` | Start a container |
diff --git a/plugins/docker-compose/docker-compose.plugin.zsh b/plugins/docker-compose/docker-compose.plugin.zsh
index 24bea318b..9ffe1edf6 100644
--- a/plugins/docker-compose/docker-compose.plugin.zsh
+++ b/plugins/docker-compose/docker-compose.plugin.zsh
@@ -18,6 +18,7 @@ alias dcrm='docker-compose rm'
alias dcr='docker-compose run'
alias dcstop='docker-compose stop'
alias dcup='docker-compose up'
+alias dcupd='docker-compose up -d'
alias dcdn='docker-compose down'
alias dcl='docker-compose logs'
alias dclf='docker-compose logs -f'
diff --git a/plugins/emacs/README.md b/plugins/emacs/README.md
new file mode 100644
index 000000000..c8e33b5ab
--- /dev/null
+++ b/plugins/emacs/README.md
@@ -0,0 +1,30 @@
+# Emacs plugin
+
+This plugin utilizes the Emacs daemon capability, allowing the user to quickly open frames, whether they are opened in a terminal via a ssh connection, or X frames opened on the same host. The plugin also provides some aliases for such operations.
+
+- You don't have the cost of starting Emacs all the time anymore
+- Opening a file is as fast as Emacs does not have anything else to do.
+- You can share opened buffered across opened frames.
+- Configuration changes made at runtime are applied to all frames.
+
+**NOTE:** requires Emacs 24 and newer.
+
+To use it, add emacs to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... emacs)
+```
+
+## Aliases
+
+The plugin uses a custom launcher (which we'll call here `$EMACS_LAUNCHER`) that is just a wrapper around [`emacsclient`](https://www.emacswiki.org/emacs/EmacsClient).
+
+| Alias | Command | Description |
+|--------|----------------------------------------------------|----------------------------------------------------------------|
+| emacs | `$EMACS_LAUNCHER --no-wait` | Opens a temporary emacsclient frame |
+| e | `emacs` | Same as emacs alias |
+| te | `$EMACS_LAUNCHER -nw` | Open terminal emacsclient |
+| eeval | `$EMACS_LAUNCHER --eval` | Same as `M-x eval` but from outside Emacs |
+| eframe | `emacsclient --alternate-editor "" --create-frame` | Create new X frame |
+| efile | - | Print the path to the file open in the current buffer |
+| ecd | - | Print the directory of the file open in the the current buffer |
diff --git a/plugins/emoji-clock/README.md b/plugins/emoji-clock/README.md
new file mode 100644
index 000000000..4934f380b
--- /dev/null
+++ b/plugins/emoji-clock/README.md
@@ -0,0 +1,14 @@
+# emoji-clock
+
+The plugin displays current time as an emoji symbol with half hour accuracy.
+
+To use it, add `emoji-clock` to the plugins array of your zshrc file:
+```
+plugins=(... emoji-clock)
+```
+
+## Features
+
+| Function | Description |
+|-------------------|----------------------------------------------------------------------|
+| `emoji-clock` | Displays current time in clock emoji symbol with half hour accuracy |
diff --git a/plugins/encode64/README.md b/plugins/encode64/README.md
new file mode 100644
index 000000000..9850da85f
--- /dev/null
+++ b/plugins/encode64/README.md
@@ -0,0 +1,69 @@
+# encode64
+
+Alias plugin for encoding or decoding using `base64` command
+
+## Functions and Aliases
+
+| Function | Alias | Description |
+| ---------- | ----- | ------------------------------ |
+| `encode64` | `e64` | Encodes given data to base64 |
+| `decode64` | `d64` | Decodes given data from base64 |
+
+## Enabling plugin
+
+1. Edit your `.zshrc` file and add `encode64` to the list of plugins:
+
+ ```sh
+ plugins=(
+ # ...other enabled plugins
+ encode64
+ )
+ ```
+
+2. Restart your terminal session or reload configuration by running:
+
+ ```sh
+ source ~/.zshrc
+ ```
+
+## Usage and examples
+
+### Encoding
+
+- From parameter
+
+ ```console
+ $ encode64 "oh-my-zsh"
+ b2gtbXktenNo
+ $ e64 "oh-my-zsh"
+ b2gtbXktenNo
+ ```
+
+- From piping
+
+ ```console
+ $ echo "oh-my-zsh" | encode64
+ b2gtbXktenNo==
+ $ echo "oh-my-zsh" | e64
+ b2gtbXktenNo==
+ ```
+
+### Decoding
+
+- From parameter
+
+ ```console
+ $ decode64 b2gtbXktenNo
+ oh-my-zsh%
+ $ d64 b2gtbXktenNo
+ oh-my-zsh%
+ ```
+
+- From piping
+
+ ```console
+ $ echo "b2gtbXktenNoCg==" | decode64
+ oh-my-zsh
+ $ echo "b2gtbXktenNoCg==" | decode64
+ oh-my-zsh
+ ```
diff --git a/plugins/fedora/README.md b/plugins/fedora/README.md
new file mode 100644
index 000000000..6594799b3
--- /dev/null
+++ b/plugins/fedora/README.md
@@ -0,0 +1 @@
+The fedora plugin is deprecated. Use the [dnf plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/dnf) instead.
diff --git a/plugins/gem/README.md b/plugins/gem/README.md
new file mode 100644
index 000000000..decd87ba3
--- /dev/null
+++ b/plugins/gem/README.md
@@ -0,0 +1,17 @@
+# Gem plugin
+
+This plugin adds completions and aliases for [Gem](https://rubygems.org/). The completions include the common `gem` subcommands as well as the installed gems in the current directory.
+
+To use it, add `gem` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... gem)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|----------------------|-------------------------------|--------------------------------------------|
+| gemb | `gem build *.gemspec` | Build a gem from a gemspec |
+| gemp | `gem push *.gem` | Push a gem up to the gem server |
+| gemy [gem] [version] | `gem yank [gem] -v [version]` | Remove a pushed gem version from the index |
diff --git a/plugins/git-auto-fetch/README.md b/plugins/git-auto-fetch/README.md
new file mode 100644
index 000000000..35f3c2f71
--- /dev/null
+++ b/plugins/git-auto-fetch/README.md
@@ -0,0 +1,31 @@
+# Git auto-fetch
+
+Automatically fetches all changes from all remotes while you are working in git-initialized directory.
+
+#### Usage
+
+Add `git-auto-fetch` to the plugins array in your zshrc file:
+
+```shell
+plugins=(... git-auto-fetch)
+```
+
+Every time you launch a command in your shell all remotes will be fetched in background.
+By default autofetch will be triggered only if last fetch was done at least 60 seconds ago.
+You can change fetch interval in your .zshrc:
+```
+GIT_AUTO_FETCH_INTERVAL=1200 #in seconds
+```
+Log of `git fetch --all` will be saved into `.git/FETCH_LOG`
+
+
+#### Toggle auto fetch per folder
+If you are using mobile connection or for any other reason you can disable git-auto-fetch for any folder:
+
+```shell
+$ cd to/your/project
+$ git-auto-fetch
+disabled
+$ git-auto-fetch
+enabled
+```
diff --git a/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh b/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh
new file mode 100644
index 000000000..1d20bc04b
--- /dev/null
+++ b/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh
@@ -0,0 +1,27 @@
+GIT_AUTO_FETCH_INTERVAL=${GIT_AUTO_FETCH_INTERVAL:=60}
+
+function git-fetch-all {
+ (`git rev-parse --is-inside-work-tree 2>/dev/null` &&
+ dir=`git rev-parse --git-dir` &&
+ [[ ! -f $dir/NO_AUTO_FETCH ]] &&
+ (( `date +%s` - `date -r $dir/FETCH_LOG +%s 2>/dev/null || echo 0` > $GIT_AUTO_FETCH_INTERVAL )) &&
+ git fetch --all &>! $dir/FETCH_LOG &)
+}
+
+function git-auto-fetch {
+ `git rev-parse --is-inside-work-tree 2>/dev/null` || return
+ guard="`git rev-parse --git-dir`/NO_AUTO_FETCH"
+
+ (rm $guard 2>/dev/null &&
+ echo "${fg_bold[green]}enabled${reset_color}") ||
+ (touch $guard &&
+ echo "${fg_bold[red]}disabled${reset_color}")
+}
+
+eval "override-git-auto-fetch-$(declare -f zle-line-init)"
+
+function zle-line-init () {
+ git-fetch-all
+ override-git-auto-fetch-zle-line-init
+}
+zle -N zle-line-init
diff --git a/plugins/git-flow-avh/git-flow-avh.plugin.zsh b/plugins/git-flow-avh/git-flow-avh.plugin.zsh
index db8b5ff89..db8b5ff89 100755..100644
--- a/plugins/git-flow-avh/git-flow-avh.plugin.zsh
+++ b/plugins/git-flow-avh/git-flow-avh.plugin.zsh
diff --git a/plugins/git-flow/README.md b/plugins/git-flow/README.md
index f37f418db..5d8049e3b 100644
--- a/plugins/git-flow/README.md
+++ b/plugins/git-flow/README.md
@@ -10,22 +10,23 @@ plugins=(... git-flow)
## Aliases
-More information about `git-flow` commands:
+More information about `git-flow` commands:
https://github.com/nvie/gitflow/wiki/Command-Line-Arguments
-| Alias | Command | Description |
-|---------|---------------------------|----------------------------------------|
-| `gfl` | `git flow` | Git-Flow command |
-| `gfli` | `git flow init` | Initialize git-flow repository |
-| `gcd` | `git checkout develop` | Check out develop branch |
-| `gch` | `git checkout hotfix` | Check out hotfix branch |
-| `gcr` | `git checkout release` | Check out release branch |
-| `gflf` | `git flow feature` | List existing feature branches |
-| `gflh` | `git flow hotfix` | List existing hotfix branches |
-| `gflr` | `git flow release` | List existing release branches |
-| `gflfs` | `git flow feature start` | Start a new feature: `gflfs <name>` |
-| `gflhs` | `git flow hotfix start` | Start a new hotfix: `gflhs <version>` |
-| `gflrs` | `git flow release start` | Start a new release: `gflrs <version>` |
-| `gflff` | `git flow feature finish` | Finish feature: `gflff <name>` |
-| `gflhf` | `git flow hotfix finish` | Finish hotfix: `gflhf <version>` |
-| `gflrf` | `git flow release finish` | Finish release: `gflrf <version>` |
+| Alias | Command | Description |
+|---------|----------------------------|----------------------------------------|
+| `gfl` | `git flow` | Git-Flow command |
+| `gfli` | `git flow init` | Initialize git-flow repository |
+| `gcd` | `git checkout develop` | Check out develop branch |
+| `gch` | `git checkout hotfix` | Check out hotfix branch |
+| `gcr` | `git checkout release` | Check out release branch |
+| `gflf` | `git flow feature` | List existing feature branches |
+| `gflh` | `git flow hotfix` | List existing hotfix branches |
+| `gflr` | `git flow release` | List existing release branches |
+| `gflfs` | `git flow feature start` | Start a new feature: `gflfs <name>` |
+| `gflhs` | `git flow hotfix start` | Start a new hotfix: `gflhs <version>` |
+| `gflrs` | `git flow release start` | Start a new release: `gflrs <version>` |
+| `gflff` | `git flow feature finish` | Finish feature: `gflff <name>` |
+| `gflfp` | `git flow feature publish` | Publish feature: `gflfp <name>` |
+| `gflhf` | `git flow hotfix finish` | Finish hotfix: `gflhf <version>` |
+| `gflrf` | `git flow release finish` | Finish release: `gflrf <version>` |
diff --git a/plugins/git-flow/git-flow.plugin.zsh b/plugins/git-flow/git-flow.plugin.zsh
index 5f5e4aa73..eab969d8a 100644
--- a/plugins/git-flow/git-flow.plugin.zsh
+++ b/plugins/git-flow/git-flow.plugin.zsh
@@ -33,6 +33,7 @@ alias gflfs='git flow feature start'
alias gflhs='git flow hotfix start'
alias gflrs='git flow release start'
alias gflff='git flow feature finish'
+alias gflfp='git flow feature publish'
alias gflhf='git flow hotfix finish'
alias gflrf='git flow release finish'
alias gflfp='git flow feature publish'
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 916866ff5..45a706173 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -51,6 +51,7 @@ alias gb='git branch'
alias gba='git branch -a'
alias gbd='git branch -d'
alias gbda='git branch --no-color --merged | command grep -vE "^(\*|\s*(master|develop|dev)\s*$)" | command xargs -n 1 git branch -d'
+alias gbD='git branch -D'
alias gbl='git blame -b -w'
alias gbnm='git branch --no-merged'
alias gbr='git branch --remote'
@@ -182,10 +183,11 @@ alias glgg='git log --graph'
alias glgga='git log --graph --decorate --all'
alias glgm='git log --graph --max-count=10'
alias glo='git log --oneline --decorate'
-alias glol="git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'"
-alias glod="git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'"
-alias glods="git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short"
-alias glola="git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all"
+alias glol="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'"
+alias glols="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --stat"
+alias glod="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'"
+alias glods="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short"
+alias glola="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all"
alias glog='git log --oneline --decorate --graph'
alias gloga='git log --oneline --decorate --graph --all'
alias glp="_git_log_prettily"
@@ -200,6 +202,8 @@ alias gma='git merge --abort'
alias gp='git push'
alias gpd='git push --dry-run'
+alias gpf='git push --force-with-lease'
+alias gpf!='git push --force'
alias gpoat='git push origin --all && git push origin --tags'
compdef _git gpoat=git-push
alias gpu='git push upstream'
@@ -216,6 +220,8 @@ alias grbm='git rebase master'
alias grbs='git rebase --skip'
alias grh='git reset'
alias grhh='git reset --hard'
+alias grm='git rm'
+alias grmc='git rm --cached'
alias grmv='git remote rename'
alias grrm='git remote remove'
alias grset='git remote set-url'
@@ -239,6 +245,7 @@ alias gstd='git stash drop'
alias gstl='git stash list'
alias gstp='git stash pop'
alias gsts='git stash show --text'
+alias gstall='git stash --all'
alias gsu='git submodule update'
alias gts='git tag -s'
@@ -248,6 +255,8 @@ alias gunignore='git update-index --no-assume-unchanged'
alias gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1'
alias gup='git pull --rebase'
alias gupv='git pull --rebase -v'
+alias gupa='git pull --rebase --autostash'
+alias gupav='git pull --rebase --autostash -v'
alias glum='git pull upstream master'
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
diff --git a/plugins/gitfast/README.md b/plugins/gitfast/README.md
new file mode 100644
index 000000000..c3073709e
--- /dev/null
+++ b/plugins/gitfast/README.md
@@ -0,0 +1,138 @@
+# Gitfast plugin
+
+This plugin adds completion for Git, using the zsh completion from git.git folks, which is much faster than the official one from zsh. A lot of zsh-specific features are not supported, like descriptions for every argument, but everything the bash completion has, this one does too (as it is using it behind the scenes). Not only is it faster, it should be more robust, and updated regularly to the latest git upstream version..
+
+To use it, add `gitfast` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... gitfast)
+```
+
+## Aliases
+
+| Alias | Command |
+| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
+| g | `git` |
+| ga | `git add` |
+| gaa | `git add --all` |
+| gapa | `git add --patch` |
+| gau | `git add --update` |
+| gb | `git branch` |
+| gba | `git branch -a` |
+| gbd | `git branch -d` |
+| gbda | `git branch --no-color --merged | command grep -vE "^(\*|\s*(master|develop|dev)\s*$)" | command xargs -n 1 git branch -d` |
+| gbl | `git blame -b -w` |
+| gbnm | `git branch --no-merged` |
+| gbr | `git branch --remote` |
+| gbs | `git bisect` |
+| gbsb | `git bisect bad` |
+| gbsg | `git bisect good` |
+| gbsr | `git bisect reset` |
+| gbss | `git bisect start` |
+| gc | `git commit -v` |
+| gc! | `git commit -v --amend` |
+| gca | `git commit -v -a` |
+| gca! | `git commit -v -a --amend` |
+| gcam | `git commit -a -m` |
+| gcan! | `git commit -v -a --no-edit --amend` |
+| gcans! | `git commit -v -a -s --no-edit --amend` |
+| gcb | `git checkout -b` |
+| gcd | `git checkout develop` |
+| gcf | `git config --list` |
+| gcl | `git clone --recursive` |
+| gclean | `git clean -fd` |
+| gcm | `git checkout master` |
+| gcmsg | `git commit -m` |
+| gcn! | `git commit -v --no-edit --amend` |
+| gco | `git checkout` |
+| gcount | `git shortlog -sn` |
+| gcp | `git cherry-pick` |
+| gcpa | `git cherry-pick --abort` |
+| gcpc | `git cherry-pick --continue` |
+| gcs | `git commit -S` |
+| gcsm | `git commit -s -m` |
+| gd | `git diff` |
+| gdca | `git diff --cached` |
+| gdct | `` git describe --tags `git rev-list --tags --max-count=1` `` |
+| gdt | `git diff-tree --no-commit-id --name-only -r` |
+| gdw | `git diff --word-diff` |
+| gf | `git fetch` |
+| gfa | `git fetch --all --prune` |
+| gfo | `git fetch origin` |
+| gg | `git gui citool` |
+| gga | `git gui citool --amend` |
+| ggpull | `git pull origin $(git_current_branch)` |
+| ggpur | `ggu` |
+| ggpush | `git push origin $(git_current_branch)` |
+| ggsup | `git branch --set-upstream-to=origin/$(git_current_branch)` |
+| ghh | `git help` |
+| gignore | `git update-index --assume-unchanged` |
+| gignored | `git ls-files -v | grep "^[[:lower:]]"` |
+| git-svn-dcommit-push | `git svn dcommit && git push github master:svntrunk` |
+| gk | `\gitk --all --branches` |
+| gke | `\gitk --all $(git log -g --pretty=%h)` |
+| gl | `git pull` |
+| glg | `git log --stat` |
+| glgg | `git log --graph` |
+| glgga | `git log --graph --decorate --all` |
+| glgm | `git log --graph --max-count=10` |
+| glgp | `git log --stat -p` |
+| glo | `git log --oneline --decorate` |
+| glog | `git log --oneline --decorate --graph` |
+| gloga | `git log --oneline --decorate --graph --all` |
+| glol | `git log --graph --pretty='\''%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\'' --abbrev-commit` |
+| glola | `git log --graph --pretty='\''%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\'' --abbrev-commit --all` |
+| glp | `_git_log_prettily` |
+| glum | `git pull upstream master` |
+| gm | `git merge` |
+| gmom | `git merge origin/master` |
+| gmt | `git mergetool --no-prompt` |
+| gmtvim | `git mergetool --no-prompt --tool=vimdiff` |
+| gmum | `git merge upstream/master` |
+| gp | `git push` |
+| gpd | `git push --dry-run` |
+| gpoat | `git push origin --all && git push origin --tags` |
+| gpristine | `git reset --hard && git clean -dfx` |
+| gpsup | `git push --set-upstream origin $(git_current_branch)` |
+| gpu | `git push upstream` |
+| gpv | `git push -v` |
+| gr | `git remote` |
+| gra | `git remote add` |
+| grb | `git rebase` |
+| grba | `git rebase --abort` |
+| grbc | `git rebase --continue` |
+| grbi | `git rebase -i` |
+| grbm | `git rebase master` |
+| grbs | `git rebase --skip` |
+| grh | `git reset HEAD` |
+| grhh | `git reset HEAD --hard` |
+| grmv | `git remote rename` |
+| grrm | `git remote remove` |
+| grset | `git remote set-url` |
+| grt | `cd $(git rev-parse --show-toplevel || echo ".")` |
+| gru | `git reset --` |
+| grup | `git remote update` |
+| grv | `git remote -v` |
+| gsb | `git status -sb` |
+| gsd | `git svn dcommit` |
+| gsi | `git submodule init` |
+| gsps | `git show --pretty=short --show-signature` |
+| gsr | `git svn rebase` |
+| gss | `git status -s` |
+| gst | `git status` |
+| gsta | `git stash save` |
+| gstaa | `git stash apply` |
+| gstc | `git stash clear` |
+| gstd | `git stash drop` |
+| gstl | `git stash list` |
+| gstp | `git stash pop` |
+| gsts | `git stash show --text` |
+| gsu | `git submodule update` |
+| gts | `git tag -s` |
+| gtv | `git tag | sort -V` |
+| gunignore | `git update-index --no-assume-unchanged` |
+| gunwip | `git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1` |
+| gup | `git pull --rebase` |
+| gupv | `git pull --rebase -v` |
+| gwch | `git whatchanged -p --abbrev-commit --pretty=medium` |
+| gwip | `git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip-- [skip ci]"` |
diff --git a/plugins/go/README.md b/plugins/go/README.md
new file mode 100644
index 000000000..6ce6f4ee2
--- /dev/null
+++ b/plugins/go/README.md
@@ -0,0 +1 @@
+The go plugin is deprecated. Use the [golang plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/golang) instead.
diff --git a/plugins/golang/README.md b/plugins/golang/README.md
new file mode 100644
index 000000000..72845b2a1
--- /dev/null
+++ b/plugins/golang/README.md
@@ -0,0 +1,29 @@
+# Golang plugin
+
+This plugin adds completion for the [Go Programming Language](https://golang.org/),
+as well as some aliases for common Golang commands.
+
+To use it, add `golang` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... golang)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+| ------- | ----------------------- | ------------------------------------------------------------- |
+| gob | `go build` | Build your code |
+| goc | `go clean` | Removes object files from package source directories |
+| god | `go doc` | Prints documentation comments |
+| gof | `go fmt` | Gofmt formats (aligns and indents) Go programs. |
+| gofa | `go fmt ./...` | Run go fmt for all packages in current directory, recursively |
+| gog | `go get` | Downloads packages and then installs them to $GOPATH |
+| goi | `go install` | Compiles and installs packages to $GOPATH |
+| gol | `go list` | Lists Go packages |
+| gop | `cd $GOPATH` | Takes you to $GOPATH |
+| gopb | `cd $GOPATH/bin` | Takes you to $GOPATH/bin |
+| gops | `cd $GOPATH/src` | Takes you to $GOPATH/src |
+| gor | `go run` | Compiles and runs your code |
+| got | `go test` | Runs tests |
+| gov | `go vet` | Vet examines Go source code and reports suspicious constructs |
diff --git a/plugins/gradle/README.md b/plugins/gradle/README.md
new file mode 100644
index 000000000..215503c81
--- /dev/null
+++ b/plugins/gradle/README.md
@@ -0,0 +1,23 @@
+## Gradle Plugin
+
+This plugin adds completions and aliases for [Gradle](https://gradle.org/).
+
+To use it, add `gradle` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... gradle)
+```
+
+## Usage
+
+This plugin creates an alias `gradle` which is used to determine whether the current working directory has a gradlew file. If gradlew is present it will be used otherwise `gradle` is used directly. Gradle tasks can be executed directly without regard for whether it is `gradle` or `gradlew`
+
+Examples:
+```zsh
+gradle test
+gradle build
+```
+
+## Completion
+
+The completion provided for this plugin caches the parsed tasks into a file named `.gradletasknamecache` in the current working directory, so you might want to add that to your `.gitignore` file so that it's not accidentally committed.
diff --git a/plugins/grunt/README.md b/plugins/grunt/README.md
new file mode 100644
index 000000000..a69a9b7fc
--- /dev/null
+++ b/plugins/grunt/README.md
@@ -0,0 +1,37 @@
+# grunt plugin
+
+This plugin adds completions for [grunt](https://github.com/gruntjs/grunt).
+
+To use it, add `grunt` to the plugins array of your `.zshrc` file:
+```zsh
+plugins=(... grunt)
+```
+
+## Enable caching
+
+If you want to use the cache, set the following in your `.zshrc`:
+```zsh
+zstyle ':completion:*' use-cache yes
+```
+
+## Settings
+
+* Show grunt file path:
+ ```zsh
+ zstyle ':completion::complete:grunt::options:' show_grunt_path yes
+ ```
+* Cache expiration days (default: 7):
+ ```zsh
+ zstyle ':completion::complete:grunt::options:' expire 1
+ ```
+* Not update options cache if target gruntfile is changed.
+ ```zsh
+ zstyle ':completion::complete:grunt::options:' no_update_options yes
+ ```
+
+Note that if you change the zstyle settings, you should delete the cache file and restart zsh.
+
+```zsh
+$ rm ~/.zcompcache/grunt
+$ exec zsh
+```
diff --git a/plugins/gulp/README.md b/plugins/gulp/README.md
new file mode 100644
index 000000000..4ed2b99b3
--- /dev/null
+++ b/plugins/gulp/README.md
@@ -0,0 +1,8 @@
+# gulp plugin
+
+This plugin adds autocompletion for your [`gulp`](https://gulpjs.com/) tasks. It grabs all available tasks from the `gulpfile.js` in the current directory.
+
+To use it, add `gulp` to the plugins array of your `.zshrc` file:
+```
+plugins=(... gulp)
+```
diff --git a/plugins/iterm2/README.md b/plugins/iterm2/README.md
new file mode 100644
index 000000000..50cdebf5e
--- /dev/null
+++ b/plugins/iterm2/README.md
@@ -0,0 +1,29 @@
+# iTerm2 plugin
+
+This plugin adds a few functions that are useful when using [iTerm2](https://www.iterm2.com/).
+
+To use it, add _iterm2_ to the plugins array of your zshrc file:
+```
+plugins=(... iterm2)
+```
+
+## Plugin commands
+
+* `_iterm2_command <iterm2-command>`
+ executes an arbitrary iTerm2 command via an escape code sequence.
+ See https://iterm2.com/documentation-escape-codes.html for all supported commands.
+
+* `iterm2_profile <profile-name>`
+ changes the current terminal window's profile (colors, fonts, settings, etc).
+ `profile-name` is the name of another iTerm2 profile. The profile name can contain spaces.
+
+* `iterm2_tab_color <red> <green> <blue>`
+ changes the color of iTerm2's currently active tab.
+ `red`/`green`/`blue` are on the range 0-255.
+
+* `iterm2_tab_color_reset`
+ resets the color of iTerm2's current tab back to default.
+
+## Contributors
+
+- [Aviv Rosenberg](https://github.com/avivrosenberg)
diff --git a/plugins/iwhois/README.md b/plugins/iwhois/README.md
new file mode 100644
index 000000000..1626b8524
--- /dev/null
+++ b/plugins/iwhois/README.md
@@ -0,0 +1,24 @@
+# iwhois
+
+Provides a whois command with a more accurate and up-to-date list of whois servers
+using CNAMES, via [whois.geek.nz](https://github.com/iwantmyname/whois.geek.nz).
+
+To use it, add iwhois to the plugins array of your zshrc file:
+```
+plugins=(... iwhois)
+```
+
+### Usage
+
+The plugin defines the function `iwhois` that takes a domain name as an argument:
+
+```
+$ iwhois github.com
+ Domain Name: GITHUB.COM
+ Registry Domain ID: 1264983250_DOMAIN_COM-VRSN
+ Registrar WHOIS Server: whois.markmonitor.com
+ Registrar URL: http://www.markmonitor.com
+ Updated Date: 2017-06-26T16:02:39Z
+ Creation Date: 2007-10-09T18:20:50Z
+ ...
+```
diff --git a/plugins/iwhois/iwhois.plugin.zsh b/plugins/iwhois/iwhois.plugin.zsh
index 38790bf28..22a75eec1 100644
--- a/plugins/iwhois/iwhois.plugin.zsh
+++ b/plugins/iwhois/iwhois.plugin.zsh
@@ -1,6 +1,3 @@
-# provide a whois command with a more accurate and up to date list of whois
-# servers using CNAMES via whois.geek.nz
-
function iwhois() {
resolver="whois.geek.nz"
tld=`echo ${@: -1} | awk -F "." '{print $NF}'`
diff --git a/plugins/jenv/README.md b/plugins/jenv/README.md
index 8899d21ae..c043c626e 100644
--- a/plugins/jenv/README.md
+++ b/plugins/jenv/README.md
@@ -1,9 +1,9 @@
# jenv plugin
[jenv](https://www.jenv.be/) is a Java version manager similiar to [rbenv](https://github.com/rbenv/rbenv)
-and [pyenv]|(https://github.com/yyuu/pyenv).
+and [pyenv](https://github.com/yyuu/pyenv).
-This plugin initializes jenv and adds provides the jenv_prompt_info function to add Java
+This plugin initializes jenv and provides the `jenv_prompt_info` function to add Java
version information to prompts.
To use, add `jenv` to your plugins array in your zshrc file:
@@ -11,3 +11,17 @@ To use, add `jenv` to your plugins array in your zshrc file:
```zsh
plugins=(... jenv)
```
+
+## Theme example
+
+You can modify your `$PROMPT` or `$RPROMPT` variables to run `jenv_prompt_info`.
+
+For example:
+```
+PROMPT="%~$ "
+RPROMPT='$(jenv_prompt_info)'
+```
+changes your prompt to:
+```
+~/java/project$ â–‹ oracle64-1.6.0.39
+```
diff --git a/plugins/jump/README.md b/plugins/jump/README.md
new file mode 100644
index 000000000..ed6415289
--- /dev/null
+++ b/plugins/jump/README.md
@@ -0,0 +1,19 @@
+# Jump plugin
+
+This plugin allows to easily jump around the file system by manually adding marks.
+Those marks are stored as symbolic links in the directory `$MARKPATH` (default `$HOME/.marks`)
+
+To use it, add `jump` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... jump)
+```
+
+## Commands
+
+| Command | Description |
+|----------------------|-------------------------------------------------------------------------------------------------|
+| `jump <mark-name>` | Jump to the given mark |
+| `mark [mark-name]` | Create a mark with the given name or with the name of the current directory if none is provided |
+| `unmark <mark-name>` | Remove the given mark |
+| `marks` | List the existing marks and the directories they point to |
diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh
index 168dfaba2..a19a86022 100644
--- a/plugins/jump/jump.plugin.zsh
+++ b/plugins/jump/jump.plugin.zsh
@@ -19,7 +19,7 @@ mark() {
MARK="$1"
fi
if read -q \?"Mark $PWD as ${MARK}? (y/n) "; then
- mkdir -p "$MARKPATH"; ln -s "$PWD" "$MARKPATH/$MARK"
+ mkdir -p "$MARKPATH"; ln -sfn "$PWD" "$MARKPATH/$MARK"
fi
}
diff --git a/plugins/kate/README.md b/plugins/kate/README.md
new file mode 100644
index 000000000..aa2eaa3cc
--- /dev/null
+++ b/plugins/kate/README.md
@@ -0,0 +1,20 @@
+# Kate plugin
+
+This plugin adds aliases for the [Kate editor](https://kate-editor.org).
+
+To use it, add kate to the plugins array of your zshrc file:
+```
+plugins=(... kate)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-------|------------------------|---------------------|
+| kate | `kate >/dev/null 2>&1` | Start kate silently |
+
+## Functions
+
+| Function | Description |
+|------------|------------------------------------------|
+| `kt <dir>` | Change to directory and start kate there |
diff --git a/plugins/kubectl/README.md b/plugins/kubectl/README.md
new file mode 100644
index 000000000..a93a9339e
--- /dev/null
+++ b/plugins/kubectl/README.md
@@ -0,0 +1,88 @@
+# Kubectl plugin
+
+This plugin adds completion for the [Kubernetes cluster manager](https://kubernetes.io/docs/reference/kubectl/kubectl/),
+as well as some aliases for common kubectl commands.
+
+To use it, add `kubectl` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... kubectl)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|:--------|:------------------------------------|:-------------------------------------------------------------------------------------------------|
+| k | `kubectl` | The kubectl command |
+| kaf | `kubectl apply -f` | Apply a YML file |
+| keti | `kubectl exec -ti` | Drop into an interactive terminal on a container |
+| | | **Manage configuration quickly to switch contexts between local, dev and staging** |
+| kcuc | `kubectl config use-context` | Set the current-context in a kubeconfig file |
+| kcsc | `kubectl config set-context` | Set a context entry in kubeconfig |
+| kcdc | `kubectl config delete-context` | Delete the specified context from the kubeconfig |
+| kccc | `kubectl config current-context` | Display the current-context |
+| | | **General aliases** |
+| kdel | `kubectl delete` | Delete resources by filenames, stdin, resources and names, or by resources and label selector |
+| kdelf | `kubectl delete -f` | Delete a pod using the type and name specified in -f argument |
+| | | **Pod management** |
+| kgp | `kubectl get pods` | List all pods in ps output format |
+| kgpw | `kgp --watch` | After listing/getting the requested object, watch for changes |
+| kgpwide | `kgp -o wide` | Output in plain-text format with any additional information. For pods, the node name is included |
+| kep | `kubectl edit pods` | Edit pods from the default editor |
+| kdp | `kubectl describe pods` | Describe all pods |
+| kdelp | `kubectl delete pods` | Delete all pods matching passed arguments |
+| kgpl | `kgp -l` | Get pod by label. Example: `kgpl "app=myapp" -n myns` |
+| | | **Service management** |
+| kgs | `kubectl get svc` | List all services in ps output format |
+| kgsw | `kgs --watch` | After listing all services, watch for changes |
+| kgswide | `kgs -o wide` | After listing all services, output in plain-text format with any additional information |
+| kes | `kubectl edit svc` | Edit services(svc) from the default editor |
+| kds | `kubectl describe svc` | Describe all services in detail |
+| kdels | `kubectl delete svc` | Delete all services matching passed argument |
+| | | **Ingress management** |
+| kgi | `kubectl get ingress` | List ingress resources in ps output format |
+| kei | `kubectl edit ingress` | Edit ingress resource from the default editor |
+| kdi | `kubectl describe ingress` | Describe ingress resource in detail |
+| kdeli | `kubectl delete ingress` | Delete ingress resources matching passed argument |
+| | | **Namespace management** |
+| kgns | `kubectl get namespaces` | List the current namespaces in a cluster |
+| kens | `kubectl edit namespace` | Edit namespace resource from the default editor |
+| kdns | `kubectl describe namespace` | Describe namespace resource in detail |
+| kdelns | `kubectl delete namespace` | Delete the namespace. WARNING! This deletes everything in the namespace |
+| | | **ConfigMap management** |
+| kgcm | `kubectl get configmaps` | List the configmaps in ps output format |
+| kecm | `kubectl edit configmap` | Edit configmap resource from the default editor |
+| kdcm | `kubectl describe configmap` | Describe configmap resource in detail |
+| kdelcm | `kubectl delete configmap` | Delete the configmap |
+| | | **Secret management** |
+| kgsec | `kubectl get secret` | Get secret for decoding |
+| kdsec | `kubectl describe secret` | Describe secret resource in detail |
+| kdelsec | `kubectl delete secret` | Delete the secret |
+| | | **Deployment management** |
+| kgd | `kubectl get deployment` | Get the deployment |
+| kgdw | `kgd --watch` | After getting the deployment, watch for changes |
+| kgdwide | `kgd -o wide` | After getting the deployment, output in plain-text format with any additional information |
+| ked | `kubectl edit deployment` | Edit deployment resource from the default editor |
+| kdd | `kubectl describe deployment` | Describe deployment resource in detail |
+| kdeld | `kubectl delete deployment` | Delete the deployment |
+| ksd | `kubectl scale deployment` | Scale a deployment |
+| krsd | `kubectl rollout status deployment` | Check the rollout status of a deployment |
+| | | **Rollout management** |
+| kgrs | `kubectl get rs` | To see the ReplicaSet `rs` created by the deployment |
+| krh | `kubectl rollout history` | Check the revisions of this deployment |
+| kru | `kubectl rollout undo` | Rollback to the previous revision |
+| | | **Port forwarding** |
+| kpf | `kubectl port-forward` | Forward one or more local ports to a pod |
+| | | **Tools for accessing all information** |
+| kga | `kubectl get all` | List all resources in ps format |
+| kgaa | `kubectl get all --all-namespaces` | List the requested object(s) across all namespaces |
+| | | **Logs** |
+| kl | `kubectl logs` | Print the logs for a container or resource |
+| klf | `kubectl logs -f` | Stream the logs for a container or resource (follow) |
+| | | **File copy** |
+| kcp | `kubectl cp` | Copy files and directories to and from containers |
+| | | **Node management** |
+| kgno | `kubectl get nodes` | List the nodes in ps output format |
+| keno | `kubectl edit node` | Edit nodes resource from the default editor |
+| kdno | `kubectl describe node` | Describe node resource in detail |
+| kdelno | `kubectl delete node` | Delete the node |
diff --git a/plugins/kubectl/kubectl.plugin.zsh b/plugins/kubectl/kubectl.plugin.zsh
index 680ec1a8c..4cfe3f45b 100644
--- a/plugins/kubectl/kubectl.plugin.zsh
+++ b/plugins/kubectl/kubectl.plugin.zsh
@@ -25,17 +25,25 @@ alias kcsc='kubectl config set-context'
alias kcdc='kubectl config delete-context'
alias kccc='kubectl config current-context'
+# General aliases
+alias kdel='kubectl delete'
+alias kdelf='kubectl delete -f'
+
# Pod management.
alias kgp='kubectl get pods'
+alias kgpw='kgp --watch'
+alias kgpwide='kgp -o wide'
alias kep='kubectl edit pods'
alias kdp='kubectl describe pods'
alias kdelp='kubectl delete pods'
# get pod by label: kgpl "app=myapp" -n myns
-alias kgpl='function _kgpl(){ label=$1; shift; kgp -l $label $*; };_kgpl'
+alias kgpl='kgp -l'
# Service management.
alias kgs='kubectl get svc'
+alias kgsw='kgs --watch'
+alias kgswide='kgs -o wide'
alias kes='kubectl edit svc'
alias kds='kubectl describe svc'
alias kdels='kubectl delete svc'
@@ -46,6 +54,18 @@ alias kei='kubectl edit ingress'
alias kdi='kubectl describe ingress'
alias kdeli='kubectl delete ingress'
+# Namespace management
+alias kgns='kubectl get namespaces'
+alias kens='kubectl edit namespace'
+alias kdns='kubectl describe namespace'
+alias kdelns='kubectl delete namespace'
+
+# ConfigMap management
+alias kgcm='kubectl get configmaps'
+alias kecm='kubectl edit configmap'
+alias kdcm='kubectl describe configmap'
+alias kdelcm='kubectl delete configmap'
+
# Secret management
alias kgsec='kubectl get secret'
alias kdsec='kubectl describe secret'
@@ -53,6 +73,8 @@ alias kdelsec='kubectl delete secret'
# Deployment management.
alias kgd='kubectl get deployment'
+alias kgdw='kgd --watch'
+alias kgdwide='kgd -o wide'
alias ked='kubectl edit deployment'
alias kdd='kubectl describe deployment'
alias kdeld='kubectl delete deployment'
@@ -65,7 +87,11 @@ alias krh='kubectl rollout history'
alias kru='kubectl rollout undo'
# Port forwarding
-alias kpf="k port-forward"
+alias kpf="kubectl port-forward"
+
+# Tools for accessing all information
+alias kga='kubectl get all'
+alias kgaa='kubectl get all --all-namespaces'
# Logs
alias kl='kubectl logs'
@@ -78,4 +104,4 @@ alias kcp='kubectl cp'
alias kgno='kubectl get nodes'
alias keno='kubectl edit node'
alias kdno='kubectl describe node'
-alias kdelno='kubectl delete node' \ No newline at end of file
+alias kdelno='kubectl delete node'
diff --git a/plugins/laravel/README.md b/plugins/laravel/README.md
new file mode 100644
index 000000000..067c1e9fb
--- /dev/null
+++ b/plugins/laravel/README.md
@@ -0,0 +1,19 @@
+# Laravel plugin
+
+This plugin adds aliases and autocompletion for Laravel [Artisan](https://laravel.com/docs/artisan) and [Bob](http://daylerees.github.io/laravel-bob/) command-line interfaces.
+
+**NOTE:** completion might not work for recent Laravel versions since it hasn't been updated since 2012.
+In that case, check out plugins `laravel4` and `laravel5`.
+
+To use it, add `laravel` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... laravel)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-----------|--------------------------|----------------------|
+| artisan | `php artisan` | Main Artisan command |
+| bob | `php artisan bob::build` | Main Bob command |
diff --git a/plugins/laravel4/README.md b/plugins/laravel4/README.md
new file mode 100644
index 000000000..c945601f7
--- /dev/null
+++ b/plugins/laravel4/README.md
@@ -0,0 +1,18 @@
+# Laravel 4 plugin
+
+This plugin adds some aliases for common [Laravel 4](https://laravel.com/docs/4.2) commands.
+
+To use it, add `laravel4` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... laravel4)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-----------|-------------------------------------------|-------------------------------------------------------------|
+| la4 | `php artisan` | Main Artisan command |
+| la4dump | `php artisan dump-autoload` | Regenerate framework autoload files |
+| la4cache | `php artisan cache:clear` | Flush the application cache |
+| la4routes | `php artisan routes` | List all registered routes |
diff --git a/plugins/laravel5/README.md b/plugins/laravel5/README.md
new file mode 100644
index 000000000..933342a9e
--- /dev/null
+++ b/plugins/laravel5/README.md
@@ -0,0 +1,18 @@
+# Laravel 5 plugin
+
+This plugin adds some aliases for common [Laravel 5](https://laravel.com/docs) commands.
+
+To use it, add `laravel5` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... laravel5)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-----------|------------------------------|----------------------------------------------------|
+| la5 | `php artisan` | Main Artisan command |
+| la5cache | `php artisan cache:clear` | Flush the application cache |
+| la5routes | `php artisan route:list` | List all registered routes |
+| la5vendor | `php artisan vendor:publish` | Publish any publishable assets from vendor package |
diff --git a/plugins/lol/README.md b/plugins/lol/README.md
new file mode 100644
index 000000000..b0e54f575
--- /dev/null
+++ b/plugins/lol/README.md
@@ -0,0 +1,83 @@
+# lol
+
+Plugin for adding catspeak aliases, because why not
+
+## Enabling the plugin
+
+1. Open your `.zshrc` file and add `lol` in the plugins section:
+
+ ```zsh
+ plugins=(
+ # all your enabled plugins
+ lol
+ )
+ ```
+
+2. Reload the source file or restart your Terminal session:
+
+ ```console
+ $ source ~/.zshrc
+ $
+ ```
+
+## Aliases
+
+| Alias | Command |
+| ------------ | ---------------------------------------------------------------- |
+| `:3` | `echo` |
+| `alwayz` | `tail -f` |
+| `bringz` | `git pull` |
+| `btw` | `nice` |
+| `byes` | `exit` |
+| `chicken` | `git add` |
+| `cya` | `reboot` |
+| `donotwant` | `rm` |
+| `dowant` | `cp` |
+| `gimmeh` | `touch` |
+| `gtfo` | `mv` |
+| `hackzor` | `git init` |
+| `hai` | `cd` |
+| `icanhas` | `mkdir` |
+| `ihasbucket` | `df -h` |
+| `iminurbase` | `finger` |
+| `inur` | `locate` |
+| `invisible` | `cat` |
+| `iz` | `ls` |
+| `kthxbai` | `halt` |
+| `letcat` | `git checkout` |
+| `moar` | `more` |
+| `nomnom` | `killall` |
+| `nomz` | `ps aux` |
+| `nowai` | `chmod` |
+| `oanward` | `git commit -m` |
+| `obtw` | `nohup` |
+| `onoz` | `cat /var/log/errors.log` |
+| `ooanward` | `git commit -am` |
+| `plz` | `pwd` |
+| `pwned` | `ssh` |
+| `rtfm` | `man` |
+| `rulz` | `git push` |
+| `tldr` | `less` |
+| `violenz` | `git rebase` |
+| `visible` | `echo` |
+| `wtf` | `dmesg` |
+| `yolo` | `git commit -m "$(curl -s https://whatthecommit.com/index.txt)"` |
+
+## Usage Examples
+
+```sh
+# mkdir new-directory
+icanhas new-directory
+
+# killall firefox
+nomnom firefox
+
+# chmod u=r,go= some.file
+nowai u=r,go= some.file
+
+# ssh root@catserver.org
+pwned root@catserver.org
+
+# git commit -m "$(curl -s https://whatthecommit.com/index.txt)"
+yolo
+```
diff --git a/plugins/macports/README.md b/plugins/macports/README.md
new file mode 100644
index 000000000..ded823f3f
--- /dev/null
+++ b/plugins/macports/README.md
@@ -0,0 +1,21 @@
+# Macports plugin
+
+This plugin adds completion for the package manager [Macports](https://macports.com/),
+as well as some aliases for common Macports commands.
+
+To use it, add `macports` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... macports)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-------|------------------------------------|--------------------------------------------------------------|
+| pc | `sudo port clean --all installed` | Clean up intermediate installation files for installed ports |
+| pi | `sudo port install` | Install package given as argument |
+| psu | `sudo port selfupdate` | Update ports tree with MacPorts repository |
+| puni | `sudo port uninstall inactive` | Uninstall inactive ports |
+| puo | `sudo port upgrade outdated` | Upgrade ports with newer versions available |
+| pup | `psu && puo` | Update ports tree, then upgrade ports to newest versions |
diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh
index 277352e32..d1fde30d4 100644
--- a/plugins/macports/macports.plugin.zsh
+++ b/plugins/macports/macports.plugin.zsh
@@ -1,8 +1,6 @@
-#Aliases
alias pc="sudo port clean --all installed"
-alias pi="sudo port install $1"
+alias pi="sudo port install"
alias psu="sudo port selfupdate"
alias puni="sudo port uninstall inactive"
alias puo="sudo port upgrade outdated"
alias pup="psu && puo"
-
diff --git a/plugins/man/man.zsh b/plugins/man/man.plugin.zsh
index 3490b0b61..94aa4918d 100644
--- a/plugins/man/man.zsh
+++ b/plugins/man/man.plugin.zsh
@@ -5,7 +5,7 @@
# * Jerry Ling<jerryling315@gmail.com>
#
# ------------------------------------------------------------------------------
-# Usgae
+# Usage
# -----
#
# man will be inserted before the command
@@ -24,4 +24,4 @@ bindkey "\e"man man-command-line
# ------------------------------------------------------------------------------
# Also, you might want to use man-preview included in 'osx' plugin
# just substitute "man" in the function with "man-preview" after you included OS X in
-# the .zshrc \ No newline at end of file
+# the .zshrc
diff --git a/plugins/mercurial/mercurial.plugin.zsh b/plugins/mercurial/mercurial.plugin.zsh
index 3ae59496e..58bc571a0 100644
--- a/plugins/mercurial/mercurial.plugin.zsh
+++ b/plugins/mercurial/mercurial.plugin.zsh
@@ -1,4 +1,5 @@
# Mercurial
+alias hga='hg add'
alias hgc='hg commit'
alias hgb='hg branch'
alias hgba='hg branches'
diff --git a/plugins/mix/README.md b/plugins/mix/README.md
new file mode 100644
index 000000000..878f370f2
--- /dev/null
+++ b/plugins/mix/README.md
@@ -0,0 +1,19 @@
+# Mix plugin
+
+This plugin adds completions for the [Elixir's Mix build tool](https://hexdocs.pm/mix/Mix.html).
+
+To use it, add `mix` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... mix)
+```
+## Supported Task Types
+
+| Task Type | Documentation |
+|-------------------------|----------------------------------------------------------|
+| Elixir | [Elixir Lang](https://elixir-lang.org/) |
+| Phoenix v1.2.1 and below| [Phoenix](https://hexdocs.pm/phoenix/1.2.1/Phoenix.html) |
+| Phoenix v1.3.0 and above| [Phoenix](https://hexdocs.pm/phoenix/Phoenix.html) |
+| Ecto | [Ecto](https://hexdocs.pm/ecto/Ecto.html) |
+| Hex | [Hex](https://hex.pm/) |
+| Nerves | [Nerves](https://nerves-project.org/) |
diff --git a/plugins/mix/_mix b/plugins/mix/_mix
index ecbe7e2d3..61fa1cf25 100644
--- a/plugins/mix/_mix
+++ b/plugins/mix/_mix
@@ -31,6 +31,9 @@ _1st_arguments=(
'ecto.migrations:Displays the up / down migration status'
'ecto.rollback:Reverts applied migrations'
'escript.build:Builds an escript for the project'
+ 'firmware:Nerves - Build a firmware image for the selected target platform'
+ 'firmware.burn:Nerves - Writes the generated firmware image to an attached SDCard or file'
+ 'firmware.image:Nerves - Create a firmware image file that can be copied byte-for-byte'
'help:Print help information for tasks'
'hex:Print hex help information'
'hex.config:Read or update hex config'
@@ -48,6 +51,11 @@ _1st_arguments=(
'local.phoenix:Updates Phoenix locally'
'local.phx:Updates the Phoenix project generator locally'
'local.rebar:Install rebar locally'
+ 'nerves.artifact:Create an artifact for a specified Nerves package'
+ 'nerves.artifact.get:Nerves get artifacts'
+ 'nerves.info:Prints Nerves system information'
+ 'nerves.new:Create a new Nerves application'
+ 'nerves.release.init:Prepare a new Nerves project for use with releases'
'new:Create a new Elixir project'
'phoenix.digest:Digests and compress static files'
'phoenix.gen.channel:Generates a Phoenix channel'
diff --git a/plugins/mosh/README.md b/plugins/mosh/README.md
new file mode 100644
index 000000000..4bbecf478
--- /dev/null
+++ b/plugins/mosh/README.md
@@ -0,0 +1,9 @@
+# Mosh Plugin
+
+This plugin allows SSH tab completion for [mosh](https://mosh.org/) hostnames.
+
+To use it, add `mosh` to the plugins array in your zshrc file:
+
+```
+plugins=(... mosh)
+```
diff --git a/plugins/n98-magerun/n98-magerun.plugin.zsh b/plugins/n98-magerun/n98-magerun.plugin.zsh
index bfcf27b98..bfcf27b98 100755..100644
--- a/plugins/n98-magerun/n98-magerun.plugin.zsh
+++ b/plugins/n98-magerun/n98-magerun.plugin.zsh
diff --git a/plugins/nanoc/README.md b/plugins/nanoc/README.md
new file mode 100644
index 000000000..9e21805f4
--- /dev/null
+++ b/plugins/nanoc/README.md
@@ -0,0 +1,23 @@
+# Nanoc plugin
+
+This plugin adds some aliases and autocompletion for common [Nanoc](https://nanoc.ws) commands.
+
+To use it, add `nanoc` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... nanoc)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-------|-----------------------|----------------------------------------------------|
+| n | `nanoc` | Main Nanoc command |
+| na | `nanoc autocompile` | The autocompile command has been deprecated since Nanoc 3.6. Use [guard-nanoc](https://github.com/nanoc/nanoc/tree/master/guard-nanoc) instead. |
+| nco | `nanoc compile` | Compile all items of the current site. |
+| nci | `nanoc create_item` | Command was deprecated in Nanoc v.3 and completely removed in v.4 |
+| ncl | `nanoc create_layout` | Command was deprecated in Nanoc v.3 and completely removed in v.4 |
+| ncs | `nanoc create_site` | Create a new site at the given path. The site will use the filesystem data source. |
+| nd | `nanoc deploy` | Deploys the compiled site. The compiled site contents in the output directory will be uploaded to the destination, which is specified using the --target option. |
+| nv | `nanoc view` | Start the static web server. Unless specified, the web server will run on port 3000 and listen on all IP addresses. |
+| nw | `nanoc watch` | The watch command has been deprecated since Nanoc 3.6. Use [guard-nanoc](https://github.com/nanoc/nanoc/tree/master/guard-nanoc) instead. | \ No newline at end of file
diff --git a/plugins/ng/ng.plugin.zsh b/plugins/ng/ng.plugin.zsh
index 2488bc230..b802bf617 100644
--- a/plugins/ng/ng.plugin.zsh
+++ b/plugins/ng/ng.plugin.zsh
@@ -1,5 +1,5 @@
-ng_opts='addon asset-sizes b build completion d destroy doc e2e g generate get github-pages:deploy gh-pages:deploy h help i init install lint make-this-awesome new s serve server set t test v version -h --help'
+ng_opts='addon asset-sizes b build completion d destroy doc e2e g generate get github-pages:deploy gh-pages:deploy h help i init install lint make-this-awesome new s serve server set t test update v version -h --help'
_ng_completion () {
local words cword opts
@@ -55,6 +55,10 @@ _ng_completion () {
t | test )
opts='--browsers --colors --config-file --environment --filter --host --launch --log-level --module --path --port --query --reporter --server --silent --test-page --test-port --watch -H -c -cf -e -f -m -r -s -tp -w'
;;
+
+ update )
+ opts='--all --dryRun --force --from --migrate-only --next --registry --to -d'
+ ;;
v | version )
opts='--verbose'
diff --git a/plugins/node/README.md b/plugins/node/README.md
new file mode 100644
index 000000000..c392dc0bf
--- /dev/null
+++ b/plugins/node/README.md
@@ -0,0 +1,16 @@
+# node plugin
+
+To use it, add `node` to the plugins array of your zshrc file:
+```zsh
+plugins=(... node)
+```
+
+This plugin adds `node-docs` function that open specific section in [Node.js](https://nodejs.org) documentation (depending on the installed version).
+For example:
+
+```zsh
+# Opens https://nodejs.org/docs/latest-v10.x/api/fs.html
+$ node-docs fs
+# Opens https://nodejs.org/docs/latest-v10.x/api/path.html
+$ node-docs path
+```
diff --git a/plugins/nvm/README.md b/plugins/nvm/README.md
new file mode 100644
index 000000000..079cf0009
--- /dev/null
+++ b/plugins/nvm/README.md
@@ -0,0 +1,9 @@
+# nvm plugin
+
+This plugin adds autocompletions for [nvm](https://github.com/creationix/nvm) — a Node.js version manager.
+It also automatically sources nvm, so you don't need to do it manually in your `.zshrc`.
+
+To use it, add `nvm` to the plugins array of your zshrc file:
+```zsh
+plugins=(... nvm)
+```
diff --git a/plugins/nyan/README.md b/plugins/nyan/README.md
new file mode 100644
index 000000000..592941824
--- /dev/null
+++ b/plugins/nyan/README.md
@@ -0,0 +1,5 @@
+# Nyan plugin
+
+This plugin adds a command to display [Nyan Cat](https://en.wikipedia.org/wiki/Nyan_Cat) right inside your terminal.
+
+**Plugin is deprecated**. Check [official repo](https://github.com/klange/nyancat) for more information. \ No newline at end of file
diff --git a/plugins/osx/README.md b/plugins/osx/README.md
index d3a8f94df..7c75c65f5 100644
--- a/plugins/osx/README.md
+++ b/plugins/osx/README.md
@@ -42,19 +42,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## Commands
-| Command | Description |
-| :-------------- | :----------------------------------------------- |
-| `tab` | Open the current directory in a new tab |
-| `split_tab` | Split the current terminal tab horizontally |
-| `vsplit_tab` | Split the current terminal tab vertically |
-| `ofd` | Open the current directory in a Finder window |
-| `pfd` | Return the path of the frontmost Finder window |
-| `pfs` | Return the current Finder selection |
-| `cdf` | `cd` to the current Finder directory |
-| `pushdf` | `pushd` to the current Finder directory |
-| `quick-look` | Quick-Look a specified file |
-| `man-preview` | Open a specified man page in Preview app |
-| `showfiles` | Show hidden files |
-| `hidefiles` | Hide the hidden files |
-| `itunes` | Control iTunes. User `itunes -h` for usage details |
-| `spotify` | Control Spotify and search by artist, album, track and etc.|
+| Command | Description |
+| :-------------- | :-------------------------------------------------- |
+| `tab` | Open the current directory in a new tab |
+| `split_tab` | Split the current terminal tab horizontally |
+| `vsplit_tab` | Split the current terminal tab vertically |
+| `ofd` | Open the current directory in a Finder window |
+| `pfd` | Return the path of the frontmost Finder window |
+| `pfs` | Return the current Finder selection |
+| `cdf` | `cd` to the current Finder directory |
+| `pushdf` | `pushd` to the current Finder directory |
+| `quick-look` | Quick-Look a specified file |
+| `man-preview` | Open a specified man page in Preview app |
+| `showfiles` | Show hidden files |
+| `hidefiles` | Hide the hidden files |
+| `itunes` | Control iTunes. User `itunes -h` for usage details |
+| `spotify` | Control Spotify and search by artist, album, track… |
+| `rmdsstore` | Remove .DS\_Store files recursively in a directory |
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index d99cf0b1e..6a4b6eec4 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -209,7 +209,7 @@ if [[ ! -z "$playlist" ]]; then
opt="play"
else
opt="stop"
- fi
+ fi
else
opt="set allPlaylists to (get name of every playlist)"
fi
@@ -282,3 +282,8 @@ source ${ZSH}/plugins/osx/spotify
# Show/hide hidden files in the Finder
alias showfiles="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder"
alias hidefiles="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder"
+
+# Remove .DS_Store files recursively in a directory, default .
+rmdsstore() {
+ find "${@:-.}" -type f -name .DS_Store -delete
+}
diff --git a/plugins/pep8/README.md b/plugins/pep8/README.md
new file mode 100644
index 000000000..a9a4f1cd0
--- /dev/null
+++ b/plugins/pep8/README.md
@@ -0,0 +1,8 @@
+# pep8 plugin
+
+This plugin adds completion for [pep8](https://pep8.readthedocs.io/en/release-1.7.x/#), a tool to check your Python code against some of the style conventions in [PEP 8](http://www.python.org/dev/peps/pep-0008/).
+
+To use it, add pep8 to the plugins array of your zshrc file:
+```
+plugins=(... pep8)
+```
diff --git a/plugins/postgres/README.md b/plugins/postgres/README.md
new file mode 100644
index 000000000..59445f31c
--- /dev/null
+++ b/plugins/postgres/README.md
@@ -0,0 +1,22 @@
+# Postgres plugin
+
+This plugin adds some aliases for useful Postgres commands.
+
+:warning: this plugin works exclusively with Postgres installed via Homebrew on OSX
+because Postgres paths are hardcoded to `/usr/local/var/postgres`.
+
+To use it, add `postgres` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... postgres)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-------------|---------------------------------------------------------------------------------|-------------------------------------------------------------|
+| startpost | `pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start` | Start postgres server |
+| stoppost | `pg_ctl -D /usr/local/var/postgres stop -s -m fast` | Stop postgres server |
+| restartpost | `stoppost && sleep 1 && startpost` | Restart (calls stop, then start) |
+| reloadpost | `pg_ctl reload -D /usr/local/var/postgres -s` | Reload postgres configuration (some setting require restart)|
+| statuspost | `pg_ctl status -D /usr/local/var/postgres -s` | Check startus of postgres server (running, stopped) |
diff --git a/plugins/python/README.md b/plugins/python/README.md
new file mode 100644
index 000000000..2d955c5cb
--- /dev/null
+++ b/plugins/python/README.md
@@ -0,0 +1,16 @@
+# python plugin
+
+The plugin adds several aliases for useful [python](https://www.python.org/) commands.
+
+To use it, add `python` to the plugins array of your zshrc file:
+```
+plugins=(... python)
+```
+
+## Aliases
+
+| Command | Description |
+|------------------|---------------------------------------------------------------------------------|
+| `pyfind` | Finds .py files recursively in the current directory |
+| `pyclean [dirs]` | Deletes byte-code and cache files from a list of directories or the current one |
+| `pygrep <text>` | Looks for `text` in .py files |
diff --git a/plugins/python/python.plugin.zsh b/plugins/python/python.plugin.zsh
index a10c06fd3..f754ea261 100644
--- a/plugins/python/python.plugin.zsh
+++ b/plugins/python/python.plugin.zsh
@@ -1,12 +1,13 @@
# Find python file
alias pyfind='find . -name "*.py"'
-# Remove python compiled byte-code in either current directory or in a
+# Remove python compiled byte-code and mypy cache in either current directory or in a
# list of specified directories
function pyclean() {
ZSH_PYCLEAN_PLACES=${*:-'.'}
find ${ZSH_PYCLEAN_PLACES} -type f -name "*.py[co]" -delete
find ${ZSH_PYCLEAN_PLACES} -type d -name "__pycache__" -delete
+ find ${ZSH_PYCLEAN_PLACES} -type d -name ".mypy_cache" -delete
}
# Grep among .py files
diff --git a/plugins/react-native/README.md b/plugins/react-native/README.md
index 980246cf1..d1fce0fc2 100644
--- a/plugins/react-native/README.md
+++ b/plugins/react-native/README.md
@@ -11,19 +11,28 @@ plugins=(... react-native)
## Aliases
-| Alias | React Native command |
-|:------------|:-----------------------------------------------|
-| **rn** | `react-native` |
-| **rns** | `react-native start` |
-| **rnlink** | `react-native link` |
-| _App testing_ |
-| **rnand** | `react-native run-android` |
-| **rnios** | `react-native run-ios` |
-| **rnios4s** | `react-native run-ios --simulator "iPhone 4s"` |
-| **rnios5** | `react-native run-ios --simulator "iPhone 5"` |
-| **rnios5s** | `react-native run-ios --simulator "iPhone 5s"` |
-| **rnios6** | `react-native run-ios --simulator "iPhone 6"` |
-| **rnios6s** | `react-native run-ios --simulator "iPhone 6s"` |
-| _Logging_ |
-| **rnland** | `react-native log-android` |
-| **rnlios** | `react-native log-ios` |
+| Alias | React Native command |
+| :------------ | :------------------------------------------------- |
+| **rn** | `react-native` |
+| **rns** | `react-native start` |
+| **rnlink** | `react-native link` |
+| _App testing_ |
+| **rnand** | `react-native run-android` |
+| **rnios** | `react-native run-ios` |
+| **rnios4s** | `react-native run-ios --simulator "iPhone 4s"` |
+| **rnios5** | `react-native run-ios --simulator "iPhone 5"` |
+| **rnios5s** | `react-native run-ios --simulator "iPhone 5s"` |
+| **rnios6** | `react-native run-ios --simulator "iPhone 6"` |
+| **rnios6s** | `react-native run-ios --simulator "iPhone 6s"` |
+| **rnios7** | `react-native run-ios --simulator "iPhone7"` |
+| **rnios7p** | `react-native run-ios --simulator "iPhone 7 Plus"` |
+| **rnios8** | `react-native run-ios --simulator "iPhone 8"` |
+| **rnios8p** | `react-native run-ios --simulator "iPhone 8 Plus"` |
+| **rniosse** | `react-native run-ios --simulator "iPhone SE"` |
+| **rniosx** | `react-native run-ios --simulator "iPhone X"` |
+| **rniosxs** | `react-native run-ios --simulator "iPhone XS"` |
+| **rniosxsm** | `react-native run-ios --simulator "iPhone XS Max"` |
+| **rniosxr** | `react-native run-ios --simulator "iPhone XR"` |
+| _Logging_ |
+| **rnland** | `react-native log-android` |
+| **rnlios** | `react-native log-ios` |
diff --git a/plugins/react-native/react-native.plugin.zsh b/plugins/react-native/react-native.plugin.zsh
index 0566941a1..220aa2dce 100644
--- a/plugins/react-native/react-native.plugin.zsh
+++ b/plugins/react-native/react-native.plugin.zsh
@@ -9,6 +9,15 @@ alias rnios5='react-native run-ios --simulator "iPhone 5"'
alias rnios5s='react-native run-ios --simulator "iPhone 5s"'
alias rnios6='react-native run-ios --simulator "iPhone 6"'
alias rnios6s='react-native run-ios --simulator "iPhone 6s"'
+alias rnios7='react-native run-ios --simulator "iPhone 7"'
+alias rnios7p='react-native run-ios --simulator "iPhone 7 Plus"'
+alias rnios8='react-native run-ios --simulator "iPhone 8"'
+alias rnios8p='react-native run-ios --simulator "iPhone 8 Plus"'
+alias rniosse='react-native run-ios --simulator "iPhone SE"'
+alias rniosx='react-native run-ios --simulator "iPhone X"'
+alias rniosxs='react-native run-ios --simulator "iPhone XS"'
+alias rniosxsm='react-native run-ios --simulator "iPhone XS Max"'
+alias rniosxr='react-native run-ios --simulator "iPhone XR"'
alias rnland='react-native log-android'
alias rnlios='react-native log-ios'
diff --git a/plugins/rsync/README.md b/plugins/rsync/README.md
new file mode 100644
index 000000000..032ee7f3b
--- /dev/null
+++ b/plugins/rsync/README.md
@@ -0,0 +1,16 @@
+# rsync
+
+This plugin adds aliases for frequent [rsync](https://rsync.samba.org/) commands.
+
+To use it add `rsync` to the plugins array in you zshrc file.
+
+```zsh
+plugins=(... rsync)
+```
+
+| Alias | Command |
+| ------------------- | ------------------------------------------------ |
+| *rsync-copy* | `rsync -avz --progress -h` |
+| *rsync-move* | `rsync -avz --progress -h --remove-source-files` |
+| *rsync-update* | `rsync -avzu --progress -h` |
+| *rsync-synchronize* | `rsync -avzu --delete --progress -h` |
diff --git a/plugins/ruby/README.md b/plugins/ruby/README.md
new file mode 100644
index 000000000..ad2755bbf
--- /dev/null
+++ b/plugins/ruby/README.md
@@ -0,0 +1,20 @@
+# Ruby plugin
+
+This plugin adds aliases for common commands used in dealing with [Ruby](https://www.ruby-lang.org/en/) and [gem packages](https://rubygems.org/).
+
+To use it, add `ruby` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... ruby)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-------|----------------------------------------|------------------------------------------------------|
+| rb | `ruby` | The Ruby command |
+| sgem | `sudo gem` | Run sudo gem on the system ruby, not the active ruby |
+| rfind | `find . -name "*.rb" \| xargs grep -n` | Find ruby file |
+| gin | `gem install` | Install a gem into the local repository |
+| gun | `gem uninstall` | Uninstall gems from the local repository |
+| gli | `gem list` | Display gems installed locally |
diff --git a/plugins/scd/scd b/plugins/scd/scd
index 39b28237d..39b28237d 100755..100644
--- a/plugins/scd/scd
+++ b/plugins/scd/scd
diff --git a/plugins/sudo/README.md b/plugins/sudo/README.md
new file mode 100644
index 000000000..ebfdfd10d
--- /dev/null
+++ b/plugins/sudo/README.md
@@ -0,0 +1,57 @@
+# sudo
+
+Easily prefix your current or previous commands with `sudo` by pressing <kbd>esc</kbd> twice
+
+## Enabling the plugin
+
+1. Open your `.zshrc` file and add `sudo` in the plugins section:
+
+ ```zsh
+ plugins=(
+ # all your enabled plugins
+ sudo
+ )
+ ```
+
+2. Reload the source file or restart your Terminal session:
+
+ ```console
+ $ source ~/.zshrc
+ $
+ ```
+
+## Usage examples
+
+### Current typed commands
+
+Say you have typed a long command and forgot to add `sudo` in front:
+
+```console
+$ apt-get install build-essential
+```
+
+By pressing the <kbd>esc</kbd> key twice, you will have the same command with `sudo` prefixed without typing:
+
+```console
+$ sudo apt-get install build-essential
+```
+
+### Previous executed commands
+
+Say you want to delete a system file and denied:
+
+```console
+$ rm some-system-file.txt
+-su: some-system-file.txt: Permission denied
+$
+```
+
+By pressing the <kbd>esc</kbd> key twice, you will have the same command with `sudo` prefixed without typing:
+
+```console
+$ rm some-system-file.txt
+-su: some-system-file.txt: Permission denied
+$ sudo rm some-system-file.txt
+Password:
+$
+```
diff --git a/plugins/suse/README.md b/plugins/suse/README.md
new file mode 100644
index 000000000..0e8a7f7ba
--- /dev/null
+++ b/plugins/suse/README.md
@@ -0,0 +1,90 @@
+# suse
+
+**Maintainer**: [r-darwish](https://github.com/r-darwish)
+
+ Alias for Zypper according to the official Zypper's alias
+
+ To use it add `suse` to the plugins array in you zshrc file.
+
+```zsh
+plugins=(... suse)
+```
+
+## Main commands
+
+| Alias | Commands | Description |
+| ---------------- | ----------------------------- | -------------------------------------------------------------- |
+| z | `sudo zypper` | call zypper |
+| zh | `sudo zypper -h` | print help |
+| zhse | `sudo zypper -h se` | print help for the search command |
+| zlicenses | `sudo zypper licenses` | prints a report about licenses and EULAs of installed packages |
+| zps | `sudo zypper ps` | list process using deleted files |
+| zshell | `sudo zypper shell` | open a zypper shell session |
+| zsource-download | `sudo zypper source-download` | download source rpms for all installed packages |
+| ztos | `sudo zypper tos` | shows the ID string of the target operating system |
+| zvcmp | `sudo zypper vcmp` | tell whether version1 is older or newer than version2 |
+
+## Packages commands
+
+| Alias | Commands | Description |
+| ----- | ----------------- | ------------------------------------------------------------------ |
+| zin | `sudo zypper in` | install packages |
+| zinr | `sudo zypper inr` | install newly added packages recommended by already installed ones |
+| zrm | `sudo zypper rm` | remove packages |
+| zsi | `sudo zypper si` | install source of a package |
+| zve | `sudo zypper ve` | verify dependencies of installed packages |
+
+## Updates commands
+
+| Alias | Commands | Description |
+| ------ | ------------------- | ---------------------- |
+| zdup | `sudo zypper dup` | upgrade packages |
+| zlp | `sudo zypper lp` | list necessary patches |
+| zlu | `sudo zypper lu` | list updates |
+| zpchk | `sudo zypper pchk` | check for patches |
+| zup | `sudo zypper up` | update packages |
+| zpatch | `sudo zypper patch` | install patches |
+
+## Request commands
+
+| Alias | Commands | Description |
+| ------------- | -------------------------- | ---------------------------------------------------- |
+| zif | `sudo zypper if` | display info about packages |
+| zpa | `sudo zypper pa` | list packages |
+| zpatch-info | `sudo zypper patch-info` | display info about patches |
+| zpattern-info | `sudo zypper pattern-info` | display info about patterns |
+| zproduct-info | `sudo zypper product-info` | display info about products |
+| zpch | `sudo zypper pch` | list all patches |
+| zpd | `sudo zypper pd` | list products |
+| zpt | `sudo zypper pt` | list patterns |
+| zse | `sudo zypper se` | search for packages |
+| zwp | `sudo zypper wp` | list all packages providing the specified capability |
+
+## Repositories commands
+
+| Alias | Commands | Description |
+| ----- | ------------------- | ---------------------------------------- |
+| zar | `sudo zypper ar` | add a repository |
+| zcl | `sudo zypper clean` | clean cache |
+| zlr | `sudo zypper lr` | list repositories |
+| zmr | `sudo zypper mr` | modify repositories |
+| znr | `sudo zypper nr` | rename repositories (for the alias only) |
+| zref | `sudo zypper ref` | refresh repositories |
+| zrr | `sudo zypper rr` | remove repositories |
+
+## Services commands
+| Alias | Commands | Description |
+| ----- | ------------------ | -------------------------------------------------------------- |
+| zas | `sudo zypper as` | adds a service specified by URI to the system |
+| zms | `sudo zypper ms` | modify properties of specified services |
+| zrefs | `sudo zypper refs` | refreshing a service mean executing the service's special task |
+| zrs | `sudo zypper rs` | remove specified repository index service from the system |
+| zls | `sudo zypper ls` | list services defined on the system |
+
+## Package Locks Management commands
+| Alias | Commands | Description |
+| ----- | ---------------- | ----------------------------------- |
+| zal | `sudo zypper al` | add a package lock |
+| zcl | `sudo zypper cl` | remove unused locks |
+| zll | `sudo zypper ll` | list currently active package locks |
+| zrl | `sudo zypper rl` | remove specified package lock |
diff --git a/plugins/suse/suse.plugin.zsh b/plugins/suse/suse.plugin.zsh
index f7215528b..60f7042eb 100644
--- a/plugins/suse/suse.plugin.zsh
+++ b/plugins/suse/suse.plugin.zsh
@@ -1,61 +1,59 @@
-#Alias for Zypper according to the official Zypper's alias
-
#Main commands
-alias z='sudo zypper' #call zypper
-alias zh='sudo zypper -h' #print help
-alias zhse='sudo zypper -h se' #print help for the search command
-alias zlicenses='sudo zypper licenses' #prints a report about licenses and EULAs of installed packages
-alias zps='sudo zypper ps' #list process using deleted files
-alias zshell='sudo zypper shell' #open a zypper shell session
-alias zsource-download='sudo zypper source-download' #download source rpms for all installed packages
-alias ztos='sudo zypper tos' #shows the ID string of the target operating system
-alias zvcmp='sudo zypper vcmp' #tell whether version1 is older or newer than version2
+alias z='sudo zypper'
+alias zh='sudo zypper -h'
+alias zhse='sudo zypper -h se'
+alias zlicenses='sudo zypper licenses'
+alias zps='sudo zypper ps'
+alias zshell='sudo zypper shell'
+alias zsource-download='sudo zypper source-download'
+alias ztos='sudo zypper tos'
+alias zvcmp='sudo zypper vcmp'
#Packages commands
-alias zin='sudo zypper in' #install packages
-alias zinr='sudo zypper inr' #install newly added packages recommended by already installed ones
-alias zrm='sudo zypper rm' #remove packages
-alias zsi='sudo zypper si' #install source of a package
-alias zve='sudo zypper ve' #verify dependencies of installed packages
+alias zin='sudo zypper in'
+alias zinr='sudo zypper inr'
+alias zrm='sudo zypper rm'
+alias zsi='sudo zypper si'
+alias zve='sudo zypper ve'
#Updates commands
-alias zdup='sudo zypper dup' #upgrade packages
-alias zlp='sudo zypper lp' #list necessary patchs
-alias zlu='sudo zypper lu' #list updates
-alias zpchk='sudo zypper pchk' #check for patches
-alias zup='sudo zypper up' #update packages
-alias zpatch='sudo zypper patch' #install patches
+alias zdup='sudo zypper dup'
+alias zlp='sudo zypper lp'
+alias zlu='sudo zypper lu'
+alias zpchk='sudo zypper pchk'
+alias zup='sudo zypper up'
+alias zpatch='sudo zypper patch'
#Request commands
-alias zif='sudo zypper if' #display info about packages
-alias zpa='sudo zypper pa' #list packages
-alias zpatch-info='sudo zypper patch-info' #display info about patches
-alias zpattern-info='sudo zypper patch-info' #display info about patterns
-alias zproduct-info='sudo zypper patch-info' #display info about products
-alias zpch='sudo zypper pch' #list all patches
-alias zpd='sudo zypper pd' #list products
-alias zpt='sudo zypper pt' #list patterns
-alias zse='sudo zypper se' #search for packages
-alias zwp='sudo zypper wp' #list all packages providing the specified capability
+alias zif='sudo zypper if'
+alias zpa='sudo zypper pa'
+alias zpatch-info='sudo zypper patch-info'
+alias zpattern-info='sudo zypper pattern-info'
+alias zproduct-info='sudo zypper product-info'
+alias zpch='sudo zypper pch'
+alias zpd='sudo zypper pd'
+alias zpt='sudo zypper pt'
+alias zse='sudo zypper se'
+alias zwp='sudo zypper wp'
#Repositories commands
-alias zar='sudo zypper ar' #add a repository
-alias zcl='sudo zypper clean' #clean cache
-alias zlr='sudo zypper lr' #list repositories
-alias zmr='sudo zypper mr' #modify repositories
-alias znr='sudo zypper nr' #rename repositories (for the alias only)
-alias zref='sudo zypper ref' #refresh repositories
-alias zrr='sudo zypper rr' #remove repositories
+alias zar='sudo zypper ar'
+alias zcl='sudo zypper clean'
+alias zlr='sudo zypper lr'
+alias zmr='sudo zypper mr'
+alias znr='sudo zypper nr'
+alias zref='sudo zypper ref'
+alias zrr='sudo zypper rr'
#Services commands
-alias zas='sudo zypper as' #adds a service specified by URI to the system
-alias zms='sudo zypper ms' #modify properties of specified services
-alias zrefs='sudo zypper refs' #refreshing a service mean executing the service's special task
-alias zrs='sudo zypper rs' #remove specified repository index service from the system
-alias zls='sudo zypper ls' #list services defined on the system
+alias zas='sudo zypper as'
+alias zms='sudo zypper ms'
+alias zrefs='sudo zypper refs'
+alias zrs='sudo zypper rs'
+alias zls='sudo zypper ls'
#Package Locks Management commands
-alias zal='sudo zypper al' #add a package lock
-alias zcl='sudo zypper cl' #Remove unused locks
-alias zll='sudo zypper ll' #list currently active package locks
-alias zrl='sudo zypper rl' #remove specified package lock
+alias zal='sudo zypper al'
+alias zcl='sudo zypper cl'
+alias zll='sudo zypper ll'
+alias zrl='sudo zypper rl'
diff --git a/plugins/swiftpm/_swift b/plugins/swiftpm/_swift
index 901b5d9e2..bed6e13a7 100644
--- a/plugins/swiftpm/_swift
+++ b/plugins/swiftpm/_swift
@@ -72,14 +72,16 @@ _swift_build() {
"--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
"(--chdir -C)"{--chdir,-C}"[]: :_files"
"--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
+ "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]'}"
"--disable-prefetching[]"
+ "--skip-update[Skip updating dependencies from their remote during a resolution]"
"--disable-sandbox[Disable using the sandbox when executing subprocesses]"
"--version[]"
"--destination[]: :_files"
"(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
- "--no-static-swift-stdlib[Do not link Swift stdlib statically]"
+ "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
"--static-swift-stdlib[Link Swift stdlib statically]"
- "--enable-build-manifest-caching[Enable llbuild manifest caching [Experimental]]"
+ "--enable-build-manifest-caching[Enable llbuild manifest caching \[Experimental\]]"
"--build-tests[Build both source and test targets]"
"--product[Build the specified product]:Build the specified product: "
"--target[Build the specified target]:Build the specified target: "
@@ -106,14 +108,16 @@ _swift_run() {
"--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
"(--chdir -C)"{--chdir,-C}"[]: :_files"
"--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
+ "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]'}"
"--disable-prefetching[]"
+ "--skip-update[Skip updating dependencies from their remote during a resolution]"
"--disable-sandbox[Disable using the sandbox when executing subprocesses]"
"--version[]"
"--destination[]: :_files"
"(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
- "--no-static-swift-stdlib[Do not link Swift stdlib statically]"
+ "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
"--static-swift-stdlib[Link Swift stdlib statically]"
- "--enable-build-manifest-caching[Enable llbuild manifest caching [Experimental]]"
+ "--enable-build-manifest-caching[Enable llbuild manifest caching \[Experimental\]]"
"--skip-build[Skip building the executable product]"
)
_arguments $arguments && return
@@ -136,14 +140,16 @@ _swift_package() {
"--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
"(--chdir -C)"{--chdir,-C}"[]: :_files"
"--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
+ "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]'}"
"--disable-prefetching[]"
+ "--skip-update[Skip updating dependencies from their remote during a resolution]"
"--disable-sandbox[Disable using the sandbox when executing subprocesses]"
"--version[]"
"--destination[]: :_files"
"(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
- "--no-static-swift-stdlib[Do not link Swift stdlib statically]"
+ "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
"--static-swift-stdlib[Link Swift stdlib statically]"
- "--enable-build-manifest-caching[Enable llbuild manifest caching [Experimental]]"
+ "--enable-build-manifest-caching[Enable llbuild manifest caching \[Experimental\]]"
'(-): :->command'
'(-)*:: :->arg'
)
@@ -152,135 +158,133 @@ _swift_package() {
(command)
local modes
modes=(
+ 'edit:Put a package in editable mode'
+ 'clean:Delete build artifacts'
+ 'init:Initialize a new package'
+ 'dump-package:Print parsed Package.swift as JSON'
+ 'describe:Describe the current package'
+ 'unedit:Remove a package from editable mode'
'update:Update package dependencies'
- 'show-dependencies:Print the resolved dependency graph'
- 'resolve:Resolve package dependencies'
- 'fetch:'
'completion-tool:Completion tool (for shell completions)'
- 'edit:Put a package in editable mode'
'tools-version:Manipulate tools version of the current package'
- 'describe:Describe the current package'
- 'clean:Delete build artifacts'
'reset:Reset the complete cache/build directory'
- 'unedit:Remove a package from editable mode'
+ 'resolve:Resolve package dependencies'
'generate-xcodeproj:Generates an Xcode project'
- 'init:Initialize a new package'
- 'dump-package:Print parsed Package.swift as JSON'
+ 'fetch:'
+ 'show-dependencies:Print the resolved dependency graph'
)
_describe "mode" modes
;;
(arg)
case ${words[1]} in
- (update)
- _swift_package_update
+ (edit)
+ _swift_package_edit
;;
- (show-dependencies)
- _swift_package_show-dependencies
+ (clean)
+ _swift_package_clean
;;
- (resolve)
- _swift_package_resolve
+ (init)
+ _swift_package_init
;;
- (fetch)
- _swift_package_fetch
+ (dump-package)
+ _swift_package_dump-package
+ ;;
+ (describe)
+ _swift_package_describe
+ ;;
+ (unedit)
+ _swift_package_unedit
+ ;;
+ (update)
+ _swift_package_update
;;
(completion-tool)
_swift_package_completion-tool
;;
- (edit)
- _swift_package_edit
- ;;
(tools-version)
_swift_package_tools-version
;;
- (describe)
- _swift_package_describe
- ;;
- (clean)
- _swift_package_clean
- ;;
(reset)
_swift_package_reset
;;
- (unedit)
- _swift_package_unedit
+ (resolve)
+ _swift_package_resolve
;;
(generate-xcodeproj)
_swift_package_generate-xcodeproj
;;
- (init)
- _swift_package_init
+ (fetch)
+ _swift_package_fetch
;;
- (dump-package)
- _swift_package_dump-package
+ (show-dependencies)
+ _swift_package_show-dependencies
;;
esac
;;
esac
}
-_swift_package_update() {
+_swift_package_edit() {
arguments=(
+ ":The name of the package to edit:_swift_dependency"
+ "--revision[The revision to edit]:The revision to edit: "
+ "--branch[The branch to create]:The branch to create: "
+ "--path[Create or use the checkout at this path]:Create or use the checkout at this path:_files"
)
_arguments $arguments && return
}
-_swift_package_show-dependencies() {
+_swift_package_clean() {
arguments=(
- "--format[text|dot|json|flatlist]: :{_values '' 'text[list dependencies using text format]' 'dot[list dependencies using dot format]' 'json[list dependencies using JSON format]'}"
)
_arguments $arguments && return
}
-_swift_package_resolve() {
+_swift_package_init() {
arguments=(
- ":The name of the package to resolve:_swift_dependency"
- "--version[The version to resolve at]:The version to resolve at: "
- "--branch[The branch to resolve at]:The branch to resolve at: "
- "--revision[The revision to resolve at]:The revision to resolve at: "
+ "--type[empty|library|executable|system-module]: :{_values '' 'empty[generates an empty project]' 'library[generates project for a dynamic library]' 'executable[generates a project for a cli executable]' 'system-module[generates a project for a system module]'}"
)
_arguments $arguments && return
}
-_swift_package_fetch() {
+_swift_package_dump-package() {
arguments=(
)
_arguments $arguments && return
}
-_swift_package_completion-tool() {
+_swift_package_describe() {
arguments=(
- ": :{_values '' 'generate-bash-script[generate Bash completion script]' 'generate-zsh-script[generate Bash completion script]' 'list-dependencies[list all dependencies' names]' 'list-executables[list all executables' names]'}"
+ "--type[json|text]: :{_values '' 'text[describe using text format]' 'json[describe using JSON format]'}"
)
_arguments $arguments && return
}
-_swift_package_edit() {
+_swift_package_unedit() {
arguments=(
- ":The name of the package to edit:_swift_dependency"
- "--revision[The revision to edit]:The revision to edit: "
- "--branch[The branch to create]:The branch to create: "
- "--path[Create or use the checkout at this path]:Create or use the checkout at this path:_files"
+ ":The name of the package to unedit:_swift_dependency"
+ "--force[Unedit the package even if it has uncommited and unpushed changes.]"
)
_arguments $arguments && return
}
-_swift_package_tools-version() {
+_swift_package_update() {
arguments=(
- "--set[Set tools version of package to the given value]:Set tools version of package to the given value: "
- "--set-current[Set tools version of package to the current tools version in use]"
)
_arguments $arguments && return
}
-_swift_package_describe() {
+_swift_package_completion-tool() {
arguments=(
- "--type[json|text]: :{_values '' 'text[describe using text format]' 'json[describe using JSON format]'}"
+ ": :{_values '' 'generate-bash-script[generate Bash completion script]' 'generate-zsh-script[generate Bash completion script]' 'list-dependencies[list all dependencies' names]' 'list-executables[list all executables' names]'}"
)
_arguments $arguments && return
}
-_swift_package_clean() {
+_swift_package_tools-version() {
arguments=(
+ "--set[Set tools version of package to the given value]:Set tools version of package to the given value: "
+ "--set-current[Set tools version of package to the current tools version in use]"
)
_arguments $arguments && return
}
@@ -291,10 +295,12 @@ _swift_package_reset() {
_arguments $arguments && return
}
-_swift_package_unedit() {
+_swift_package_resolve() {
arguments=(
- ":The name of the package to unedit:_swift_dependency"
- "--force[Unedit the package even if it has uncommited and unpushed changes.]"
+ ":The name of the package to resolve:_swift_dependency"
+ "--version[The version to resolve at]:The version to resolve at: "
+ "--branch[The branch to resolve at]:The branch to resolve at: "
+ "--revision[The revision to resolve at]:The revision to resolve at: "
)
_arguments $arguments && return
}
@@ -304,19 +310,21 @@ _swift_package_generate-xcodeproj() {
"--xcconfig-overrides[Path to xcconfig file]:Path to xcconfig file:_files"
"--enable-code-coverage[Enable code coverage in the generated project]"
"--output[Path where the Xcode project should be generated]:Path where the Xcode project should be generated:_files"
+ "--legacy-scheme-generator[Use the legacy scheme generator]"
+ "--watch[Watch for changes to the Package manifest to regenerate the Xcode project]"
)
_arguments $arguments && return
}
-_swift_package_init() {
+_swift_package_fetch() {
arguments=(
- "--type[empty|library|executable|system-module]: :{_values '' 'empty[generates an empty project]' 'library[generates project for a dynamic library]' 'executable[generates a project for a cli executable]' 'system-module[generates a project for a system module]'}"
)
_arguments $arguments && return
}
-_swift_package_dump-package() {
+_swift_package_show-dependencies() {
arguments=(
+ "--format[text|dot|json|flatlist]: :{_values '' 'text[list dependencies using text format]' 'dot[list dependencies using dot format]' 'json[list dependencies using JSON format]'}"
)
_arguments $arguments && return
}
@@ -338,19 +346,22 @@ _swift_test() {
"--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
"(--chdir -C)"{--chdir,-C}"[]: :_files"
"--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
+ "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]'}"
"--disable-prefetching[]"
+ "--skip-update[Skip updating dependencies from their remote during a resolution]"
"--disable-sandbox[Disable using the sandbox when executing subprocesses]"
"--version[]"
"--destination[]: :_files"
"(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
- "--no-static-swift-stdlib[Do not link Swift stdlib statically]"
+ "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
"--static-swift-stdlib[Link Swift stdlib statically]"
- "--enable-build-manifest-caching[Enable llbuild manifest caching [Experimental]]"
+ "--enable-build-manifest-caching[Enable llbuild manifest caching \[Experimental\]]"
"--skip-build[Skip building the test target]"
"(--list-tests -l)"{--list-tests,-l}"[Lists test methods in specifier format]"
"--generate-linuxmain[Generate LinuxMain.swift entries for the package]"
"--parallel[Run the tests in parallel.]"
"(--specifier -s)"{--specifier,-s}"[]: : "
+ "--xunit-output[]: :_files"
"--filter[Run test cases matching regular expression, Format: <test-target>.<test-case> or <test-target>.<test-case>/<test>]:Run test cases matching regular expression, Format: <test-target>.<test-case> or <test-target>.<test-case>/<test>: "
)
_arguments $arguments && return
diff --git a/plugins/systemd/README.md b/plugins/systemd/README.md
new file mode 100644
index 000000000..d91329290
--- /dev/null
+++ b/plugins/systemd/README.md
@@ -0,0 +1,53 @@
+# Systemd plugin
+
+The systemd plugin provides many useful aliases for systemd.
+
+To use it, add systemd to the plugins array of your zshrc file:
+```
+plugins=(... systemd)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|:-----------------------|:-----------------------------------|:-----------------------------------------------------------------|
+| `sc-list-units` | `systemctl list-units` | List all units systemd has in memory |
+| `sc-is-active` | `systemctl is-active` | Show whether a unit is active |
+| `sc-status` | `systemctl status` | Show terse runtime status information about one or more units |
+| `sc-show` | `systemctl show` | Show properties of units, jobs, or the manager itself |
+| `sc-help` | `systemctl help` | Show man page of units |
+| `sc-list-unit-files` | `systemctl list-unit-files` | List unit files installed on the system |
+| `sc-is-enabled` | `systemctl is-enabled` | Checks whether any of the specified unit files are enabled |
+| `sc-list-jobs` | `systemctl list-jobs` | List jobs that are in progress |
+| `sc-show-environment` | `systemctl show-environment` | Dump the systemd manager environment block |
+| `sc-cat` | `systemctl cat` | Show backing files of one or more units |
+| `sc-list-timers` | `systemctl list-timers` | List timer units currently in memory |
+| **Aliases with sudo** |
+| `sc-start` | `sudo systemctl start` | Start Unit(s) |
+| `sc-stop` | `sudo systemctl stop` | Stop Unit(s) |
+| `sc-reload` | `sudo systemctl reload` | Reload Unit(s) |
+| `sc-restart` | `sudo systemctl restart` | Restart Unit(s) |
+| `sc-try-restart` | `sudo systemctl try-restart` | Restart Unit(s) |
+| `sc-isolate` | `sudo systemctl isolate` | Start a unit and its dependencies and stop all others |
+| `sc-kill` | `sudo systemctl kill` | Kill unit(s) |
+| `sc-reset-failed` | `sudo systemctl reset-failed` | Reset the "failed" state of the specified units, |
+| `sc-enable` | `sudo systemctl enable` | Enable unit(s) |
+| `sc-disable` | `sudo systemctl disable` | Disable unit(s) |
+| `sc-reenable` | `sudo systemctl reenable` | Reenable unit(s) |
+| `sc-preset` | `sudo systemctl preset` | Reset the enable/disable status one or more unit files |
+| `sc-mask` | `sudo systemctl mask` | Mask unit(s) |
+| `sc-unmask` | `sudo systemctl unmask` | Unmask unit(s) |
+| `sc-link` | `sudo systemctl link` | Link a unit file into the unit file search path |
+| `sc-load` | `sudo systemctl load` | Load unit(s) |
+| `sc-cancel` | `sudo systemctl cancel` | Cancel job(s) |
+| `sc-set-environment` | `sudo systemctl set-environment` | Set one or more systemd manager environment variables |
+| `sc-unset-environment` | `sudo systemctl unset-environment` | Unset one or more systemd manager environment variables |
+| `sc-edit` | `sudo systemctl edit` | Edit a drop-in snippet or a whole replacement file with `--full` |
+| `sc-enable-now` | `sudo systemctl enable --now` | Enable and start unit(s) |
+| `sc-disable-now` | `sudo systemctl disable --now` | Disable and stop unit(s) |
+| `sc-mask-now` | `sudo systemctl mask --now` | Mask and stop unit(s) |
+
+### User aliases
+
+You can use the above aliases as `--user` by using the prefix `scu` instead of `sc`.
+For example: `scu-list-units` will be aliased to `systemctl --user list-units`.
diff --git a/plugins/terraform/terraform.plugin.zsh b/plugins/terraform/terraform.plugin.zsh
index b170f73a6..d727c1ee0 100644
--- a/plugins/terraform/terraform.plugin.zsh
+++ b/plugins/terraform/terraform.plugin.zsh
@@ -1,4 +1,6 @@
function tf_prompt_info() {
+ # dont show 'default' workspace in home dir
+ [[ "$PWD" == ~ ]] && return
# check if in terraform dir
if [ -d .terraform ]; then
workspace=$(terraform workspace show 2> /dev/null) || return
diff --git a/plugins/themes/README.md b/plugins/themes/README.md
new file mode 100644
index 000000000..408e357e0
--- /dev/null
+++ b/plugins/themes/README.md
@@ -0,0 +1,18 @@
+# Themes Plugin
+
+This plugin allows you to change ZSH theme on the go.
+
+To use it, add `themes` to the plugins array in your zshrc file:
+
+```
+plugins=(... themes)
+```
+
+## Usage
+
+`theme <theme_name>` - Changes the ZSH theme to specified theme.
+
+`theme ` - Changes the ZSH theme to some random theme.
+
+`lstheme ` - Lists installed ZSH themes.
+
diff --git a/plugins/themes/themes.plugin.zsh b/plugins/themes/themes.plugin.zsh
index 7519b0253..2cd0ee327 100644
--- a/plugins/themes/themes.plugin.zsh
+++ b/plugins/themes/themes.plugin.zsh
@@ -8,9 +8,9 @@ function theme
source "$RANDOM_THEME"
echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
else
- if [ -f "$ZSH_CUSTOM/$1.zsh-theme" ]
+ if [ -f "$ZSH_CUSTOM/themes/$1.zsh-theme" ]
then
- source "$ZSH_CUSTOM/$1.zsh-theme"
+ source "$ZSH_CUSTOM/themes/$1.zsh-theme"
else
source "$ZSH/themes/$1.zsh-theme"
fi
@@ -19,6 +19,8 @@ function theme
function lstheme
{
- cd $ZSH/themes
- ls *zsh-theme | sed 's,\.zsh-theme$,,'
+ # Resources:
+ # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Modifiers
+ # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Glob-Qualifiers
+ print -l {$ZSH,$ZSH_CUSTOM}/themes/*.zsh-theme(N:t:r)
}
diff --git a/plugins/tmuxinator/README.md b/plugins/tmuxinator/README.md
new file mode 100644
index 000000000..994d8d46d
--- /dev/null
+++ b/plugins/tmuxinator/README.md
@@ -0,0 +1,19 @@
+# Tmuxinator plugin
+
+This plugin provides completion for [tmuxinator](https://github.com/tmuxinator/tmuxinator),
+as well as aliases for frequent tmuxinator commands.
+
+To use it add `tmuxinator` to the plugins array in your zshrc file.
+
+```zsh
+plugins=(... tmuxinator)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+| ------ | ---------------- | ------------------------ |
+| `txs ` | tmuxinator start | Start Tmuxinator |
+| `txo ` | tmuxinator open | Open project for editing |
+| `txn ` | tmuxinator new | Create project |
+| `txl ` | tmuxinator list | List projects |
diff --git a/plugins/ubuntu/README.md b/plugins/ubuntu/README.md
new file mode 100644
index 000000000..caa6a90b4
--- /dev/null
+++ b/plugins/ubuntu/README.md
@@ -0,0 +1,52 @@
+# Ubuntu plugin
+
+This plugin adds completions and aliases for [Ubuntu](https://www.ubuntu.com/).
+
+To use it, add `ubuntu` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... ubuntu)
+```
+
+## Aliases
+
+Commands that use `$APT` will use apt if installed or defer to apt-get otherwise.
+
+| Alias | Command | Description |
+|---------|------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
+| acs | `apt-cache search` | Search the apt-cache with the specified criteria |
+| acp | `apt-cache policy` | Display the package source priorities |
+| afs | `apt-file search --regexp` | Perform a regular expression apt-file search |
+| afu | `sudo apt-file update` | Generates or updates the apt-file package database |
+| ag | `sudo $APT` | Run apt-get with sudo |
+| aga | `sudo $APT autoclean` | Clears out the local reposityory of retrieved package files that can no longer be downloaded |
+| agb | `sudo $APT build-dep <source_pkg>` | Installs/Removes packages to satisfy the dependencies of a specified build pkg |
+| agc | `sudo $APT clean` | Clears out the local repository of retrieved package files leaving everything from the lock files |
+| agd | `sudo $APT dselect-upgrade` | Follows dselect choices for package installation |
+| agi | `sudo $APT install <pkg>` | Install the specified package |
+| agli | `apt list --installed` | List the installed packages |
+| aglu | `sudo apt-get -u upgrade --assume-no` | Run an apt-get upgrade assuming no to all prompts |
+| agp | `sudo $APT purge <pkg>` | Remove a package including any configuration files |
+| agr | `sudo $APT remove <pkg>` | Remove a package |
+| ags | `$APT source <pkg>` | Fetch the source for the specified package |
+| agu | `sudo $APT update` | Update package list |
+| agud | `sudo $APT update && sudo $APT dist-upgrade` | Update packages list and perform a distribution upgrade |
+| agug | `sudo $APT upgrade` | Upgrade available packages |
+| agar | `sudo $APT autoremove` | Remove automatically installed packages no longer needed |
+| aguu | `sudo $APT update && sudo $APT upgrade` | Update packages list and upgrade available packages |
+| allpkgs | `dpkg --get-selections \| grep -v deinstall` | Print all installed packages |
+| kclean | `sudo aptitude remove -P ?and(~i~nlinux-(ima\|hea) ?not(~n$(uname -r)))` |Remove ALL kernel images and headers EXCEPT the one in use |
+| mydeb | `time dpkg-buildpackage -rfakeroot -us -uc` | Create a basic .deb package |
+| ppap | `sudo ppa-purge <ppa>` | Remove the specified PPA |
+
+
+## Functions
+
+| Function | Usage |Description |
+|-------------------|---------------------------------------|--------------------------------------------------------------------------|
+| aar | `aar ppa:xxxxxx/xxxxxx [packagename]` | apt-add-repository with automatic install/upgrade of the desired package |
+| apt-history | `apt-history <action>` | Prints the Apt history of the specified action |
+| apt-list-packages | `apt-list-packages` | List packages by size |
+| kerndeb | `kerndeb` | Kernel-package building shortcut |
+
+
diff --git a/plugins/ubuntu/readme.md b/plugins/ubuntu/readme.md
deleted file mode 100644
index 99d62a6f7..000000000
--- a/plugins/ubuntu/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-This plugin was created because the aliases in the debian plugin are inconsistent and hard to remember. Also this apt-priority detection that switched between apt-get and aptitude was dropped to keep it simpler. This plugin uses apt-get for everything but a few things that are only possible with aptitude I guess. Ubuntu does not have aptitude installed by default.
-
-acs = Apt-Cache Search
-acp = Apt-Cache Policy
-
-ag = sudo Apt-Get
-agi = sudo Apt-Get Install
-agd = sudo Apt-Get Dselect-upgrade
-By now you already can guess almost all aliases
-
-There are two exeptions since ...
-agu = sudo Apt-Get Update - we have ...
-agug = sudo Apt-Get UpGrade - as the exceptional 4 letter alias for a single command.
-
-afs = Apt-File Search --regexp - this has the regexp switch on without being represented in the alias, I guess this makes sense since the debian plugin has it, I never used that command.
-
-Then there are the 2 other 4 letter aliases for combined commands, that are straight forward and easy to remember.
-aguu = sudo Apt-Get Update && sudo apt-get Upgrade - better then adg or not?
-agud = sudo Apt-Get Update && sudo apt-get full-upgrade
-
-For a full list aliases and the functions just watch the plugins code https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/ubuntu/ubuntu.plugin.zsh, look at the comments if you want to switch from the debian plugin. Ubuntu, Mint and & co users will like the new aar function to install packages from ppas with a single command.
diff --git a/plugins/urltools/README.md b/plugins/urltools/README.md
new file mode 100644
index 000000000..548301c72
--- /dev/null
+++ b/plugins/urltools/README.md
@@ -0,0 +1,29 @@
+# URLTools plugin
+
+This plugin provides two aliases to URL-encode and URL-decode strings.
+
+To start using it, add the `urltools` plugin to your plugins array in `~/.zshrc`:
+
+```zsh
+plugins=(... urltools)
+```
+
+Original author: [Ian Chesal](https://github.com/ianchesal)
+Original idea and aliases: [Ruslan Spivak](https://ruslanspivak.wordpress.com/2010/06/02/urlencode-and-urldecode-from-a-command-line/)
+
+## Commands
+
+| Command | Description |
+| :---------- | :--------------------------- |
+| `urlencode` | URL-encodes the given string |
+| `urldecode` | URL-decodes the given string |
+
+## Examples
+
+```zsh
+urlencode 'https://github.com/robbyrussell/oh-my-zsh/search?q=urltools&type=Code'
+# returns https%3A%2F%2Fgithub.com%2Frobbyrussell%2Foh-my-zsh%2Fsearch%3Fq%3Durltools%26type%3DCode
+
+urldecode 'https%3A%2F%2Fgithub.com%2Frobbyrussell%2Foh-my-zsh%2Fsearch%3Fq%3Durltools%26type%3DCode'
+# returns https://github.com/robbyrussell/oh-my-zsh/search?q=urltools&type=Code
+```
diff --git a/plugins/vagrant/README.md b/plugins/vagrant/README.md
new file mode 100644
index 000000000..f6ea87b0e
--- /dev/null
+++ b/plugins/vagrant/README.md
@@ -0,0 +1,10 @@
+# Vagrant plugin
+
+This plugin adds autocompletion for [Vagrant](https://www.vagrantup.com/) commands, task names, box names and built-in handy documentation.
+
+To use it, add `vagrant` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... vagrant)
+```
+
diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant
index a32347daa..a99a8f0e7 100644
--- a/plugins/vagrant/_vagrant
+++ b/plugins/vagrant/_vagrant
@@ -22,7 +22,7 @@ _1st_arguments=(
'push:Deploys code in this environment to a configured destination'
'rdp:Connects to machine via RDP'
'reload:Reload the vagrant environment'
- 'resume:Resumes a suspend vagrant environment'
+ 'resume:Resumes a suspended vagrant environment'
'rsync:Syncs rsync synced folders to remote machine'
'rsync-auto:Syncs rsync synced folders automatically when files change'
'share:Shares your Vagrant environment with anyone in the world'
diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh
index 6cadd166a..93964594b 100644
--- a/plugins/vi-mode/vi-mode.plugin.zsh
+++ b/plugins/vi-mode/vi-mode.plugin.zsh
@@ -4,11 +4,6 @@ function zle-keymap-select() {
zle -R
}
-# Ensures that MODE_INDITCATOR is displayed on terminal start up.
-function zle-line-init() {
- zle reset-prompt
-}
-
# Ensure that the prompt is redrawn when the terminal size changes.
TRAPWINCH() {
zle && { zle -R; zle reset-prompt }
diff --git a/plugins/vscode/README.md b/plugins/vscode/README.md
index ef1fdea30..8ee45525a 100644
--- a/plugins/vscode/README.md
+++ b/plugins/vscode/README.md
@@ -25,7 +25,7 @@ plugins=(... vscode)
| Alias | Command | Description |
| ----------------------- | ---------------------------------------------------------------- | --------------------------------- |
-| vsce `dir` | code --extensions-dir `dir` | Set the root path for extensions. |
+| vsced `dir` | code --extensions-dir `dir` | Set the root path for extensions. |
| vscie `id or vsix-path` | code --install-extension `extension-id> or <extension-vsix-path` | Installs an extension. |
| vscue `id or vsix-path` | code --uninstall-extension `id or vsix-path` | Uninstalls an extension. |
@@ -35,4 +35,4 @@ plugins=(... vscode)
| ------------ | ------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| vscv | code --verbose | Print verbose output (implies --wait). |
| vscl `level` | code --log `level` | Log level to use. Default is 'info'. Allowed values are 'critical', 'error', 'warn', 'info', 'debug', 'trace', 'off'. |
-| vsced | code --disable-extensions | Disable all installed extensions. |
+| vscde | code --disable-extensions | Disable all installed extensions. |
diff --git a/plugins/vscode/vscode.plugin.zsh b/plugins/vscode/vscode.plugin.zsh
index d0aad3b33..902c23ecf 100644
--- a/plugins/vscode/vscode.plugin.zsh
+++ b/plugins/vscode/vscode.plugin.zsh
@@ -10,10 +10,10 @@ alias vscr='code --reuse-window'
alias vscw='code --wait'
alias vscu='code --user-data-dir'
-alias vsce='code --extensions-dir'
+alias vsced='code --extensions-dir'
alias vscie='code --install-extension'
alias vscue='code --uninstall-extension'
alias vscv='code --verbose'
alias vscl='code --log'
-alias vsced='code --disable-extensions' \ No newline at end of file
+alias vscde='code --disable-extensions'
diff --git a/plugins/vundle/README.md b/plugins/vundle/README.md
new file mode 100644
index 000000000..499038562
--- /dev/null
+++ b/plugins/vundle/README.md
@@ -0,0 +1,19 @@
+# Vundle plugin
+
+This plugin adds functions to control [vundle](https://github.com/VundleVim/Vundle.vim) plug-in manager for vim.
+
+To use it, add `vundle` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... vundle)
+```
+
+## Functions
+
+| Function | Usage | Description |
+|---------------|-----------------|----------------------------------------------------------------------------|
+| vundle-init | `vundle-init` | Install vundle by cloning git repository into ~/.vim folder |
+| vundle | `vundle` | Install plugins set in .vimrc (equals `:PluginInstall`) |
+| vundle-update | `vundle-update` | Update plugins set in .vimrc (equals `:PluginInstall!`) |
+| vundle-clean | `vundle-clean` | Delete plugins that have been removed from .vimrc (equals `:PluginClean!`) |
+
diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh
index 3d68583f1..3d68583f1 100755..100644
--- a/plugins/wd/wd.sh
+++ b/plugins/wd/wd.sh
diff --git a/plugins/web-search/README.md b/plugins/web-search/README.md
new file mode 100644
index 000000000..d790d944d
--- /dev/null
+++ b/plugins/web-search/README.md
@@ -0,0 +1,50 @@
+# web-search plugin
+
+This plugin adds aliases for searching with Google, Wiki, Bing, YouTube and other popular services.
+
+Open your `~/.zshrc` file and enable the `web-search` plugin:
+
+```zsh
+plugins=( ... web-search)
+```
+
+## Usage
+
+You can use the `web-search` plugin in these two forms:
+
+* `web_search <context> <term> [more terms if you want]`
+* `<context> <term> [more terms if you want]`
+
+For example, these two are equivalent:
+
+```zsh
+$ web_search google oh-my-zsh
+$ google oh-my-zsh
+```
+
+Available search contexts are:
+
+| Context | URL |
+|-----------------------|------------------------------------------|
+| `bing` | `https://www.bing.com/search?q=` |
+| `google` | `https://www.google.com/search?q=` |
+| `yahoo` | `https://search.yahoo.com/search?p=` |
+| `ddg` or `duckduckgo` | `https://www.duckduckgo.com/?q=` |
+| `sp` or `startpage` | `https://www.startpage.com/do/search?q=` |
+| `yandex` | `https://yandex.ru/yandsearch?text=` |
+| `github` | `https://github.com/search?q=` |
+| `baidu` | `https://www.baidu.com/s?wd=` |
+| `ecosia` | `https://www.ecosia.org/search?q=` |
+| `goodreads` | `https://www.goodreads.com/search?q=` |
+| `qwant` | `https://www.qwant.com/?q=` |
+
+Also there are aliases for bang-searching DuckDuckGo:
+
+| Context | Bang |
+|-----------|-------|
+| `wiki` | `!w` |
+| `news` | `!n` |
+| `youtube` | `!yt` |
+| `map` | `!m` |
+| `image` | `!i` |
+| `ducky` | `!` |
diff --git a/plugins/yum/README.md b/plugins/yum/README.md
new file mode 100644
index 000000000..8043421d8
--- /dev/null
+++ b/plugins/yum/README.md
@@ -0,0 +1,27 @@
+# Yum plugin
+
+This plugin adds useful aliases for common [Yum](http://yum.baseurl.org/) commands.
+
+To use it, add `yum` to the plugins array in your zshrc file:
+
+```
+plugins=(... yum)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-------|-----------------------------------|------------------------------|
+| ys | `yum search` | Search package |
+| yp | `yum info` | Show package info |
+| yl | `yum list` | List packages |
+| ygl | `yum grouplist` | List package groups |
+| yli | `yum list installed` | Print all installed packages |
+| ymc | `yum makecache` | Rebuild the yum package list |
+| yu | `sudo yum update` | Upgrade packages |
+| yi | `sudo yum install` | Install package |
+| ygi | `sudo yum groupinstall` | Install package group |
+| yr | `sudo yum remove` | Remove package |
+| ygr | `sudo yum groupremove` | Remove pagage group |
+| yrl | `sudo yum remove --remove-leaves` | Remove package and leaves |
+| yc | `sudo yum clean all` | Clean yum cache |
diff --git a/plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh b/plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh
index 32b4ca064..32b4ca064 100755..100644
--- a/plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh
+++ b/plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh