diff options
author | Suchandra Thapa <suchandra+github@gmail.com> | 2022-03-24 01:21:36 -1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-24 12:21:36 +0100 |
commit | 4dce175e0e4a678b7f93be80c64247c8f5fbab3e (patch) | |
tree | 91aa3ed70dbf37e1022da11c3e582b80497d9a65 | |
parent | 50113a53f379b7d98e6921ba58e8440324beb32c (diff) | |
download | zsh-4dce175e0e4a678b7f93be80c64247c8f5fbab3e.tar.gz zsh-4dce175e0e4a678b7f93be80c64247c8f5fbab3e.tar.bz2 zsh-4dce175e0e4a678b7f93be80c64247c8f5fbab3e.zip |
feat(fzf): support `fzf` installed with MacPorts (#10794)
-rw-r--r-- | plugins/fzf/fzf.plugin.zsh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/plugins/fzf/fzf.plugin.zsh b/plugins/fzf/fzf.plugin.zsh index b86af0d2d..a946cf762 100644 --- a/plugins/fzf/fzf.plugin.zsh +++ b/plugins/fzf/fzf.plugin.zsh @@ -173,6 +173,32 @@ function fzf_setup_using_cygwin() { return 0 } +function fzf_setup_using_macports() { + # If the command is not found, the package isn't installed + (( $+commands[fzf] )) || return 1 + + # The fzf-zsh-completion package installs the auto-completion in + local completions="/opt/local/share/zsh/site-functions/fzf" + # The fzf-zsh-completion package installs the key-bindings file in + local key_bindings="/opt/local/share/fzf/shell/key-bindings.zsh" + + if [[ ! -f "$completions" || ! -f "$key_bindings" ]]; then + return 1 + fi + + # Auto-completion + if [[ -o interactive && "$DISABLE_FZF_AUTO_COMPLETION" != "true" ]]; then + source "$completions" 2>/dev/null + fi + + # Key bindings + if [[ "$DISABLE_FZF_KEY_BINDINGS" != "true" ]]; then + source "$key_bindings" 2>/dev/null + fi + + return 0 +} + # Indicate to user that fzf installation not found if nothing worked function fzf_setup_error() { cat >&2 <<'EOF' @@ -185,6 +211,7 @@ fzf_setup_using_openbsd \ || fzf_setup_using_debian \ || fzf_setup_using_opensuse \ || fzf_setup_using_cygwin \ + || fzf_setup_using_macports \ || fzf_setup_using_base_dir \ || fzf_setup_error |