When not in the repo root dir `in_hg` used `hg summary` which is terribly slow on big repositories, and `hg_get_branch_name` called `hg branch` which is also pretty slow as well.
Based on the [branch](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/branch) plugin, I created the function `hg_get_dir` that fetch the `.hg` directory if it exists, going up in the directory tree. From there, we know if we're in an HG repository if `in_hg` returns a non empty string, and we can simply get the branch name from the content of the `.hg/branch` file.
### Benchmarks
Based on 10 calls to `hg_get_branch_name` in subdir (so that the old `hg summary` is called), here are the average times:
* Before: `/tmp/test.zsh 0.08s user 0.04s system 96% cpu 0.133 total`
* After: `/tmp/test.zsh 0.00s user 0.00s system 71% cpu 0.008 total`
It's faster and it uses less CPU!
The other changes after that are purely esthetic (fit in 80 columns and indentation fix).
`gls` seems to be installed by default or on most macOS systems, but its
default color scheme sucks. This fix will make sure to only use it if it
has been customised prior to running OMZ.
Related: #5516, #5520.
PHP can be executed as CLI script but due to the automated attempt
to add browser support to that extension such ability is prevented
in certain circumstances.
This allows for the user to combine the jump command with something else. In my example cd and jump are now combined like this:
```bash
jumpcd() {
jump $1 > /dev/null || cd $1
}
alias cd="jumpcd"
```
Also:
- Changes `globes` (which doesn't exist) to `glob expressions`.
- Delete the `trigger autocompletion to your current aliases` use case, since that's not
really implemented.
* cp plugin: change cpv to function so that completion works
* cp plugin: show numbers in units of 1024 (K,M,G,T)
Use `-h` level (3): output numbers in units of 1024.
See the manpage of rsync for more information.
* cp plugin: add a README file
* cp plugin: recurse directories
* cp plugin: remove `--` to separate files from options
This has some undesired effects, like having `cpv --help` be a file
not found error.
Use `--` yourself if you need it (which you generally don't):
```zsh
cpv -- -some-file-with-hyphens.txt /tmp
```
Added this same info to the README.