summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/grc/README.md28
-rw-r--r--plugins/grc/grc.plugin.zsh49
2 files changed, 14 insertions, 63 deletions
diff --git a/plugins/grc/README.md b/plugins/grc/README.md
index dfda41466..515e87640 100644
--- a/plugins/grc/README.md
+++ b/plugins/grc/README.md
@@ -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.
diff --git a/plugins/grc/grc.plugin.zsh b/plugins/grc/grc.plugin.zsh
index 6a52ec568..b709b9e02 100644
--- a/plugins/grc/grc.plugin.zsh
+++ b/plugins/grc/grc.plugin.zsh
@@ -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