summaryrefslogtreecommitdiff
path: root/test/lib/common.sh
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2025-01-25 19:57:40 +0900
committerGitHub <noreply@github.com>2025-01-25 19:57:40 +0900
commit0237bf09bf1fe70d94727b040ac39110f56b497f (patch)
treed32061f165f8bd0ba39ef3123623e16be2afe8a1 /test/lib/common.sh
parent04017c25bb719c31bb18d43b4bcb96c4736f8d91 (diff)
downloadfzf-0237bf09bf1fe70d94727b040ac39110f56b497f.tar.gz
Split integration test file (#4205)
Diffstat (limited to 'test/lib/common.sh')
-rw-r--r--test/lib/common.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/test/lib/common.sh b/test/lib/common.sh
new file mode 100644
index 00000000..44d03622
--- /dev/null
+++ b/test/lib/common.sh
@@ -0,0 +1,59 @@
+set -u
+PS1= PROMPT_COMMAND= HISTFILE= HISTSIZE=100
+unset <%= UNSETS.join(' ') %>
+unset $(env | sed -n /^_fzf_orig/s/=.*//p)
+unset $(declare -F | sed -n "/_fzf/s/.*-f //p")
+
+export FZF_DEFAULT_OPTS="--no-scrollbar --pointer '>' --marker '>'"
+
+# Setup fzf
+# ---------
+if [[ ! "$PATH" == *<%= BASE %>/bin* ]]; then
+ export PATH="${PATH:+${PATH}:}<%= BASE %>/bin"
+fi
+
+# Auto-completion
+# ---------------
+[[ $- == *i* ]] && source "<%= BASE %>/shell/completion.<%= __method__ %>" 2> /dev/null
+
+# Key bindings
+# ------------
+source "<%= BASE %>/shell/key-bindings.<%= __method__ %>"
+
+# Old API
+_fzf_complete_f() {
+ _fzf_complete "+m --multi --prompt \"prompt-f> \"" "$@" < <(
+ echo foo
+ echo bar
+ )
+}
+
+# New API
+_fzf_complete_g() {
+ _fzf_complete +m --multi --prompt "prompt-g> " -- "$@" < <(
+ echo foo
+ echo bar
+ )
+}
+
+_fzf_complete_f_post() {
+ awk '{print "f" $0 $0}'
+}
+
+_fzf_complete_g_post() {
+ awk '{print "g" $0 $0}'
+}
+
+[ -n "${BASH-}" ] && complete -F _fzf_complete_f -o default -o bashdefault f
+[ -n "${BASH-}" ] && complete -F _fzf_complete_g -o default -o bashdefault g
+
+_comprun() {
+ local command=$1
+ shift
+
+ case "$command" in
+ f) fzf "$@" --preview 'echo preview-f-{}' ;;
+ g) fzf "$@" --preview 'echo preview-g-{}' ;;
+ *) fzf "$@" ;;
+ esac
+}