浏览代码

feat(plugins): add grc plugin for Generic Colouriser (#9315)

Co-authored-by: Marc Cornellà <marc.cornella@live.com>
Mark Mercado 3 年之前
父节点
当前提交
e5af22cca6
共有 2 个文件被更改,包括 81 次插入0 次删除
  1. 37 0
      plugins/grc/README.md
  2. 44 0
      plugins/grc/grc.plugin.zsh

+ 37 - 0
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`

+ 44 - 0
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