Unverified Commit 0e7c8131 authored by hjpotter92's avatar hjpotter92 Committed by GitHub
Browse files

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


Co-authored-by: default avatarMarc Cornellà <marc.cornella@live.com>
parent a4a79eaa
......@@ -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.
# 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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment