-
-
Notifications
You must be signed in to change notification settings - Fork 12.3k
/
grc.rb
49 lines (40 loc) · 1.5 KB
/
grc.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
class Grc < Formula
desc "Colorize logfiles and command output"
homepage "http://korpus.juls.savba.sk/~garabik/software/grc.html"
url "https://github.com/garabik/grc/archive/v1.11.1.tar.gz"
sha256 "9ae4bcc9186d6856e861d5b0e29b7b14db3f14e6b643e2df0076c104a94dbcba"
revision 2
head "https://github.com/garabik/grc.git"
bottle :unneeded
depends_on "python"
conflicts_with "cc65", :because => "both install `grc` binaries"
def install
# fix non-standard prefix installs
inreplace ["grc", "grc.1"], "/etc", etc
inreplace ["grcat", "grcat.1"], "/usr/local", HOMEBREW_PREFIX
# so that the completions don't end up in etc/profile.d
inreplace "install.sh",
"mkdir -p $PROFILEDIR\ncp -fv grc.bashrc $PROFILEDIR", ""
system "./install.sh", prefix, HOMEBREW_PREFIX
etc.install "grc.bashrc"
etc.install "grc.zsh"
etc.install "grc.fish"
end
# Apply the upstream fix from garabik/grc@ddc789bf to preexisting config files
def post_install
grc_bashrc = etc/"grc.bashrc"
bad = /^ alias ls='colourify ls --color'$/
if grc_bashrc.exist? && File.read(grc_bashrc) =~ bad
inreplace grc_bashrc, bad, " alias ls='colourify ls'"
end
end
def caveats; <<~EOS
New shell sessions will use GRC if you add the relevant file to your profile e.g.:
. #{etc}/grc.bashrc
EOS
end
test do
actual = pipe_output("#{bin}/grcat #{pkgshare}/conf.ls", "hello root")
assert_equal "\e[0mhello \e[0m\e[1m\e[37m\e[41mroot\e[0m", actual.chomp
end
end