summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMark Mercado <mamercad@gmail.com>2020-12-09 11:59:12 -0500
committerGitHub <noreply@github.com>2020-12-09 17:59:12 +0100
commite5af22cca6a07c9be52fe48810faaa08261e4d15 (patch)
tree9dfa3b7c92ca4d49e8025b895def582513c6feb6 /plugins
parente2f2489a666caf238804783b4e8851a781ac6ffc (diff)
downloadzsh-e5af22cca6a07c9be52fe48810faaa08261e4d15.tar.gz
zsh-e5af22cca6a07c9be52fe48810faaa08261e4d15.tar.bz2
zsh-e5af22cca6a07c9be52fe48810faaa08261e4d15.zip
feat(plugins): add grc plugin for Generic Colouriser (#9315)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/grc/README.md37
-rw-r--r--plugins/grc/grc.plugin.zsh44
2 files changed, 81 insertions, 0 deletions
diff --git a/plugins/grc/README.md b/plugins/grc/README.md
new file mode 100644
index 000000000..dfda41466
--- /dev/null
+++ b/plugins/grc/README.md
@@ -0,0 +1,37 @@
+# Generic Colouriser plugin
+
+This plugin adds wrappers for commands supported by [Generic Colouriser](https://github.com/garabik/grc):
+
+To use it, add `grc` to the plugins array in your zshrc file:
+
+```zsh
+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`
diff --git a/plugins/grc/grc.plugin.zsh b/plugins/grc/grc.plugin.zsh
new file mode 100644
index 000000000..6a52ec568
--- /dev/null
+++ b/plugins/grc/grc.plugin.zsh
@@ -0,0 +1,44 @@
+# Adapted from: https://github.com/garabik/grc/blob/master/grc.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
+)
+
+# Set alias for supported commands
+for cmd in $cmds; do
+ if (( $+commands[$cmd] )); then
+ eval "function $cmd {
+ grc --colour=auto \"${commands[$cmd]}\" \"\$@\"
+ }"
+ fi
+done
+
+# Clean up variables
+unset cmds cmd