From e5af22cca6a07c9be52fe48810faaa08261e4d15 Mon Sep 17 00:00:00 2001 From: Mark Mercado Date: Wed, 9 Dec 2020 11:59:12 -0500 Subject: [PATCH] feat(plugins): add grc plugin for Generic Colouriser (#9315) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Marc Cornellà --- plugins/grc/README.md | 37 ++++++++++++++++++++++++++++++++ plugins/grc/grc.plugin.zsh | 44 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 plugins/grc/README.md create mode 100644 plugins/grc/grc.plugin.zsh 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