Skip to content

Commit 9842fd2

Browse files
authored
setup fzf
1 parent a708eb9 commit 9842fd2

File tree

1 file changed

+31
-7
lines changed

1 file changed

+31
-7
lines changed

Linux/.bashrc

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ fi
9696
if [[ -z "${HOMETMP+x}" ]] || [[ -z "${HOMETMP##*[[:space:]]}" ]]; then
9797
HOMETMP="${HOME}/tmp" ; mkdir -p "${HOMETMP}"
9898
fi
99+
if [[ -z "${HOST_TRIPLET}" ]] || [[ -z "${HOST_TRIPLET##*[[:space:]]}" ]]; then
100+
_HOST_TRIPLET="$(uname -m)-$(uname -s)"
101+
HOST_TRIPLET="$(echo "${_HOST_TRIPLET}" | tr -d '[:space:]')"
102+
export HOST_TRIPLET
103+
fi
99104
if [[ -z "${USER_AGENT}" ]]; then
100105
USER_AGENT="$(curl -qfsSL 'https://raw.githubusercontent.com/pkgforge/devscripts/refs/heads/main/Misc/User-Agents/ua_chrome_macos_latest.txt')"
101106
fi
@@ -258,6 +263,19 @@ function fix_validate_jsonl()
258263
fi
259264
}
260265
export -f fix_validate_jsonl
266+
function init_fzf()
267+
{
268+
if [[ "$(command -v bat)" && "$(command -v fd)" && "$(command -v fzf)" && "$(command -v tree)" ]]; then
269+
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
270+
#export FZF_DEFAULT_OPTS='--no-height --color=bg+:#343d46,gutter:-1,pointer:#ff3c3c,info:#0dbc79,hl:#0dbc79,hl+:#23d18b'
271+
export FZF_CTRL_T_COMMAND="${FZF_DEFAULT_COMMAND}"
272+
export FZF_CTRL_T_OPTS="--preview 'bat --color=always --line-range :50 {}'"
273+
export FZF_ALT_C_COMMAND='fd --type d "." --hidden --exclude .git'
274+
export FZF_ALT_C_OPTS="--preview 'tree -C {} | head -50'"
275+
eval "$(fzf --bash)"
276+
fi
277+
}
278+
export -f init_fzf
261279
function install_soar_force()
262280
{
263281
if [[ ! -d "${HOME}/bin" ]]; then
@@ -296,6 +314,18 @@ function refreshenv()
296314
source "$(realpath "${HOME}/.bashrc" | tr -d '[:space:]')"
297315
}
298316
export -f refreshenv
317+
function setup_fzf()
318+
{
319+
if [[ -d "${HOME}/.local/bin" ]] && [[ -w "${HOME}/.local/bin" ]]; then
320+
curl -w "(DL) <== %{url}\n" -qfsSL "https://bin.pkgforge.dev/${HOST_TRIPLET}/bat" -o "${HOME}/.local/bin/bat"
321+
curl -w "(DL) <== %{url}\n" -qfsSL "https://bin.pkgforge.dev/${HOST_TRIPLET}/fd" -o "${HOME}/.local/bin/fd"
322+
curl -w "(DL) <== %{url}\n" -qfsSL "https://bin.pkgforge.dev/${HOST_TRIPLET}/fzf" -o "${HOME}/.local/bin/fzf"
323+
curl -w "(DL) <== %{url}\n" -qfsSL "https://bin.pkgforge.dev/${HOST_TRIPLET}/tree" -o "${HOME}/.local/bin/tree"
324+
chmod 'a+x' "${HOME}/.local/bin/bat" "${HOME}/.local/bin/fd" "${HOME}/.local/bin/fzf" "${HOME}/.local/bin/tree"
325+
init_fzf && fzf --version && fzf
326+
fi
327+
}
328+
export -f setup_fzf
299329
function strip_debug()
300330
{
301331
objcopy --remove-section=".comment" --remove-section=".note.*" "$1" 2>/dev/null
@@ -391,13 +421,7 @@ if [[ "${NO_FZF}" != 1 ]]; then
391421
fi
392422
fi
393423
if [[ "$(command -v bat)" && "$(command -v fd)" && "$(command -v fzf)" && "$(command -v tree)" ]]; then
394-
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
395-
#export FZF_DEFAULT_OPTS='--no-height --color=bg+:#343d46,gutter:-1,pointer:#ff3c3c,info:#0dbc79,hl:#0dbc79,hl+:#23d18b'
396-
export FZF_CTRL_T_COMMAND="${FZF_DEFAULT_COMMAND}"
397-
export FZF_CTRL_T_OPTS="--preview 'bat --color=always --line-range :50 {}'"
398-
export FZF_ALT_C_COMMAND='fd --type d "." --hidden --exclude .git'
399-
export FZF_ALT_C_OPTS="--preview 'tree -C {} | head -50'"
400-
eval "$(fzf --bash)"
424+
init_fzf
401425
fi
402426
elif [[ "${NO_FZF}" == 1 ]]; then
403427
disable_fzf &>/dev/null

0 commit comments

Comments
 (0)