summaryrefslogtreecommitdiff
path: root/plugins/fzf/fzf.plugin.zsh
diff options
context:
space:
mode:
authorSuchandra Thapa <suchandra+github@gmail.com>2022-03-24 01:21:36 -1000
committerGitHub <noreply@github.com>2022-03-24 12:21:36 +0100
commit4dce175e0e4a678b7f93be80c64247c8f5fbab3e (patch)
tree91aa3ed70dbf37e1022da11c3e582b80497d9a65 /plugins/fzf/fzf.plugin.zsh
parent50113a53f379b7d98e6921ba58e8440324beb32c (diff)
downloadzsh-4dce175e0e4a678b7f93be80c64247c8f5fbab3e.tar.gz
zsh-4dce175e0e4a678b7f93be80c64247c8f5fbab3e.tar.bz2
zsh-4dce175e0e4a678b7f93be80c64247c8f5fbab3e.zip
feat(fzf): support `fzf` installed with MacPorts (#10794)
Diffstat (limited to 'plugins/fzf/fzf.plugin.zsh')
-rw-r--r--plugins/fzf/fzf.plugin.zsh27
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