Merge pull request #1616 from zachwhaley/zsh_functions_caveats
caveats: Differentiate zsh completion files and function files
This commit is contained in:
commit
c317c3c31f
@ -19,6 +19,7 @@ class Caveats
|
||||
caveats << bash_completion_caveats
|
||||
caveats << zsh_completion_caveats
|
||||
caveats << fish_completion_caveats
|
||||
caveats << zsh_function_caveats
|
||||
caveats << fish_function_caveats
|
||||
caveats << plist_caveats
|
||||
caveats << python_caveats
|
||||
@ -100,6 +101,16 @@ class Caveats
|
||||
EOS
|
||||
end
|
||||
|
||||
def zsh_function_caveats
|
||||
return unless keg
|
||||
return unless keg.zsh_functions_installed?
|
||||
|
||||
<<-EOS.undent
|
||||
zsh functions have been installed to:
|
||||
#{HOMEBREW_PREFIX}/share/zsh/site-functions
|
||||
EOS
|
||||
end
|
||||
|
||||
def fish_function_caveats
|
||||
return unless keg
|
||||
return unless keg.fish_functions_installed?
|
||||
|
@ -800,6 +800,14 @@ class Formula
|
||||
HOMEBREW_PREFIX+"var"
|
||||
end
|
||||
|
||||
# The directory where the formula's ZSH function files should be
|
||||
# installed.
|
||||
# This is symlinked into `HOMEBREW_PREFIX` after installation or with
|
||||
# `brew link` for formulae that are not keg-only.
|
||||
def zsh_function
|
||||
share+"zsh/site-functions"
|
||||
end
|
||||
|
||||
# The directory where the formula's fish function files should be
|
||||
# installed.
|
||||
# This is symlinked into `HOMEBREW_PREFIX` after installation or with
|
||||
|
@ -297,12 +297,21 @@ class Keg
|
||||
def completion_installed?(shell)
|
||||
dir = case shell
|
||||
when :bash then path.join("etc", "bash_completion.d")
|
||||
when :zsh then path.join("share", "zsh", "site-functions")
|
||||
when :zsh
|
||||
dir = path.join("share", "zsh", "site-functions")
|
||||
dir if dir && dir.directory? && dir.children.any? { |f| f.basename.to_s.start_with?("_") }
|
||||
when :fish then path.join("share", "fish", "vendor_completions.d")
|
||||
end
|
||||
dir && dir.directory? && !dir.children.empty?
|
||||
end
|
||||
|
||||
def zsh_functions_installed?
|
||||
# Check for non completion functions (i.e. files not started with an underscore),
|
||||
# since those can be checked separately
|
||||
dir = path.join("share", "zsh", "site-functions")
|
||||
dir && dir.directory? && dir.children.any? { |f| !f.basename.to_s.start_with?("_") }
|
||||
end
|
||||
|
||||
def fish_functions_installed?
|
||||
dir = path.join("share", "fish", "vendor_functions.d")
|
||||
dir && dir.directory? && !dir.children.empty?
|
||||
|
Loading…
x
Reference in New Issue
Block a user