34 lines
1.2 KiB
Ruby
34 lines
1.2 KiB
Ruby
class MCli < Formula
|
|
desc "Swiss Army Knife for macOS"
|
|
homepage "https://github.com/rgcr/m-cli"
|
|
url "https://github.com/rgcr/m-cli/archive/v0.2.5.tar.gz"
|
|
sha256 "91ed60091c27c6585018484bd4851acf3ff81bbf5c916f85c95ece11788b4324"
|
|
head "https://github.com/rgcr/m-cli.git"
|
|
|
|
bottle :unneeded
|
|
|
|
def install
|
|
prefix.install Dir["*"]
|
|
inreplace prefix/"m" do |s|
|
|
# Use absolute rather than relative path to plugins.
|
|
s.gsub! /^\[ -L.*|^\s+\|\| pushd.*|^popd.*/, ""
|
|
s.gsub! /MPATH=.*/, "MPATH=#{prefix}"
|
|
# Disable options "update" && "uninstall", they must be handled by brew
|
|
s.gsub! /update_mcli &&.*/, "printf \"Try: brew update && brew upgrade m-cli \\n\" && exit 0"
|
|
s.gsub! /uninstall_mcli &&.*/, "printf \"Try: brew uninstall m-cli \\n\" && exit 0"
|
|
end
|
|
|
|
bin.install_symlink "#{prefix}/m" => "m"
|
|
bash_completion.install prefix/"completion/bash/m"
|
|
zsh_completion.install prefix/"completion/zsh/_m"
|
|
fish_completion.install prefix/"completion/fish/m.fish"
|
|
end
|
|
|
|
test do
|
|
output = pipe_output("#{bin}/m help 2>&1")
|
|
assert_no_match /.*No such file or directory.*/, output
|
|
assert_no_match /.*command not found.*/, output
|
|
assert_match /.*Swiss Army Knife for macOS.*/, output
|
|
end
|
|
end
|