feat(grc): source grc.zsh instead of hard-coding its content (#9553)

Co-authored-by: Marc Cornellà <marc.cornella@live.com>
This commit is contained in:
hjpotter92 2020-12-31 15:37:28 +05:30 committed by GitHub
parent a4a79eaa8c
commit 0e7c81316c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 63 deletions

View file

@ -10,28 +10,6 @@ plugins=(... grc)
## Commands
The following commands are wrapped by `grc` so that their output is automatically colored:
- `cc`
- `configure`
- `cvs`
- `df`
- `diff`
- `dig`
- `gcc`
- `gmake`
- `ifconfig`
- `iwconfig`
- `last`
- `ldap`
- `make`
- `mount`
- `mtr`
- `netstat`
- `ping`
- `ping6`
- `ps`
- `traceroute`
- `traceroute6`
- `wdiff`
- `whois`
The plugin sources the bundled alias generator from the installation, available at `/etc/grc.zsh`.
The complete list of wrapped commands may vary depending on the installed version of `grc`, look
at the file mentioned above (`/etc/grc.zsh`) to see which commands are wrapped.

View file

@ -1,44 +1,17 @@
# Adapted from: https://github.com/garabik/grc/blob/master/grc.zsh
#!/usr/bin/env zsh
if [[ "$TERM" = dumb ]] || (( ! $+commands[grc] )); then
return
fi
# Supported commands
cmds=(
cc
configure
cvs
df
diff
dig
gcc
gmake
ifconfig
iwconfig
last
ldap
make
mount
mtr
netstat
ping
ping6
ps
traceroute
traceroute6
wdiff
whois
# common grc.zsh paths
files=(
/etc/grc.zsh # default
/usr/local/etc/grc.zsh # homebrew
)
# Set alias for supported commands
for cmd in $cmds; do
if (( $+commands[$cmd] )); then
eval "function $cmd {
grc --colour=auto \"${commands[$cmd]}\" \"\$@\"
}"
# verify the file is readable and source it
for file in $files; do
if [[ -r "$file" ]]; then
source "$file"
break
fi
done
# Clean up variables
unset cmds cmd
unset file files