ed401bc55af2e5b08d1ff903111a65838473ad9d

Author
Luiz Guilherme Fonseca Rosa <luizguilhermefr@gmail.com>
Committer
GitHub <noreply@github.com>
Date

Message

Merge branch 'master' into master

Diff

This diff is truncated to protect this page.

   1diff --git a/plugins/autopep8/README.md b/plugins/autopep8/README.md
   2new file mode 100644
   3index 0000000000000000000000000000000000000000..02bbb9af4860d67bc09f4c33f221970708e06913
   4--- /dev/null
   5+++ b/plugins/autopep8/README.md
   6@@ -0,0 +1,8 @@
   7+# autopep8 plugin
   8+
   9+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.
  10+
  11+To use it, add autopep8 to the plugins array of your zshrc file:
  12+```
  13+plugins=(... autopep8)
  14+```
  15diff --git a/plugins/autopep8/autopep8.plugin.zsh b/plugins/autopep8/autopep8.plugin.zsh
  16deleted file mode 100644
  17index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
  18--- a/plugins/autopep8/autopep8.plugin.zsh
  19+++ /dev/null
  20diff --git a/plugins/bower/README.md b/plugins/bower/README.md
  21new file mode 100644
  22index 0000000000000000000000000000000000000000..743b6a0ea9e451f082d4d79c40f41054896d7f66
  23--- /dev/null
  24+++ b/plugins/bower/README.md
  25@@ -0,0 +1,18 @@
  26+# Bower plugin
  27+
  28+This plugin adds completion for [Bower](https://bower.io/) and a few useful aliases for common Bower commands.
  29+
  30+To use it, add `bower` to the plugins array in your zshrc file:
  31+
  32+```
  33+plugins=(... bower)
  34+```
  35+
  36+## Aliases
  37+
  38+| Alias | Command         | Description                                            |
  39+|-------|-----------------|--------------------------------------------------------|
  40+| bi    | `bower install` | Installs the project dependencies listed in bower.json |
  41+| bl    | `bower list`    | List local packages and possible updates               |
  42+| bs    | `bower search`  | Finds all packages or a specific package.              |
  43+
  44diff --git a/plugins/catimg/README.md b/plugins/catimg/README.md
  45new file mode 100644
  46index 0000000000000000000000000000000000000000..2fc28a1c606fcd21423523afec6efb7bfdbf8690
  47--- /dev/null
  48+++ b/plugins/catimg/README.md
  49@@ -0,0 +1,35 @@
  50+# catimg
  51+
  52+Plugin for displaying images on the terminal using the the `catimg.sh` script provided by [posva](https://github.com/posva/catimg)
  53+
  54+## Requirements
  55+
  56+- `convert` (ImageMagick)
  57+
  58+## Enabling the plugin
  59+
  60+1. Open your `.zshrc` file and add `catimg` in the plugins section:
  61+
  62+   ```zsh
  63+   plugins=(
  64+       # all your enabled plugins
  65+       catimg
  66+   )
  67+   ```
  68+
  69+2. Reload the source file or restart your Terminal session:
  70+
  71+   ```console
  72+   $ source ~/.zshrc
  73+   $
  74+   ```
  75+
  76+## Functions
  77+
  78+| Function | Description                              |
  79+| -------- | ---------------------------------------- |
  80+| `catimg` | Displays the given image on the terminal |
  81+
  82+## Usage examples
  83+
  84+[![asciicast](https://asciinema.org/a/204702.png)](https://asciinema.org/a/204702)
  85diff --git a/plugins/dircycle/README.md b/plugins/dircycle/README.md
  86new file mode 100644
  87index 0000000000000000000000000000000000000000..3ac162f05e88febbc6627a7ce6e8373eb7100fa9
  88--- /dev/null
  89+++ b/plugins/dircycle/README.md
  90@@ -0,0 +1,78 @@
  91+# dircycle
  92+
  93+Plugin for cycling through the directory stack
  94+
  95diff --git a/plugins/dirhistory/README.md b/plugins/dirhistory/README.md
  96new file mode 100644
  97index 0000000000000000000000000000000000000000..511f2be178d36436fd8ac3d9f53e8622a717552b
  98--- /dev/null
  99+++ b/plugins/dirhistory/README.md
 100@@ -0,0 +1,17 @@
 101+# Dirhistory plugin
 102+
 103+This plugin adds keyboard shortcuts for navigating directory history and hierarchy.
 104+
 105+To use it, add `dirhistory` to the plugins array in your zshrc file:
 106+
 107+```zsh
 108+plugins=(... dirhistory)
 109+```
 110+## Keyboard Shortcuts
 111+
 112+| Shortcut                          | Description                                               |
 113+|-----------------------------------|-----------------------------------------------------------|
 114+| <kbd>alt</kbd> + <kbd>left</kbd>  | Go to previous directory                                  |
 115+| <kbd>alt</kbd> + <kbd>right</kbd> | Undo <kbd>alt</kbd> + <kbd>left</kbd>                     |
 116+| <kbd>alt</kbd> + <kbd>up</kbd>    | Move into the parent directory                            |
 117+| <kbd>alt</kbd> + <kbd>down</kbd>  | Move into the first child directory by alphabetical order |
 118diff --git a/plugins/docker-compose/README.md b/plugins/docker-compose/README.md
 119index d3fcb29fef46c237de9f380d7c106d73caa7065b..07a87bc81f0e47d6a2390be60facd52eb8855cd1 100644
 120--- a/plugins/docker-compose/README.md
 121+++ b/plugins/docker-compose/README.md
 122@@ -1,4 +1,29 @@
 123-# Docker-compose plugin for oh my zsh
 124+# Docker-compose
 125 
 126-A copy of the completion script from the [docker-compose](https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose) git repo.
 127+This plugin provides completion for [docker-compose](https://docs.docker.com/compose/) as well as some
 128+aliases for frequent docker-compose commands.
 129 
 130+To use it, add docker-compose to the plugins array of your zshrc file:
 131+```
 132+plugins=(... docker-compose)
 133+```
 134+
 135+## Aliases
 136+
 137+| Alias     | Command                  | Description                                                      |
 138+|-----------|--------------------------|------------------------------------------------------------------|
 139+| dco       | `docker-compose`         | Docker-compose main command                                      |
 140+| dcb       | `docker-compose build`   | Build containers                                                 |
 141+| dce       | `docker-compose exec`    | Execute command inside a container                               |
 142+| dcps      | `docker-compose ps`      | List containers                                                  |
 143+| dcrestart | `docker-compose restart` | Restart container                                                |
 144+| dcrm      | `docker-compose rm`      | Remove container                                                 |
 145+| dcr       | `docker-compose run`     | Run a command in container                                       |
 146+| dcstop    | `docker-compose stop`    | Stop a container                                                 |
 147+| dcup      | `docker-compose up`      | Build, (re)create, start, and attach to containers for a service |
 148+| dcupd     | `docker-compose up -d`   | Same as `dcup`, but starts as daemon                             |
 149+| dcdn      | `docker-compose down`    | Stop and remove containers                                       |
 150+| dcl       | `docker-compose logs`    | Show logs of container                                           |
 151+| dclf      | `docker-compose logs -f` | Show logs and follow output                                      |
 152+| dcpull    | `docker-compose pull`    | Pull image of a service                                          |
 153+| dcstart   | `docker-compose start`   | Start a container                                                |
 154diff --git a/plugins/emacs/README.md b/plugins/emacs/README.md
 155new file mode 100644
 156index 0000000000000000000000000000000000000000..c8e33b5ab485428fb6ec83b3525513bc6422dc42
 157--- /dev/null
 158+++ b/plugins/emacs/README.md
 159@@ -0,0 +1,30 @@
 160+# Emacs plugin
 161+
 162+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.
 163+
 164+- You don't have the cost of starting Emacs all the time anymore
 165+- Opening a file is as fast as Emacs does not have anything else to do.
 166+- You can share opened buffered across opened frames.
 167+- Configuration changes made at runtime are applied to all frames.
 168+
 169+**NOTE:** requires Emacs 24 and newer.
 170+
 171+To use it, add emacs to the plugins array in your zshrc file:
 172+
 173+```zsh
 174+plugins=(... emacs)
 175+```
 176+
 177+## Aliases
 178+
 179+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).
 180+
 181+| Alias  | Command                                            | Description                                                    |
 182+|--------|----------------------------------------------------|----------------------------------------------------------------|
 183+| emacs  | `$EMACS_LAUNCHER --no-wait`                        | Opens a temporary emacsclient frame                            |
 184+| e      | `emacs`                                            | Same as emacs alias                                            |
 185+| te     | `$EMACS_LAUNCHER -nw`                              | Open terminal emacsclient                                      |
 186+| eeval  | `$EMACS_LAUNCHER --eval`                           | Same as `M-x eval` but from outside Emacs                      |
 187+| eframe | `emacsclient --alternate-editor "" --create-frame` | Create new X frame                                             |
 188+| efile  | -                                                  | Print the path to the file open in the current buffer          |
 189+| ecd    | -                                                  | Print the directory of the file open in the the current buffer |
 190diff --git a/plugins/emoji-clock/README.md b/plugins/emoji-clock/README.md
 191new file mode 100644
 192index 0000000000000000000000000000000000000000..4934f380b47e474895d2c71732e09656ce49adac
 193--- /dev/null
 194+++ b/plugins/emoji-clock/README.md
 195@@ -0,0 +1,14 @@
 196+# emoji-clock
 197+
 198+The plugin displays current time as an emoji symbol with half hour accuracy.
 199+
 200+To use it, add `emoji-clock` to the plugins array of your zshrc file:
 201+```
 202+plugins=(... emoji-clock)
 203+```
 204+
 205+## Features
 206+
 207+| Function          | Description                                                          |
 208+|-------------------|----------------------------------------------------------------------|
 209+| `emoji-clock`     | Displays current time in clock emoji symbol with half hour accuracy  |
 210diff --git a/plugins/encode64/README.md b/plugins/encode64/README.md
 211new file mode 100644
 212index 0000000000000000000000000000000000000000..9850da85f3fae60688c039c5371fdd8bfbf3902f
 213--- /dev/null
 214+++ b/plugins/encode64/README.md
 215@@ -0,0 +1,69 @@
 216+# encode64
 217+
 218+Alias plugin for encoding or decoding using `base64` command
 219+
 220+## Functions and Aliases
 221+
 222+| Function   | Alias | Description                    |
 223+| ---------- | ----- | ------------------------------ |
 224+| `encode64` | `e64` | Encodes given data to base64   |
 225+| `decode64` | `d64` | Decodes given data from base64 |
 226+
 227+## Enabling plugin
 228+
 229+1. Edit your `.zshrc` file and add `encode64` to the list of plugins:
 230+
 231+   ```sh
 232+   plugins=(
 233+     # ...other enabled plugins
 234+     encode64
 235+   )
 236+   ```
 237+
 238+2. Restart your terminal session or reload configuration by running:
 239+
 240+   ```sh
 241+   source ~/.zshrc
 242+   ```
 243+
 244+## Usage and examples
 245+
 246+### Encoding
 247+
 248+- From parameter
 249+
 250+  ```console
 251+  $ encode64 "oh-my-zsh"
 252+  b2gtbXktenNo
 253+  $ e64 "oh-my-zsh"
 254+  b2gtbXktenNo
 255+  ```
 256+
 257+- From piping
 258+
 259+  ```console
 260+  $ echo "oh-my-zsh" | encode64
 261+  b2gtbXktenNo==
 262+  $ echo "oh-my-zsh" | e64
 263+  b2gtbXktenNo==
 264+  ```
 265+
 266+### Decoding
 267+
 268+- From parameter
 269+
 270+  ```console
 271+  $ decode64 b2gtbXktenNo
 272+  oh-my-zsh%
 273+  $ d64 b2gtbXktenNo
 274+  oh-my-zsh%
 275+  ```
 276+
 277+- From piping
 278+
 279+  ```console
 280+  $ echo "b2gtbXktenNoCg==" | decode64
 281+  oh-my-zsh
 282+  $ echo "b2gtbXktenNoCg==" | decode64
 283+  oh-my-zsh
 284+  ```
 285diff --git a/plugins/gem/README.md b/plugins/gem/README.md
 286new file mode 100644
 287index 0000000000000000000000000000000000000000..decd87ba35aeb66a8f3b9cf0ca3b964c1ab3e681
 288--- /dev/null
 289+++ b/plugins/gem/README.md
 290@@ -0,0 +1,17 @@
 291+# Gem plugin
 292+
 293+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.
 294+
 295+To use it, add `gem` to the plugins array in your zshrc file:
 296+
 297+```zsh
 298+plugins=(... gem)
 299+```
 300+
 301+## Aliases
 302+
 303+| Alias                | Command                       | Description                                |
 304+|----------------------|-------------------------------|--------------------------------------------|
 305+| gemb                 | `gem build *.gemspec`         | Build a gem from a gemspec                 |
 306+| gemp                 | `gem push *.gem`              | Push a gem up to the gem server            |
 307+| gemy [gem] [version] | `gem yank [gem] -v [version]` | Remove a pushed gem version from the index |
 308diff --git a/plugins/gitfast/README.md b/plugins/gitfast/README.md
 309new file mode 100644
 310index 0000000000000000000000000000000000000000..c3073709e512b2e4a01ffede5128d0dce443c460
 311--- /dev/null
 312+++ b/plugins/gitfast/README.md
 313@@ -0,0 +1,138 @@
 314+# Gitfast plugin
 315+
 316diff --git a/plugins/go/README.md b/plugins/go/README.md
 317new file mode 100644
 318index 0000000000000000000000000000000000000000..6ce6f4ee26d36a2738dba22e78c751cd69b2d7f0
 319--- /dev/null
 320+++ b/plugins/go/README.md
 321@@ -0,0 +1 @@
 322+The go plugin is deprecated. Use the [golang plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/golang) instead.
 323diff --git a/plugins/golang/README.md b/plugins/golang/README.md
 324new file mode 100644
 325index 0000000000000000000000000000000000000000..72845b2a171bb631fa85beb665a35838633681b6
 326--- /dev/null
 327+++ b/plugins/golang/README.md
 328@@ -0,0 +1,29 @@
 329+# Golang plugin
 330+
 331+This plugin adds completion for the [Go Programming Language](https://golang.org/),
 332+as well as some aliases for common Golang commands.
 333+
 334+To use it, add `golang` to the plugins array in your zshrc file:
 335+
 336+```zsh
 337+plugins=(... golang)
 338+```
 339+
 340+## Aliases
 341+
 342+| Alias   | Command                 | Description                                                   |
 343+| ------- | ----------------------- | ------------------------------------------------------------- |
 344+| gob     | `go build`              | Build your code                                               |
 345+| goc     | `go clean`              | Removes object files from package source directories          |
 346+| god     | `go doc`                | Prints documentation comments                                 |
 347+| gof     | `go fmt`                | Gofmt formats (aligns and indents) Go programs.               |
 348+| gofa    | `go fmt ./...`          | Run go fmt for all packages in current directory, recursively |
 349+| gog     | `go get`                | Downloads packages and then installs them to $GOPATH          |
 350+| goi     | `go install`            | Compiles and installs packages to $GOPATH                     |
 351+| gol     | `go list`               | Lists Go packages                                             |
 352+| gop     | `cd $GOPATH`            | Takes you to $GOPATH                                          |
 353+| gopb    | `cd $GOPATH/bin`        | Takes you to $GOPATH/bin                                      |
 354+| gops    | `cd $GOPATH/src`        | Takes you to $GOPATH/src                                      |
 355+| gor     | `go run`                | Compiles and runs your code                                   |
 356+| got     | `go test`               | Runs tests                                                    |
 357+| gov     | `go vet`                | Vet examines Go source code and reports suspicious constructs |
 358diff --git a/plugins/gradle/README.md b/plugins/gradle/README.md
 359new file mode 100644
 360index 0000000000000000000000000000000000000000..215503c81458d0979c00125a9e808bc7af26309f
 361--- /dev/null
 362+++ b/plugins/gradle/README.md
 363@@ -0,0 +1,23 @@
 364+## Gradle Plugin
 365+
 366+This plugin adds completions and aliases for [Gradle](https://gradle.org/).
 367+
 368+To use it, add `gradle` to the plugins array in your zshrc file:
 369+
 370+```zsh
 371+plugins=(... gradle)
 372+```
 373+
 374+## Usage
 375+
 376diff --git a/plugins/grunt/README.md b/plugins/grunt/README.md
 377new file mode 100644
 378index 0000000000000000000000000000000000000000..a69a9b7fc5cf23c3c61d74bea949ec9aff99a70c
 379--- /dev/null
 380+++ b/plugins/grunt/README.md
 381@@ -0,0 +1,37 @@
 382+# grunt plugin
 383+
 384+This plugin adds completions for [grunt](https://github.com/gruntjs/grunt).
 385+
 386+To use it, add `grunt` to the plugins array of your `.zshrc` file:
 387+```zsh
 388+plugins=(... grunt)
 389+```
 390+
 391+## Enable caching
 392+
 393+If you want to use the cache, set the following in your `.zshrc`:
 394+```zsh
 395+zstyle ':completion:*' use-cache yes
 396+```
 397+
 398+## Settings
 399+
 400+* Show grunt file path:
 401+  ```zsh
 402+  zstyle ':completion::complete:grunt::options:' show_grunt_path yes
 403+  ```
 404+* Cache expiration days (default: 7):
 405+  ```zsh
 406+  zstyle ':completion::complete:grunt::options:' expire 1
 407+  ```
 408+* Not update options cache if target gruntfile is changed.
 409+  ```zsh
 410+  zstyle ':completion::complete:grunt::options:' no_update_options yes
 411+  ```
 412+
 413+Note that if you change the zstyle settings, you should delete the cache file and restart zsh.
 414+
 415+```zsh
 416+$ rm ~/.zcompcache/grunt
 417+$ exec zsh
 418+```
 419diff --git a/plugins/gulp/README.md b/plugins/gulp/README.md
 420new file mode 100644
 421index 0000000000000000000000000000000000000000..4ed2b99b38f695dd41fd72a193950d9268946a98
 422--- /dev/null
 423+++ b/plugins/gulp/README.md
 424@@ -0,0 +1,8 @@
 425+# gulp plugin
 426+
 427+This plugin adds autocompletion for your [`gulp`](https://gulpjs.com/) tasks. It grabs all available tasks from the `gulpfile.js` in the current directory.
 428+
 429+To use it, add `gulp` to the plugins array of your `.zshrc` file:
 430+```
 431+plugins=(... gulp)
 432+```
 433diff --git a/plugins/iterm2/README.md b/plugins/iterm2/README.md
 434new file mode 100644
 435index 0000000000000000000000000000000000000000..50cdebf5ef1ea343c067a2b2141a356ffa91e3c5
 436--- /dev/null
 437+++ b/plugins/iterm2/README.md
 438@@ -0,0 +1,29 @@
 439+# iTerm2 plugin
 440+
 441+This plugin adds a few functions that are useful when using [iTerm2](https://www.iterm2.com/).
 442+
 443+To use it, add _iterm2_ to the plugins array of your zshrc file:
 444+```
 445+plugins=(... iterm2)
 446+```
 447+
 448+## Plugin commands
 449+
 450+* `_iterm2_command <iterm2-command>`
 451+  executes an arbitrary iTerm2 command via an escape code sequence.
 452+  See https://iterm2.com/documentation-escape-codes.html for all supported commands.
 453+
 454+* `iterm2_profile <profile-name>`
 455+  changes the current terminal window's profile (colors, fonts, settings, etc).
 456+  `profile-name` is the name of another iTerm2 profile. The profile name can contain spaces.
 457+
 458+* `iterm2_tab_color <red> <green> <blue>`
 459+  changes the color of iTerm2's currently active tab.
 460+  `red`/`green`/`blue` are on the range 0-255.
 461+
 462+* `iterm2_tab_color_reset`
 463+  resets the color of iTerm2's current tab back to default.
 464+
 465+## Contributors
 466+
 467+- [Aviv Rosenberg](https://github.com/avivrosenberg)
 468diff --git a/plugins/jump/README.md b/plugins/jump/README.md
 469new file mode 100644
 470index 0000000000000000000000000000000000000000..ed64152896120cc93440fd6f167b8fb071909e4c
 471--- /dev/null
 472+++ b/plugins/jump/README.md
 473@@ -0,0 +1,19 @@
 474+# Jump plugin
 475+
 476+This plugin allows to easily jump around the file system by manually adding marks.
 477+Those marks are stored as symbolic links in the directory `$MARKPATH` (default `$HOME/.marks`)
 478+
 479+To use it, add `jump` to the plugins array in your zshrc file:
 480+
 481+```zsh
 482+plugins=(... jump)
 483+```
 484+
 485+## Commands
 486+
 487+| Command              | Description                                                                                     |
 488+|----------------------|-------------------------------------------------------------------------------------------------|
 489+| `jump <mark-name>`   | Jump to the given mark                                                                          |
 490+| `mark [mark-name]`   | Create a mark with the given name or with the name of the current directory if none is provided |
 491+| `unmark <mark-name>` | Remove the given mark                                                                           |
 492+| `marks`              | List the existing marks and the directories they point to                                       |
 493diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh
 494index 168dfaba2ae41928beaead091b04502efd738174..a19a8602270e1268e9455a9dfbc2713f67f67927 100644
 495--- a/plugins/jump/jump.plugin.zsh
 496+++ b/plugins/jump/jump.plugin.zsh
 497@@ -19,7 +19,7 @@ mark() {
 498 		MARK="$1"
 499 	fi
 500 	if read -q \?"Mark $PWD as ${MARK}? (y/n) "; then
 501-		mkdir -p "$MARKPATH"; ln -s "$PWD" "$MARKPATH/$MARK"
 502+		mkdir -p "$MARKPATH"; ln -sfn "$PWD" "$MARKPATH/$MARK"
 503 	fi
 504 }
 505 
 506diff --git a/plugins/kate/README.md b/plugins/kate/README.md
 507new file mode 100644
 508index 0000000000000000000000000000000000000000..aa2eaa3cc284893462e60028a6e6226ede1e0ab4
 509--- /dev/null
 510+++ b/plugins/kate/README.md
 511@@ -0,0 +1,20 @@
 512+# Kate plugin
 513+
 514+This plugin adds aliases for the [Kate editor](https://kate-editor.org).
 515+
 516+To use it, add kate to the plugins array of your zshrc file:
 517+```
 518+plugins=(... kate)
 519+```
 520+
 521+## Aliases
 522+
 523+| Alias | Command                | Description         |
 524+|-------|------------------------|---------------------|
 525+| kate  | `kate >/dev/null 2>&1` | Start kate silently |
 526+
 527+## Functions
 528+
 529+| Function   | Description                              |
 530+|------------|------------------------------------------|
 531+| `kt <dir>` | Change to directory and start kate there |
 532diff --git a/plugins/laravel/README.md b/plugins/laravel/README.md
 533index c7ae17f8079a89b06510e3971c546a2738e34a55..44798b68d3dd8bc4d180fb45f314a670f133c735 100644
 534--- a/plugins/laravel/README.md
 535+++ b/plugins/laravel/README.md
 536@@ -1,6 +1,7 @@
 537 # Laravel
 538 
 539-Enable some cool aliases for Laravel [artisan console](https://laravel.com/docs/5.7/artisan). To use it, add `laravel` to the plugins array of your zshrc file:
 540+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.
 541+
 542 ```
 543 plugins=(... laravel)
 544 ```
 545diff --git a/plugins/laravel4/README.md b/plugins/laravel4/README.md
 546new file mode 100644
 547index 0000000000000000000000000000000000000000..c945601f770cdbf43df8f23695a2d5938eeb989d
 548--- /dev/null
 549+++ b/plugins/laravel4/README.md
 550@@ -0,0 +1,18 @@
 551+# Laravel 4 plugin
 552+
 553+This plugin adds some aliases for common [Laravel 4](https://laravel.com/docs/4.2) commands.
 554+
 555+To use it, add `laravel4` to the plugins array in your zshrc file:
 556+
 557+```zsh
 558+plugins=(... laravel4)
 559+```
 560+
 561+## Aliases
 562+
 563+| Alias | Command                                   | Description                                     |
 564+|-----------|-------------------------------------------|-------------------------------------------------------------|
 565+| la4       | `php artisan`                             | Main Artisan command                        |
 566+| la4dump   | `php artisan dump-autoload`               | Regenerate framework autoload files         |
 567+| la4cache  | `php artisan cache:clear`                 | Flush the application cache                 |
 568+| la4routes | `php artisan routes`                      | List all registered routes                  |
 569diff --git a/plugins/laravel5/README.md b/plugins/laravel5/README.md
 570new file mode 100644
 571index 0000000000000000000000000000000000000000..933342a9ec7fca316a79579c0f89d26473f6c017
 572--- /dev/null
 573+++ b/plugins/laravel5/README.md
 574@@ -0,0 +1,18 @@
 575+# Laravel 5 plugin
 576+
 577+This plugin adds some aliases for common [Laravel 5](https://laravel.com/docs) commands.
 578+
 579+To use it, add `laravel5` to the plugins array in your zshrc file:
 580+
 581+```zsh
 582+plugins=(... laravel5)
 583+```
 584+
 585+## Aliases
 586+
 587+| Alias     | Command                      | Description                                        |
 588+|-----------|------------------------------|----------------------------------------------------|
 589+| la5       | `php artisan`                | Main Artisan command                               |
 590+| la5cache  | `php artisan cache:clear`    | Flush the application cache                        |
 591+| la5routes | `php artisan route:list`     | List all registered routes                         |
 592+| la5vendor | `php artisan vendor:publish` | Publish any publishable assets from vendor package |
 593diff --git a/plugins/lol/README.md b/plugins/lol/README.md
 594new file mode 100644
 595index 0000000000000000000000000000000000000000..b0e54f57529c8c571e0535224d70bcb2fc9f5c6c
 596--- /dev/null
 597+++ b/plugins/lol/README.md
 598@@ -0,0 +1,83 @@
 599+# lol
 600+
 601+Plugin for adding catspeak aliases, because why not
 602+
 603+## Enabling the plugin
 604+
 605+1. Open your `.zshrc` file and add `lol` in the plugins section:
 606+
 607+   ```zsh
 608+   plugins=(
 609+       # all your enabled plugins
 610+       lol
 611+   )
 612+   ```
 613+
 614+2. Reload the source file or restart your Terminal session:
 615+
 616+   ```console
 617+   $ source ~/.zshrc
 618+   $
 619+   ```
 620+
 621+## Aliases
 622+
 623+| Alias        | Command                                                          |
 624+| ------------ | ---------------------------------------------------------------- |
 625+| `:3`         | `echo`                                                           |
 626+| `alwayz`     | `tail -f`                                                        |
 627+| `bringz`     | `git pull`                                                       |
 628+| `btw`        | `nice`                                                           |
 629+| `byes`       | `exit`                                                           |
 630+| `chicken`    | `git add`                                                        |
 631+| `cya`        | `reboot`                                                         |
 632+| `donotwant`  | `rm`                                                             |
 633+| `dowant`     | `cp`                                                             |
 634+| `gimmeh`     | `touch`                                                          |
 635+| `gtfo`       | `mv`                                                             |
 636+| `hackzor`    | `git init`                                                       |
 637+| `hai`        | `cd`                                                             |
 638+| `icanhas`    | `mkdir`                                                          |
 639+| `ihasbucket` | `df -h`                                                          |
 640+| `iminurbase` | `finger`                                                         |
 641+| `inur`       | `locate`                                                         |
 642+| `invisible`  | `cat`                                                            |
 643+| `iz`         | `ls`                                                             |
 644+| `kthxbai`    | `halt`                                                           |
 645+| `letcat`     | `git checkout`                                                   |
 646+| `moar`       | `more`                                                           |
 647+| `nomnom`     | `killall`                                                        |
 648+| `nomz`       | `ps aux`                                                         |
 649+| `nowai`      | `chmod`                                                          |
 650+| `oanward`    | `git commit -m`                                                  |
 651+| `obtw`       | `nohup`                                                          |
 652+| `onoz`       | `cat /var/log/errors.log`                                        |
 653+| `ooanward`   | `git commit -am`                                                 |
 654+| `plz`        | `pwd`                                                            |
 655+| `pwned`      | `ssh`                                                            |
 656+| `rtfm`       | `man`                                                            |
 657+| `rulz`       | `git push`                                                       |
 658+| `tldr`       | `less`                                                           |
 659+| `violenz`    | `git rebase`                                                     |
 660+| `visible`    | `echo`                                                           |
 661+| `wtf`        | `dmesg`                                                          |
 662+| `yolo`       | `git commit -m "$(curl -s https://whatthecommit.com/index.txt)"` |
 663+
 664+## Usage Examples
 665+
 666+```sh
 667+# mkdir new-directory
 668+icanhas new-directory
 669+
 670+# killall firefox
 671+nomnom firefox
 672+
 673+# chmod u=r,go= some.file
 674+nowai u=r,go= some.file
 675+
 676+# ssh root@catserver.org
 677+pwned root@catserver.org
 678+
 679+# git commit -m "$(curl -s https://whatthecommit.com/index.txt)"
 680+yolo
 681+```
 682diff --git a/plugins/macports/README.md b/plugins/macports/README.md
 683new file mode 100644
 684index 0000000000000000000000000000000000000000..ded823f3ff554c6c67ea7ef4eee630894d20ec75
 685--- /dev/null
 686+++ b/plugins/macports/README.md
 687@@ -0,0 +1,21 @@
 688+# Macports plugin
 689+
 690+This plugin adds completion for the package manager [Macports](https://macports.com/),
 691+as well as some aliases for common Macports commands.
 692+
 693+To use it, add `macports` to the plugins array in your zshrc file:
 694+
 695+```zsh
 696+plugins=(... macports)
 697+```
 698+
 699+## Aliases
 700+
 701+| Alias | Command                            | Description                                                  |
 702+|-------|------------------------------------|--------------------------------------------------------------|
 703+| pc    | `sudo port clean --all installed`  | Clean up intermediate installation files for installed ports |
 704+| pi    | `sudo port install`                | Install package given as argument                            |
 705+| psu   | `sudo port selfupdate`             | Update ports tree with MacPorts repository                   |
 706+| puni  | `sudo port uninstall inactive`     | Uninstall inactive ports                                     |
 707+| puo   | `sudo port upgrade outdated`       | Upgrade ports with newer versions available                  |
 708+| pup   | `psu && puo`                       | Update ports tree, then upgrade ports to newest versions     |
 709diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh
 710index 277352e321afd49b954cb91223cf59f9eaf399a3..d1fde30d446cf1fe8a4dd995dba5841abd531b84 100644
 711--- a/plugins/macports/macports.plugin.zsh
 712+++ b/plugins/macports/macports.plugin.zsh
 713@@ -1,8 +1,6 @@
 714-#Aliases
 715 alias pc="sudo port clean --all installed"
 716-alias pi="sudo port install $1"
 717+alias pi="sudo port install"
 718 alias psu="sudo port selfupdate"
 719 alias puni="sudo port uninstall inactive"
 720 alias puo="sudo port upgrade outdated"
 721 alias pup="psu && puo"
 722-
 723diff --git a/plugins/mercurial/mercurial.plugin.zsh b/plugins/mercurial/mercurial.plugin.zsh
 724index 3ae59496e5eea2872ac8d98d91b8de3dd29dce82..58bc571a005380642fe43842e4c742d18964fdf9 100644
 725--- a/plugins/mercurial/mercurial.plugin.zsh
 726+++ b/plugins/mercurial/mercurial.plugin.zsh
 727@@ -1,4 +1,5 @@
 728 # Mercurial
 729+alias hga='hg add'
 730 alias hgc='hg commit'
 731 alias hgb='hg branch'
 732 alias hgba='hg branches'
 733diff --git a/plugins/mix/README.md b/plugins/mix/README.md
 734index 63476dd6b4f0682f98f6e2b1beaf4f74d75950cb..878f370f20191173328327af0144205df2df2f4c 100644
 735--- a/plugins/mix/README.md
 736+++ b/plugins/mix/README.md
 737@@ -16,3 +16,4 @@ plugins=(... mix)
 738 | Phoenix v1.3.0 and above| [Phoenix](https://hexdocs.pm/phoenix/Phoenix.html)       |
 739 | Ecto                    | [Ecto](https://hexdocs.pm/ecto/Ecto.html)                |
 740 | Hex                     | [Hex](https://hex.pm/)                                   |
 741+| Nerves                  | [Nerves](https://nerves-project.org/)                    |
 742diff --git a/plugins/mix/_mix b/plugins/mix/_mix
 743index ecbe7e2d3ae802c0253ee09946901adfcb2b7869..61fa1cf2513e8b68ffd108a0cf302c28384faa4d 100644
 744--- a/plugins/mix/_mix
 745+++ b/plugins/mix/_mix
 746@@ -31,6 +31,9 @@ _1st_arguments=(
 747     'ecto.migrations:Displays the up / down migration status'
 748     'ecto.rollback:Reverts applied migrations'
 749     'escript.build:Builds an escript for the project'
 750+    'firmware:Nerves - Build a firmware image for the selected target platform'
 751+    'firmware.burn:Nerves - Writes the generated firmware image to an attached SDCard or file'
 752+    'firmware.image:Nerves - Create a firmware image file that can be copied byte-for-byte'
 753     'help:Print help information for tasks'
 754     'hex:Print hex help information'
 755     'hex.config:Read or update hex config'
 756@@ -48,6 +51,11 @@ _1st_arguments=(
 757     'local.phoenix:Updates Phoenix locally'
 758     'local.phx:Updates the Phoenix project generator locally'
 759     'local.rebar:Install rebar locally'
 760+    'nerves.artifact:Create an artifact for a specified Nerves package'
 761+    'nerves.artifact.get:Nerves get artifacts'
 762+    'nerves.info:Prints Nerves system information'
 763+    'nerves.new:Create a new Nerves application'
 764+    'nerves.release.init:Prepare a new Nerves project for use with releases'
 765     'new:Create a new Elixir project'
 766     'phoenix.digest:Digests and compress static files'
 767     'phoenix.gen.channel:Generates a Phoenix channel'
 768diff --git a/plugins/mosh/README.md b/plugins/mosh/README.md
 769new file mode 100644
 770index 0000000000000000000000000000000000000000..4bbecf478cbe4ef6be7e89e5489f8cf48fe0b961
 771--- /dev/null
 772+++ b/plugins/mosh/README.md
 773@@ -0,0 +1,9 @@
 774+# Mosh Plugin
 775+
 776+This plugin allows SSH tab completion for [mosh](https://mosh.org/) hostnames.
 777+
 778+To use it, add `mosh` to the plugins array in your zshrc file:
 779+
 780+```
 781+plugins=(... mosh)
 782+```
 783diff --git a/plugins/ng/ng.plugin.zsh b/plugins/ng/ng.plugin.zsh
 784index 2488bc230fa40d011827f1510332f980619bc263..b802bf61799a37a35ec7cf0c24a9692d74967628 100644
 785--- a/plugins/ng/ng.plugin.zsh
 786+++ b/plugins/ng/ng.plugin.zsh
 787@@ -1,5 +1,5 @@
 788 
 789-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'
 790+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'
 791 
 792 _ng_completion () {
 793   local words cword opts
 794@@ -55,6 +55,10 @@ _ng_completion () {
 795     t | test )
 796       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'
 797       ;;
 798+      
 799+    update )
 800+      opts='--all --dryRun --force --from --migrate-only --next --registry --to -d'
 801+      ;;
 802 
 803     v | version )
 804       opts='--verbose'
 805diff --git a/plugins/node/README.md b/plugins/node/README.md
 806new file mode 100644
 807index 0000000000000000000000000000000000000000..c392dc0bfb0361ea064cda4d77160bfc556a4ee4
 808--- /dev/null
 809+++ b/plugins/node/README.md
 810@@ -0,0 +1,16 @@
 811+# node plugin
 812+
 813+To use it, add `node` to the plugins array of your zshrc file:
 814+```zsh
 815+plugins=(... node)
 816+```
 817+
 818+This plugin adds `node-docs` function that open specific section in [Node.js](https://nodejs.org) documentation (depending on the installed version).
 819+For example:
 820+
 821+```zsh
 822+# Opens https://nodejs.org/docs/latest-v10.x/api/fs.html
 823+$ node-docs fs
 824+# Opens https://nodejs.org/docs/latest-v10.x/api/path.html
 825+$ node-docs path 
 826+```
 827diff --git a/plugins/nvm/README.md b/plugins/nvm/README.md
 828new file mode 100644
 829index 0000000000000000000000000000000000000000..079cf00099f757401216bd35a7387cee066bc3c3
 830--- /dev/null
 831+++ b/plugins/nvm/README.md
 832@@ -0,0 +1,9 @@
 833+# nvm plugin
 834+
 835+This plugin adds autocompletions for [nvm](https://github.com/creationix/nvm) — a Node.js version manager.
 836+It also automatically sources nvm, so you don't need to do it manually in your `.zshrc`.
 837+
 838+To use it, add `nvm` to the plugins array of your zshrc file:
 839+```zsh
 840+plugins=(... nvm)
 841+```
 842diff --git a/plugins/pep8/README.md b/plugins/pep8/README.md
 843new file mode 100644
 844index 0000000000000000000000000000000000000000..a9a4f1cd01d235c45b87a30cdd971429c8f543f1
 845--- /dev/null
 846+++ b/plugins/pep8/README.md
 847@@ -0,0 +1,8 @@
 848+# pep8 plugin
 849+
 850+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/).
 851+
 852+To use it, add pep8 to the plugins array of your zshrc file:
 853+```
 854+plugins=(... pep8)
 855+```
 856diff --git a/plugins/postgres/README.md b/plugins/postgres/README.md
 857new file mode 100644
 858index 0000000000000000000000000000000000000000..59445f31cf15eff6959d546361905aeb5ddcce29
 859--- /dev/null
 860+++ b/plugins/postgres/README.md
 861@@ -0,0 +1,22 @@
 862+# Postgres plugin
 863+
 864+This plugin adds some aliases for useful Postgres commands.
 865+
 866+:warning: this plugin works exclusively with Postgres installed via Homebrew on OSX
 867+because Postgres paths are hardcoded to `/usr/local/var/postgres`.
 868+
 869+To use it, add `postgres` to the plugins array in your zshrc file:
 870+
 871+```zsh
 872+plugins=(... postgres)
 873+```
 874+
 875+## Aliases
 876+
 877+| Alias       | Command                                                                         | Description                                                 |
 878+|-------------|---------------------------------------------------------------------------------|-------------------------------------------------------------|
 879+| startpost   | `pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start` | Start postgres server                                       |
 880+| stoppost    | `pg_ctl -D /usr/local/var/postgres stop -s -m fast`                             | Stop postgres server                                        |
 881+| restartpost | `stoppost && sleep 1 && startpost`                                              | Restart (calls stop, then start)                            |
 882+| reloadpost  | `pg_ctl reload -D /usr/local/var/postgres -s`                                   | Reload postgres configuration (some setting require restart)|
 883+| statuspost  | `pg_ctl status -D /usr/local/var/postgres -s`                                   | Check startus of postgres server (running, stopped)         |
 884diff --git a/plugins/ruby/README.md b/plugins/ruby/README.md
 885new file mode 100644
 886index 0000000000000000000000000000000000000000..ad2755bbf29c2677d05438bb8179a5fc876a3137
 887--- /dev/null
 888+++ b/plugins/ruby/README.md
 889@@ -0,0 +1,20 @@
 890+# Ruby plugin
 891+
 892+This plugin adds aliases for common commands used in dealing with [Ruby](https://www.ruby-lang.org/en/) and [gem packages](https://rubygems.org/).
 893+
 894+To use it, add `ruby` to the plugins array in your zshrc file:
 895+
 896+```zsh
 897+plugins=(... ruby)
 898+```
 899+
 900+## Aliases
 901+
 902+| Alias | Command                                | Description                                          |
 903+|-------|----------------------------------------|------------------------------------------------------|
 904+| rb    | `ruby`                                 | The Ruby command                                     |
 905+| sgem  | `sudo gem`                             | Run sudo gem on the system ruby, not the active ruby |
 906+| rfind | `find . -name "*.rb" \| xargs grep -n` | Find ruby file                                       |
 907+| gin   | `gem install`                          | Install a gem into the local repository              |
 908+| gun   | `gem uninstall`                        | Uninstall gems from the local repository             |
 909+| gli   | `gem list`                             | Display gems installed locally                       |
 910diff --git a/plugins/swiftpm/_swift b/plugins/swiftpm/_swift
 911index 901b5d9e2f1c60aad69e16a6696f0481c9fe2984..bed6e13a76f8c05c02e4ba5a2eaf4900032382a1 100644
 912--- a/plugins/swiftpm/_swift
 913+++ b/plugins/swiftpm/_swift
 914@@ -72,14 +72,16 @@ _swift_build() {
 915         "--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
 916         "(--chdir -C)"{--chdir,-C}"[]: :_files"
 917         "--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
 918+        "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]'}"
 919         "--disable-prefetching[]"
 920+        "--skip-update[Skip updating dependencies from their remote during a resolution]"
 921         "--disable-sandbox[Disable using the sandbox when executing subprocesses]"
 922         "--version[]"
 923         "--destination[]: :_files"
 924         "(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
 925-        "--no-static-swift-stdlib[Do not link Swift stdlib statically]"
 926+        "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
 927         "--static-swift-stdlib[Link Swift stdlib statically]"
 928-        "--enable-build-manifest-caching[Enable llbuild manifest caching [Experimental]]"
 929+        "--enable-build-manifest-caching[Enable llbuild manifest caching \[Experimental\]]"
 930         "--build-tests[Build both source and test targets]"
 931         "--product[Build the specified product]:Build the specified product: "
 932         "--target[Build the specified target]:Build the specified target: "
 933@@ -106,14 +108,16 @@ _swift_run() {
 934         "--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
 935         "(--chdir -C)"{--chdir,-C}"[]: :_files"
 936         "--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
 937+        "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]'}"
 938         "--disable-prefetching[]"
 939+        "--skip-update[Skip updating dependencies from their remote during a resolution]"
 940         "--disable-sandbox[Disable using the sandbox when executing subprocesses]"
 941         "--version[]"
 942         "--destination[]: :_files"
 943         "(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
 944-        "--no-static-swift-stdlib[Do not link Swift stdlib statically]"
 945+        "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
 946         "--static-swift-stdlib[Link Swift stdlib statically]"
 947-        "--enable-build-manifest-caching[Enable llbuild manifest caching [Experimental]]"
 948+        "--enable-build-manifest-caching[Enable llbuild manifest caching \[Experimental\]]"
 949         "--skip-build[Skip building the executable product]"
 950     )
 951     _arguments $arguments && return
 952@@ -136,14 +140,16 @@ _swift_package() {
 953         "--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
 954         "(--chdir -C)"{--chdir,-C}"[]: :_files"
 955         "--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
 956+        "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]'}"
 957         "--disable-prefetching[]"
 958+        "--skip-update[Skip updating dependencies from their remote during a resolution]"
 959         "--disable-sandbox[Disable using the sandbox when executing subprocesses]"
 960         "--version[]"
 961         "--destination[]: :_files"
 962         "(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
 963-        "--no-static-swift-stdlib[Do not link Swift stdlib statically]"
 964+        "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
 965         "--static-swift-stdlib[Link Swift stdlib statically]"
 966-        "--enable-build-manifest-caching[Enable llbuild manifest caching [Experimental]]"
 967+        "--enable-build-manifest-caching[Enable llbuild manifest caching \[Experimental\]]"
 968         '(-): :->command'
 969         '(-)*:: :->arg'
 970     )
 971@@ -152,135 +158,133 @@ _swift_package() {
 972         (command)
 973             local modes
 974             modes=(
 975+                'edit:Put a package in editable mode'
 976+                'clean:Delete build artifacts'
 977+                'init:Initialize a new package'
 978+                'dump-package:Print parsed Package.swift as JSON'
 979+                'describe:Describe the current package'
 980+                'unedit:Remove a package from editable mode'
 981                 'update:Update package dependencies'
 982-                'show-dependencies:Print the resolved dependency graph'
 983-                'resolve:Resolve package dependencies'
 984-                'fetch:'
 985                 'completion-tool:Completion tool (for shell completions)'
 986-                'edit:Put a package in editable mode'
 987                 'tools-version:Manipulate tools version of the current package'
 988-                'describe:Describe the current package'
 989-                'clean:Delete build artifacts'
 990                 'reset:Reset the complete cache/build directory'
 991-                'unedit:Remove a package from editable mode'
 992+                'resolve:Resolve package dependencies'
 993                 'generate-xcodeproj:Generates an Xcode project'
 994-                'init:Initialize a new package'
 995-                'dump-package:Print parsed Package.swift as JSON'
 996+                'fetch:'
 997+                'show-dependencies:Print the resolved dependency graph'
 998             )
 999             _describe "mode" modes
1000             ;;
1001         (arg)
1002             case ${words[1]} in
1003-                (update)
1004-                    _swift_package_update
1005+                (edit)
1006+                    _swift_package_edit
1007                     ;;
1008-                (show-dependencies)
1009-                    _swift_package_show-dependencies
1010+                (clean)
1011+                    _swift_package_clean
1012                     ;;
1013-                (resolve)
1014diff --git a/plugins/systemd/README.md b/plugins/systemd/README.md
1015new file mode 100644
1016index 0000000000000000000000000000000000000000..d91329290ab40c3af01d3d9e3ce33ff3689de300
1017--- /dev/null
1018+++ b/plugins/systemd/README.md
1019@@ -0,0 +1,53 @@
1020+# Systemd plugin
1021+
1022+The systemd plugin provides many useful aliases for systemd.
1023+
1024+To use it, add systemd to the plugins array of your zshrc file:
1025+```
1026+plugins=(... systemd)
1027+```
1028+
1029+## Aliases
1030+
1031+| Alias                  | Command                            | Description                                                      |
1032+|:-----------------------|:-----------------------------------|:-----------------------------------------------------------------|
1033+| `sc-list-units`        | `systemctl list-units`             | List all units systemd has in memory                             |
1034+| `sc-is-active`         | `systemctl is-active`              | Show whether a unit is active                                    |
1035+| `sc-status`            | `systemctl status`                 | Show terse runtime status information about one or more units    |
1036+| `sc-show`              | `systemctl show`                   | Show properties of units, jobs, or the manager itself            |
1037+| `sc-help`              | `systemctl help`                   | Show man page of units                                           |
1038+| `sc-list-unit-files`   | `systemctl list-unit-files`        | List unit files installed on the system                          |
1039+| `sc-is-enabled`        | `systemctl is-enabled`             | Checks whether any of the specified unit files are enabled       |
1040+| `sc-list-jobs`         | `systemctl list-jobs`              | List jobs that are in progress                                   |
1041+| `sc-show-environment`  | `systemctl show-environment`       | Dump the systemd manager environment block                       |
1042+| `sc-cat`               | `systemctl cat`                    | Show backing files of one or more units                          |
1043+| `sc-list-timers`       | `systemctl list-timers`            | List timer units currently in memory                             |
1044+| **Aliases with sudo**                                                                                                          |
1045+| `sc-start`             | `sudo systemctl start`             | Start Unit(s)                                                    |
1046+| `sc-stop`              | `sudo systemctl stop`              | Stop Unit(s)                                                     |
1047+| `sc-reload`            | `sudo systemctl reload`            | Reload Unit(s)                                                   |
1048+| `sc-restart`           | `sudo systemctl restart`           | Restart Unit(s)                                                  |
1049+| `sc-try-restart`       | `sudo systemctl try-restart`       | Restart Unit(s)                                                  |
1050+| `sc-isolate`           | `sudo systemctl isolate`           | Start a unit and its dependencies and stop all others            |
1051+| `sc-kill`              | `sudo systemctl kill`              | Kill unit(s)                                                     |
1052+| `sc-reset-failed`      | `sudo systemctl reset-failed`      | Reset the "failed" state of the specified units,                 |
1053+| `sc-enable`            | `sudo systemctl enable`            | Enable unit(s)                                                   |
1054+| `sc-disable`           | `sudo systemctl disable`           | Disable unit(s)                                                  |
1055+| `sc-reenable`          | `sudo systemctl reenable`          | Reenable unit(s)                                                 |
1056+| `sc-preset`            | `sudo systemctl preset`            | Reset the enable/disable status one or more unit files           |
1057+| `sc-mask`              | `sudo systemctl mask`              | Mask unit(s)                                                     |
1058+| `sc-unmask`            | `sudo systemctl unmask`            | Unmask unit(s)                                                   |
1059+| `sc-link`              | `sudo systemctl link`              | Link a unit file into the unit file search path                  |
1060+| `sc-load`              | `sudo systemctl load`              | Load unit(s)                                                     |
1061+| `sc-cancel`            | `sudo systemctl cancel`            | Cancel job(s)                                                    |
1062+| `sc-set-environment`   | `sudo systemctl set-environment`   | Set one or more systemd manager environment variables            |
1063+| `sc-unset-environment` | `sudo systemctl unset-environment` | Unset one or more systemd manager environment variables          |
1064+| `sc-edit`              | `sudo systemctl edit`              | Edit a drop-in snippet or a whole replacement file with `--full` |
1065+| `sc-enable-now`        | `sudo systemctl enable --now`      | Enable and start unit(s)                                         |
1066+| `sc-disable-now`       | `sudo systemctl disable --now`     | Disable and stop unit(s)                                         |
1067+| `sc-mask-now`          | `sudo systemctl mask --now`        | Mask and stop unit(s)                                            |
1068+
1069+### User aliases
1070+
1071+You can use the above aliases as `--user` by using the prefix `scu` instead of `sc`.
1072+For example: `scu-list-units` will be aliased to `systemctl --user list-units`.
1073diff --git a/plugins/terraform/terraform.plugin.zsh b/plugins/terraform/terraform.plugin.zsh
1074index b170f73a640f279dbdd99de9afa77bbb49d6ab5d..d727c1ee0062a5e9c2b57f888bee583a93e5cd27 100644
1075--- a/plugins/terraform/terraform.plugin.zsh
1076+++ b/plugins/terraform/terraform.plugin.zsh
1077@@ -1,4 +1,6 @@
1078 function tf_prompt_info() {
1079+    # dont show 'default' workspace in home dir
1080+    [[ "$PWD" == ~ ]] && return
1081     # check if in terraform dir
1082     if [ -d .terraform ]; then
1083       workspace=$(terraform workspace show 2> /dev/null) || return
1084diff --git a/plugins/themes/README.md b/plugins/themes/README.md
1085new file mode 100644
1086index 0000000000000000000000000000000000000000..408e357e0da1bf5198bdd49807ce3ec3fc560e47
1087--- /dev/null
1088+++ b/plugins/themes/README.md
1089@@ -0,0 +1,18 @@
1090+# Themes Plugin
1091+
1092+This plugin allows you to change ZSH theme on the go.
1093+
1094+To use it, add `themes` to the plugins array in your zshrc file:
1095+
1096+```
1097+plugins=(... themes)
1098+```
1099+
1100+## Usage
1101+
1102+`theme <theme_name>` - Changes the ZSH theme to specified theme.
1103+
1104+`theme ` - Changes the ZSH theme to some random theme.
1105+
1106+`lstheme ` - Lists installed ZSH themes.
1107+
1108diff --git a/plugins/themes/themes.plugin.zsh b/plugins/themes/themes.plugin.zsh
1109index 7519b025359d6ce21fce6b6f893b692d346dab2a..487e85689351c6f055fb842fb100f0176a786375 100644
1110--- a/plugins/themes/themes.plugin.zsh
1111+++ b/plugins/themes/themes.plugin.zsh
1112@@ -8,9 +8,9 @@ function theme
1113 	source "$RANDOM_THEME"
1114 	echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
1115     else
1116-	if [ -f "$ZSH_CUSTOM/$1.zsh-theme" ]
1117+	if [ -f "$ZSH_CUSTOM/themes/$1.zsh-theme" ]
1118 	then
1119-	    source "$ZSH_CUSTOM/$1.zsh-theme"
1120+	    source "$ZSH_CUSTOM/themes/$1.zsh-theme"
1121 	else
1122 	    source "$ZSH/themes/$1.zsh-theme"
1123 	fi
1124diff --git a/plugins/ubuntu/README.md b/plugins/ubuntu/README.md
1125new file mode 100644
1126index 0000000000000000000000000000000000000000..caa6a90b4b2247544495816f42dde91c68320c0b
1127--- /dev/null
1128+++ b/plugins/ubuntu/README.md
1129@@ -0,0 +1,52 @@
1130+# Ubuntu plugin
1131+
1132+This plugin adds completions and aliases for [Ubuntu](https://www.ubuntu.com/).
1133+
1134+To use it, add `ubuntu` to the plugins array in your zshrc file: 
1135+
1136+```zsh
1137+plugins=(... ubuntu)
1138+```
1139+
1140+## Aliases
1141+
1142+Commands that use `$APT` will use apt if installed or defer to apt-get otherwise. 
1143+
1144+| Alias   | Command                                                                | Description                                                                                       |
1145+|---------|------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
1146+| acs     | `apt-cache search`                                                     | Search the apt-cache with the specified criteria                                                  |
1147+| acp     | `apt-cache policy`                                                     | Display the package source priorities                                                             | 
1148+| afs     | `apt-file search --regexp`                                             | Perform a regular expression apt-file search                                                      |
1149+| afu     | `sudo apt-file update`                                                 | Generates or updates the apt-file package database                                                | 
1150+| ag      | `sudo $APT`                                                            | Run apt-get with sudo                                                                             | 
1151+| aga     | `sudo $APT autoclean`                                                  | Clears out the local reposityory of retrieved package files that can no longer be downloaded      | 
1152+| agb     | `sudo $APT build-dep <source_pkg>`                                     | Installs/Removes packages to satisfy the dependencies of a specified build pkg                    | 
1153+| agc     | `sudo $APT clean`                                                      | Clears out the local repository of retrieved package files leaving everything from the lock files | 
1154+| agd     | `sudo $APT dselect-upgrade`                                            | Follows dselect choices for package installation                                                  | 
1155+| agi     | `sudo $APT install <pkg>`                                              | Install the specified package                                                                     | 
1156+| agli    | `apt list --installed`                                                 | List the installed packages                                                                       | 
1157+| aglu    | `sudo apt-get -u upgrade --assume-no`                                  | Run an apt-get upgrade assuming no to all prompts                                                 | 
1158+| agp     | `sudo $APT purge <pkg>`                                                | Remove a package including any configuration files                                                | 
1159+| agr     | `sudo $APT remove <pkg>`                                               | Remove a package                                                                                  | 
1160+| ags     | `$APT source <pkg>`                                                    | Fetch the source for the specified package                                                        | 
1161+| agu     | `sudo $APT update`                                                     | Update package list                                                                               | 
1162+| agud    | `sudo $APT update && sudo $APT dist-upgrade`                           | Update packages list and perform a distribution upgrade                                           | 
1163+| agug    | `sudo $APT upgrade`                                                    | Upgrade available packages                                                                        | 
1164+| agar    | `sudo $APT autoremove`                                                 | Remove automatically installed packages no longer needed                                          | 
1165+| aguu    | `sudo $APT update && sudo $APT upgrade`                                | Update packages list and upgrade available packages                                               | 
1166+| allpkgs | `dpkg --get-selections \| grep -v deinstall`                           | Print all installed packages                                                                      | 
1167+| 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                                         |
1168+| mydeb   | `time dpkg-buildpackage -rfakeroot -us -uc`                            | Create a basic .deb package                                                                       |
1169+| ppap    | `sudo ppa-purge <ppa>`                                                 | Remove the specified PPA                                                                          | 
1170+
1171+
1172+## Functions
1173+
1174+| Function          | Usage                                 |Description                                                               |
1175+|-------------------|---------------------------------------|--------------------------------------------------------------------------|
1176+| aar               | `aar ppa:xxxxxx/xxxxxx [packagename]` | apt-add-repository with automatic install/upgrade of the desired package |
1177+| apt-history       | `apt-history <action>`                | Prints the Apt history of the specified action                           |
1178+| apt-list-packages | `apt-list-packages`                   | List packages by size                                                    |
1179+| kerndeb           | `kerndeb`                             | Kernel-package building shortcut                                         | 
1180+
1181+
1182diff --git a/plugins/ubuntu/readme.md b/plugins/ubuntu/readme.md
1183deleted file mode 100644
1184index 99d62a6f7edce1339b8f530be0acfa89718df165..0000000000000000000000000000000000000000
1185--- a/plugins/ubuntu/readme.md
1186+++ /dev/null
1187@@ -1,21 +0,0 @@
1188diff --git a/plugins/vagrant/README.md b/plugins/vagrant/README.md
1189new file mode 100644
1190index 0000000000000000000000000000000000000000..f6ea87b0e0b6395a481a111ab55a418459c02d37
1191--- /dev/null
1192+++ b/plugins/vagrant/README.md
1193@@ -0,0 +1,10 @@
1194+# Vagrant plugin
1195+
1196+This plugin adds autocompletion for [Vagrant](https://www.vagrantup.com/) commands, task names, box names and built-in handy documentation.
1197+
1198+To use it, add `vagrant` to the plugins array in your zshrc file:
1199+
1200+```zsh
1201+plugins=(... vagrant)
1202+```
1203+
1204diff --git a/plugins/vundle/README.md b/plugins/vundle/README.md
1205new file mode 100644
1206index 0000000000000000000000000000000000000000..499038562e14b1616b19ada679cb009a60dcaf15
1207--- /dev/null
1208+++ b/plugins/vundle/README.md
1209@@ -0,0 +1,19 @@
1210+# Vundle plugin
1211+
1212+This plugin adds functions to control [vundle](https://github.com/VundleVim/Vundle.vim) plug-in manager for vim.
1213+
1214+To use it, add `vundle` to the plugins array in your zshrc file:
1215+
1216+```zsh
1217+plugins=(... vundle)
1218+```
1219+
1220+## Functions
1221+
1222+| Function      | Usage           | Description                                                                |
1223+|---------------|-----------------|----------------------------------------------------------------------------|
1224+| vundle-init   | `vundle-init`   | Install vundle by cloning git repository into ~/.vim folder                |
1225+| vundle        | `vundle`        | Install plugins set in .vimrc (equals `:PluginInstall`)                    |
1226+| vundle-update | `vundle-update` | Update plugins set in .vimrc (equals `:PluginInstall!`)                    |
1227+| vundle-clean  | `vundle-clean`  | Delete plugins that have been removed from .vimrc (equals `:PluginClean!`) |
1228+
1229diff --git a/plugins/web-search/README.md b/plugins/web-search/README.md
1230new file mode 100644
1231index 0000000000000000000000000000000000000000..d790d944d5ad8347a37c69edd4c236d20f06b00f
1232--- /dev/null
1233+++ b/plugins/web-search/README.md
1234@@ -0,0 +1,50 @@
1235+# web-search plugin
1236+
1237+This plugin adds aliases for searching with Google, Wiki, Bing, YouTube and other popular services.
1238+
1239+Open your `~/.zshrc` file and enable the `web-search` plugin:
1240+
1241+```zsh
1242+plugins=( ... web-search)
1243+```
1244+
1245+## Usage
1246+
1247+You can use the `web-search` plugin in these two forms:
1248+
1249+* `web_search <context> <term> [more terms if you want]`
1250+* `<context> <term> [more terms if you want]`
1251+
1252+For example, these two are equivalent:
1253+
1254+```zsh
1255+$ web_search google oh-my-zsh
1256+$ google oh-my-zsh
1257+```
1258+
1259+Available search contexts are:
1260+
1261+| Context               | URL                                      |
1262+|-----------------------|------------------------------------------|
1263+| `bing`                | `https://www.bing.com/search?q=`         |
1264+| `google`              | `https://www.google.com/search?q=`       |
1265+| `yahoo`               | `https://search.yahoo.com/search?p=`     |
1266+| `ddg` or `duckduckgo` | `https://www.duckduckgo.com/?q=`         |
1267+| `sp` or `startpage`   | `https://www.startpage.com/do/search?q=` |
1268+| `yandex`              | `https://yandex.ru/yandsearch?text=`     |
1269+| `github`              | `https://github.com/search?q=`           |
1270+| `baidu`               | `https://www.baidu.com/s?wd=`            |
1271+| `ecosia`              | `https://www.ecosia.org/search?q=`       |
1272+| `goodreads`           | `https://www.goodreads.com/search?q=`    |
1273+| `qwant`               | `https://www.qwant.com/?q=`              |
1274+
1275+Also there are aliases for bang-searching DuckDuckGo:
1276+
1277+| Context   | Bang  |
1278+|-----------|-------|
1279+| `wiki`    | `!w`  |
1280+| `news`    | `!n`  |
1281+| `youtube` | `!yt` |
1282+| `map`     | `!m`  |
1283+| `image`   | `!i`  |
1284+| `ducky`   | `!`   |
1285diff --git a/plugins/yum/README.md b/plugins/yum/README.md
1286new file mode 100644
1287index 0000000000000000000000000000000000000000..8043421d8a526c1951cec777fede0d345d851682
1288--- /dev/null
1289+++ b/plugins/yum/README.md
1290@@ -0,0 +1,27 @@
1291+# Yum plugin
1292+
1293+This plugin adds useful aliases for common [Yum](http://yum.baseurl.org/) commands.
1294+
1295+To use it, add `yum` to the plugins array in your zshrc file:
1296+
1297+```
1298+plugins=(... yum)
1299+```
1300+
1301+## Aliases
1302+
1303+| Alias | Command                           | Description                  |
1304+|-------|-----------------------------------|------------------------------|
1305+| ys    | `yum search`                      | Search package               |
1306+| yp    | `yum info`                        | Show package info            |
1307+| yl    | `yum list`                        | List packages                |
1308+| ygl   | `yum grouplist`                   | List package groups          |
1309+| yli   | `yum list installed`              | Print all installed packages |
1310+| ymc   | `yum makecache`                   | Rebuild the yum package list |
1311+| yu    | `sudo yum update`                 | Upgrade packages             |
1312+| yi    | `sudo yum install`                | Install package              |
1313+| ygi   | `sudo yum groupinstall`           | Install package group        |
1314+| yr    | `sudo yum remove`                 | Remove package               |
1315+| ygr   | `sudo yum groupremove`            | Remove pagage group          |
1316+| yrl   | `sudo yum remove --remove-leaves` | Remove package and leaves    |
1317+| yc    | `sudo yum clean all`              | Clean yum cache              |
1318diff --git a/themes/amuse.zsh-theme b/themes/amuse.zsh-theme
1319index 4e7361cedde50ff85aab845921f494c96703445b..d3f15ace5329de6888ac4c5dd1dc08e1a1e6a839 100644
1320--- a/themes/amuse.zsh-theme
1321+++ b/themes/amuse.zsh-theme
1322@@ -9,7 +9,7 @@ rbenv_version() {
1323 }
1324 
1325 PROMPT='
1326-%{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) ⌚ %{$fg_bold[red]%}%*%{$reset_color%}
1327+%{$fg_bold[green]%}%~%{$reset_color%}$(git_prompt_info) ⌚ %{$fg_bold[red]%}%*%{$reset_color%}
1328 $ '
1329 
1330 # Must use Powerline font, for \uE0A0 to render.
1331diff --git a/themes/candy-kingdom.zsh-theme b/themes/candy-kingdom.zsh-theme
1332index 9d2103926880d318d12323f26c13eda6d003a545..30ce785c00dcc0f65722dabac5b71afbbee5ae06 100644
1333--- a/themes/candy-kingdom.zsh-theme
1334+++ b/themes/candy-kingdom.zsh-theme
1335@@ -17,7 +17,7 @@ function box_name {
1336 }
1337 
1338 PROMPT='
1339-%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}$(box_name)%{$reset_color%}:%{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)
1340+%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}$(box_name)%{$reset_color%}:%{$fg_bold[green]%}%~%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)
1341 %(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )$ '
1342 
1343 ZSH_THEME_GIT_PROMPT_PREFIX=" (%{$fg[magenta]%}branch: "