diff options
| author | Johannes Wienke | 2015-05-17 01:12:12 +0200 |
|---|---|---|
| committer | Mike McQuaid | 2015-06-02 10:09:10 +0100 |
| commit | de43ac75032e7a1170b0def6500dffb48dba9bf7 (patch) | |
| tree | cdf4721e8e136770d8707fcb3872c12f54e32b5f /Library | |
| parent | 517ced731cbf4047fb3d205df9d9ccbf1d3549b9 (diff) | |
| download | brew-de43ac75032e7a1170b0def6500dffb48dba9bf7.tar.bz2 | |
Add support for fish shell completions
* Library/Homebrew/caveats.rb: add caveats comparable to other shells
* Library/Homebrew/formula.rb: define completion directory along the
conventions explained in the fish documentation for
$fish_complete_path
* Library/Homebrew/keg.rb: add fish shell to check function for
installed completions
Closes Homebrew/homebrew#39828.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/caveats.rb | 9 | ||||
| -rw-r--r-- | Library/Homebrew/formula.rb | 10 | ||||
| -rw-r--r-- | Library/Homebrew/keg.rb | 1 |
3 files changed, 18 insertions, 2 deletions
diff --git a/Library/Homebrew/caveats.rb b/Library/Homebrew/caveats.rb index 99a31c4b8..1df2e2644 100644 --- a/Library/Homebrew/caveats.rb +++ b/Library/Homebrew/caveats.rb @@ -12,6 +12,7 @@ class Caveats caveats << f.keg_only_text if f.keg_only? && f.respond_to?(:keg_only_text) caveats << bash_completion_caveats caveats << zsh_completion_caveats + caveats << fish_completion_caveats caveats << plist_caveats caveats << python_caveats caveats << app_caveats @@ -46,6 +47,14 @@ class Caveats end end + def fish_completion_caveats + if keg and keg.completion_installed? :fish and which("fish") then <<-EOS.undent + fish completion has been installed to: + #{HOMEBREW_PREFIX}/share/fish/vendor_completions.d + EOS + end + end + def python_caveats return unless keg return unless keg.python_site_packages_installed? diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 5e7a0d445..93671ecb4 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -414,13 +414,19 @@ class Formula # installed. # This is symlinked into `HOMEBREW_PREFIX` after installation or with # `brew link` for formulae that are not keg-only. - def bash_completion; prefix+'etc/bash_completion.d' end + def bash_completion; prefix+'etc/bash_completion.d' end # The directory where the formula's ZSH completion 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_completion; share+'zsh/site-functions' end + def zsh_completion; share+'zsh/site-functions' end + + # The directory where the formula's fish completion files should be + # installed. + # This is symlinked into `HOMEBREW_PREFIX` after installation or with + # `brew link` for formulae that are not keg-only. + def fish_completion; share+'fish/vendor_completions.d' end # The directory used for as the prefix for {#etc} and {#var} files on # installation so, despite not being in `HOMEBREW_CELLAR`, they are installed diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index 3caf218de..525bd0478 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -222,6 +222,7 @@ class Keg dir = case shell when :bash then path.join("etc", "bash_completion.d") when :zsh then path.join("share", "zsh", "site-functions") + when :fish then path.join("share", "fish", "vendor_completions.d") end dir && dir.directory? && dir.children.any? end |
