blob: 86db7a932eb38e88184159a983ba6a64f332bbbe (
plain)
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
|
# Unlinks any Applications (.app) found in installed prefixes from /Applications
require "keg"
module Homebrew
def unlinkapps
target_dir = ARGV.include?("--local") ? File.expand_path("~/Applications") : "/Applications"
return unless File.exist? target_dir
cellar_apps = Dir[target_dir + "/*.app"].select do |app|
if File.symlink?(app)
should_unlink? File.readlink(app)
end
end
cellar_apps.each do |app|
puts "Unlinking #{app}"
system "unlink", app
end
puts "Finished unlinking from #{target_dir}" if cellar_apps
end
private
def should_unlink?(file)
if ARGV.named.empty?
file.start_with?("#{HOMEBREW_CELLAR}/", "#{HOMEBREW_PREFIX}/opt/")
else
ARGV.kegs.any? { |keg| file.start_with?("#{keg}/", "#{keg.opt_record}/") }
end
end
end
|