homebrew-core/Formula/m-cli.rb

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