Fixes#4085: core -> plugin dependency issue.
Rename it to git_current_branch for clarity that it's git-specific.
Update all plugins that were calling it to use new name.
Fix variable leaks by making more variables in lib/git.zsh local.
Have lib/git.zsh use [[ ]] instead of [ ] everywhere.
Currently, the title is only set on supported terminals (i.e. xterm,
urxvt, screen etc.). Using terminfo entries to set the terminal title
adds support for many more terminals.
This change enables UP-arrow and DOWN-arrow full-line history completion.
For example, if you write `git clone` and press UP:
- Before this change,
it will use the last command that starts with `git`.
- After this change,
it will use the last command that starts with `git clone`.
When the current path is /home/user/.config/doublecmd the prompt
now reads "/h/u/.c/doublecmd", not "/h/u/./doublecmd" as was the
case. This matches what the Fish shell does.
Enclose the Perl snippet in single quotes instead of double quotes.
Otherwise `start` will confuse the first parameter as the title of
a new command prompt if the parameter contains whitespace. That is
because the command to be run will be:
start "abc def"
which opens a new command prompt window with the title "abc def".
With the added empty string we force the start command to interpret
the passed parameter as the file / command:
start "" "abc def"
which will be interpreted like `""` is the title and the rest is
the file or command to start.
-------
**NOTE:** this wouldn't be necessary if the start script in msys
was defined differently; that is, if it had the empty string
already incorporated in the script (/usr/bin/start), like so:
```diff
-cmd //c start "${@//&/^&}"
+cmd //c start "" "${@//&/^&}"
```
Notice however that this would make it impossible to use start
setting a different title, so it's probably best to leave it as is.
More info: http://sourceforge.net/p/msys2/tickets/14/
-------
The change `${(z)open_cmd}` is necessary to force zsh to split the
variable by the spaces and interpret it as separate words.
More info: http://zsh.sourceforge.net/FAQ/zshfaq03.html#l17