* A gcloud plugin
This PR addresses issue #6205
This adds support for loading completion for the Google Cloud SDK
command line tools. It searches the known paths for an SDK and loads the
provided completion if it is found. Users can supply a custom location
for the SDK by setting `CLOUDSDK_HOME` in their `zshrc` before loading
oh-my-zsh plugins.
* Canoncial zsh and some safe guards
Based on a PR review from mcornella. All off this has now been tested
on the following variants:
- macOS 10.14.6 - Homebrew
- macOS 10.14.6 - Custom install
- Ubuntu 16.04.6 LTS - apt install
- Ubuntu 18.04.3 LTS - apt install
- Ubuntu 18.04.3 LTS - snap classic install
- CentOS 7 - yum install
WSL 2 changes the output of `uname -r`. For instance,
WSL 1: 4.4.0-18980-Microsoft
WSL 2: 4.19.67-microsoft-standard
Since WSL 2 lowercases the M, we can match for the rest of the string
which remains lowercase throughout both versions. Another option would
be to match for both upper- and lower-case Ms, like that:
$(uname -r) = *[Mm]icrosoft*
Fixed use of nohup in open_command where it was only necessary for
xdg-open (and actually harmful for cmd.exe in WSL 2). The current logic
is simpler and more future-proof.
An error was thrown (`bash: [: =: unary operator expected`) when using the __git_ps1_colorize_gitstring function outside of the one place it's called (line 512), because the "detached" variable was not quoted, and was unset.
* Fix bad function definitions in Debian plugin
There appears to be a definition issue for some functions/aliases which
result in the following errors when sourcing .zshrc:
```
/home/username/.oh-my-zsh/plugins/debian/debian.plugin.zsh:75: defining function based on alias `abd'
/home/username/.oh-my-zsh/plugins/debian/debian.plugin.zsh:75: parse error near `()'
```
Fixes#7986
* Update syntax on the remaining functions
An error was thrown (`bash: [: =: unary operator expected`) when using the __git_ps1_colorize_gitstring function outside of the one place it's called (line 512), because the "detached" variable was not quoted, and was unset.
We do this because the GitHub Actions behavior was changed recently
so as to not pass secrets to action runs started from forks, therefore
the API token passed cannot be used to change PR labels.
There may be an alternative in the future.