From e8cb31541984e93dcbaa5f2ac5f56ec390279d5e Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Wed, 24 Sep 2025 22:09:37 +0900 Subject: [PATCH] Apply shfmt to bash script files (make fmt) --- .editorconfig | 4 +- bin/fzf-preview.sh | 4 +- bin/fzf-tmux | 83 ++++++++++++----------- install | 108 +++++++++++++++--------------- shell/common.sh | 5 +- shell/completion.bash | 145 ++++++++++++++++++++-------------------- shell/completion.zsh | 4 +- shell/key-bindings.bash | 38 +++++------ shell/key-bindings.zsh | 4 +- shell/update.sh | 3 +- uninstall | 12 ++-- 11 files changed, 207 insertions(+), 203 deletions(-) diff --git a/.editorconfig b/.editorconfig index 15230cdb..d8eea4d2 100644 --- a/.editorconfig +++ b/.editorconfig @@ -4,7 +4,7 @@ root = true indent_style = space indent_size = 2 simplify = true -binary_next_line = true +binary_next_line = false switch_case_indent = true space_redirects = true function_next_line = false @@ -14,7 +14,7 @@ function_next_line = false indent_style = space indent_size = 2 simplify = true -binary_next_line = true +binary_next_line = false switch_case_indent = true space_redirects = true function_next_line = false diff --git a/bin/fzf-preview.sh b/bin/fzf-preview.sh index ebf5b0d8..5f996973 100755 --- a/bin/fzf-preview.sh +++ b/bin/fzf-preview.sh @@ -49,9 +49,9 @@ if [[ ! $type =~ image/ ]]; then fi dim=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES} -if [[ $dim = x ]]; then +if [[ $dim == x ]]; then dim=$(stty size < /dev/tty | awk '{print $2 "x" $1}') -elif ! [[ $KITTY_WINDOW_ID ]] && (( FZF_PREVIEW_TOP + FZF_PREVIEW_LINES == $(stty size < /dev/tty | awk '{print $1}') )); then +elif ! [[ $KITTY_WINDOW_ID ]] && ((FZF_PREVIEW_TOP + FZF_PREVIEW_LINES == $(stty size < /dev/tty | awk '{print $1}'))); then # Avoid scrolling issue when the Sixel image touches the bottom of the screen # * https://github.com/junegunn/fzf/issues/2544 dim=${FZF_PREVIEW_COLUMNS}x$((FZF_PREVIEW_LINES - 1)) diff --git a/bin/fzf-tmux b/bin/fzf-tmux index c580a4c4..e73a9085 100755 --- a/bin/fzf-tmux +++ b/bin/fzf-tmux @@ -8,7 +8,7 @@ fail() { } fzf="$(command which fzf)" || fzf="$(dirname "$0")/fzf" -[[ -x "$fzf" ]] || fail 'fzf executable not found' +[[ -x $fzf ]] || fail 'fzf executable not found' args=() opt="" @@ -16,8 +16,8 @@ skip="" swap="" close="" term="" -[[ -n "$LINES" ]] && lines=$LINES || lines=$(tput lines) || lines=$(tmux display-message -p "#{pane_height}") -[[ -n "$COLUMNS" ]] && columns=$COLUMNS || columns=$(tput cols) || columns=$(tmux display-message -p "#{pane_width}") +[[ -n $LINES ]] && lines=$LINES || lines=$(tput lines) || lines=$(tmux display-message -p "#{pane_height}") +[[ -n $COLUMNS ]] && columns=$COLUMNS || columns=$(tput cols) || columns=$(tmux display-message -p "#{pane_width}") tmux_version=$(tmux -V | sed 's/[^0-9.]//g') tmux_32=$(awk '{print ($1 >= 3.2)}' <<< "$tmux_version" 2> /dev/null || bc -l <<< "$tmux_version >= 3.2") @@ -47,7 +47,7 @@ help() { while [[ $# -gt 0 ]]; do arg="$1" shift - [[ -z "$skip" ]] && case "$arg" in + [[ -z $skip ]] && case "$arg" in -) term=1 ;; @@ -58,19 +58,19 @@ while [[ $# -gt 0 ]]; do echo "fzf-tmux (with fzf $("$fzf" --version))" exit ;; - -p*|-w*|-h*|-x*|-y*|-d*|-u*|-r*|-l*) - if [[ "$arg" =~ ^-[pwhxy] ]]; then - [[ "$opt" =~ "-E" ]] || opt="-E" - elif [[ "$arg" =~ ^.[lr] ]]; then + -p* | -w* | -h* | -x* | -y* | -d* | -u* | -r* | -l*) + if [[ $arg =~ ^-[pwhxy] ]]; then + [[ $opt =~ "-E" ]] || opt="-E" + elif [[ $arg =~ ^.[lr] ]]; then opt="-h" - if [[ "$arg" =~ ^.l ]]; then + if [[ $arg =~ ^.l ]]; then opt="$opt -d" swap="; swap-pane -D ; select-pane -L" close="; tmux swap-pane -D" fi else opt="" - if [[ "$arg" =~ ^.u ]]; then + if [[ $arg =~ ^.u ]]; then opt="$opt -d" swap="; swap-pane -D ; select-pane -U" close="; tmux swap-pane -D" @@ -79,7 +79,7 @@ while [[ $# -gt 0 ]]; do if [[ ${#arg} -gt 2 ]]; then size="${arg:2}" else - if [[ "$1" =~ ^[0-9%,]+$ ]] || [[ "$1" =~ ^[A-Z]$ ]]; then + if [[ $1 =~ ^[0-9%,]+$ ]] || [[ $1 =~ ^[A-Z]$ ]]; then size="$1" shift else @@ -87,37 +87,37 @@ while [[ $# -gt 0 ]]; do fi fi - if [[ "$arg" =~ ^-p ]]; then - if [[ -n "$size" ]]; then + if [[ $arg =~ ^-p ]]; then + if [[ -n $size ]]; then w=${size%%,*} h=${size##*,} opt="$opt -w$w -h$h" fi - elif [[ "$arg" =~ ^-[whxy] ]]; then + elif [[ $arg =~ ^-[whxy] ]]; then opt="$opt ${arg:0:2}$size" - elif [[ "$size" =~ %$ ]]; then - size=${size:0:((${#size}-1))} - if [[ $tmux_32 = 1 ]]; then - if [[ -n "$swap" ]]; then - opt="$opt -l $(( 100 - size ))%" + elif [[ $size =~ %$ ]]; then + size=${size:0:${#size}-1} + if [[ $tmux_32 == 1 ]]; then + if [[ -n $swap ]]; then + opt="$opt -l $((100 - size))%" else opt="$opt -l $size%" fi else - if [[ -n "$swap" ]]; then - opt="$opt -p $(( 100 - size ))" + if [[ -n $swap ]]; then + opt="$opt -p $((100 - size))" else opt="$opt -p $size" fi fi else - if [[ -n "$swap" ]]; then - if [[ "$arg" =~ ^.l ]]; then + if [[ -n $swap ]]; then + if [[ $arg =~ ^.l ]]; then max=$columns else max=$lines fi - size=$(( max - size )) + size=$((max - size)) [[ $size -lt 0 ]] && size=0 opt="$opt -l $size" else @@ -135,10 +135,10 @@ while [[ $# -gt 0 ]]; do args+=("$arg") ;; esac - [[ -n "$skip" ]] && args+=("$arg") + [[ -n $skip ]] && args+=("$arg") done -if [[ -z "$TMUX" ]]; then +if [[ -z $TMUX ]]; then "$fzf" "${args[@]}" exit $? fi @@ -149,7 +149,7 @@ fi args=("${args[@]}" "--no-height" "--bind=ctrl-z:ignore" "--no-tmux") # Handle zoomed tmux pane without popup options by moving it to a temp window -if [[ ! "$opt" =~ "-E" ]] && tmux list-panes -F '#F' | grep -q Z; then +if [[ ! $opt =~ "-E" ]] && tmux list-panes -F '#F' | grep -q Z; then zoomed_without_popup=1 original_window=$(tmux display-message -p "#{window_id}") tmp_window=$(tmux new-window -d -P -F "#{window_id}" "bash -c 'while :; do for c in \\| / - '\\;' do sleep 0.2; printf \"\\r\$c fzf-tmux is running\\r\"; done; done'") @@ -165,22 +165,22 @@ fifo1="${TMPDIR:-/tmp}/fzf-fifo1-$id" fifo2="${TMPDIR:-/tmp}/fzf-fifo2-$id" fifo3="${TMPDIR:-/tmp}/fzf-fifo3-$id" if tmux_win_opts=$(tmux show-options -p remain-on-exit \; show-options -p synchronize-panes 2> /dev/null); then - tmux_win_opts=( $(sed '/ off/d; s/synchronize-panes/set-option -p synchronize-panes/; s/remain-on-exit/set-option -p remain-on-exit/; s/$/ \\;/' <<< "$tmux_win_opts") ) + tmux_win_opts=($(sed '/ off/d; s/synchronize-panes/set-option -p synchronize-panes/; s/remain-on-exit/set-option -p remain-on-exit/; s/$/ \\;/' <<< "$tmux_win_opts")) tmux_off_opts='; set-option -p synchronize-panes off ; set-option -p remain-on-exit off' else - tmux_win_opts=( $(tmux show-window-options remain-on-exit \; show-window-options synchronize-panes | sed '/ off/d; s/^/set-window-option /; s/$/ \\;/') ) + tmux_win_opts=($(tmux show-window-options remain-on-exit \; show-window-options synchronize-panes | sed '/ off/d; s/^/set-window-option /; s/$/ \\;/')) tmux_off_opts='; set-window-option synchronize-panes off ; set-window-option remain-on-exit off' fi cleanup() { \rm -f $argsf $fifo1 $fifo2 $fifo3 # Restore tmux window options - if [[ "${#tmux_win_opts[@]}" -gt 1 ]]; then + if [[ ${#tmux_win_opts[@]} -gt 1 ]]; then eval "tmux ${tmux_win_opts[*]}" fi # Remove temp window if we were zoomed without popup options - if [[ -n "$zoomed_without_popup" ]]; then + if [[ -n $zoomed_without_popup ]]; then tmux display-message -p "#{window_id}" > /dev/null tmux swap-pane -t $original_window \; \ select-window -t $original_window \; \ @@ -197,10 +197,10 @@ trap 'cleanup 1' SIGUSR1 trap 'cleanup' EXIT envs="export TERM=$TERM " -if [[ "$opt" =~ "-E" ]]; then - if [[ $tmux_version = 3.2 ]]; then +if [[ $opt =~ "-E" ]]; then + if [[ $tmux_version == 3.2 ]]; then FZF_DEFAULT_OPTS="--margin 0,1 $FZF_DEFAULT_OPTS" - elif [[ $tmux_32 = 1 ]]; then + elif [[ $tmux_32 == 1 ]]; then FZF_DEFAULT_OPTS="--border $FZF_DEFAULT_OPTS" opt="-B $opt" else @@ -211,8 +211,8 @@ fi envs="$envs FZF_DEFAULT_COMMAND=$(printf %q "$FZF_DEFAULT_COMMAND")" envs="$envs FZF_DEFAULT_OPTS=$(printf %q "$FZF_DEFAULT_OPTS")" envs="$envs FZF_DEFAULT_OPTS_FILE=$(printf %q "$FZF_DEFAULT_OPTS_FILE")" -[[ -n "$RUNEWIDTH_EASTASIAN" ]] && envs="$envs RUNEWIDTH_EASTASIAN=$(printf %q "$RUNEWIDTH_EASTASIAN")" -[[ -n "$BAT_THEME" ]] && envs="$envs BAT_THEME=$(printf %q "$BAT_THEME")" +[[ -n $RUNEWIDTH_EASTASIAN ]] && envs="$envs RUNEWIDTH_EASTASIAN=$(printf %q "$RUNEWIDTH_EASTASIAN")" +[[ -n $BAT_THEME ]] && envs="$envs BAT_THEME=$(printf %q "$BAT_THEME")" echo "$envs;" > "$argsf" # Build arguments to fzf @@ -224,9 +224,9 @@ close="; trap - EXIT SIGINT SIGTERM $close" export TMUX=$(cut -d , -f 1,2 <<< "$TMUX") mkfifo -m o+w $fifo2 -if [[ "$opt" =~ "-E" ]]; then +if [[ $opt =~ "-E" ]]; then cat $fifo2 & - if [[ -n "$term" ]] || [[ -t 0 ]]; then + if [[ -n $term ]] || [[ -t 0 ]]; then cat <<< "\"$fzf\" $opts > $fifo2; out=\$? $close; exit \$out" >> $argsf else mkfifo $fifo1 @@ -239,7 +239,7 @@ if [[ "$opt" =~ "-E" ]]; then fi mkfifo -m o+w $fifo3 -if [[ -n "$term" ]] || [[ -t 0 ]]; then +if [[ -n $term ]] || [[ -t 0 ]]; then cat <<< "\"$fzf\" $opts > $fifo2; echo \$? > $fifo3 $close" >> $argsf else mkfifo $fifo1 @@ -249,6 +249,9 @@ fi tmux \ split-window -c "$PWD" $opt "bash -c 'exec -a fzf bash $argsf'" $swap \ $tmux_off_opts \ - > /dev/null 2>&1 || { "$fzf" "${args[@]}"; exit $?; } + > /dev/null 2>&1 || { + "$fzf" "${args[@]}" + exit $? +} cat $fifo2 exit "$(cat $fifo3)" diff --git a/install b/install index ec36a5f6..7b10c782 100755 --- a/install +++ b/install @@ -46,16 +46,16 @@ for opt in "$@"; do prefix_expand=${XDG_CONFIG_HOME:-$HOME/.config}/fzf/fzf mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/fzf" ;; - --key-bindings) key_bindings=1 ;; - --no-key-bindings) key_bindings=0 ;; - --completion) auto_completion=1 ;; - --no-completion) auto_completion=0 ;; - --update-rc) update_config=1 ;; - --no-update-rc) update_config=0 ;; - --bin) ;; - --no-bash) shells=${shells/bash/} ;; - --no-zsh) shells=${shells/zsh/} ;; - --no-fish) shells=${shells/fish/} ;; + --key-bindings) key_bindings=1 ;; + --no-key-bindings) key_bindings=0 ;; + --completion) auto_completion=1 ;; + --no-completion) auto_completion=0 ;; + --update-rc) update_config=1 ;; + --no-update-rc) update_config=0 ;; + --bin) ;; + --no-bash) shells=${shells/bash/} ;; + --no-zsh) shells=${shells/zsh/} ;; + --no-fish) shells=${shells/fish/} ;; *) echo "unknown option: $opt" help @@ -104,7 +104,7 @@ check_binary() { link_fzf_in_path() { if which_fzf="$(command -v fzf)"; then - echo " - Found in \$PATH" + echo ' - Found in $PATH' echo " - Creating symlink: bin/fzf -> $which_fzf" (cd "$fzf_base"/bin && rm -f fzf && ln -sf "$which_fzf" fzf) check_binary && return @@ -114,22 +114,22 @@ link_fzf_in_path() { try_curl() { command -v curl > /dev/null && - if [[ $1 =~ tar.gz$ ]]; then - curl -fL $1 | tar --no-same-owner -xzf - - else - local temp=${TMPDIR:-/tmp}/fzf.zip - curl -fLo "$temp" $1 && unzip -o "$temp" && rm -f "$temp" - fi + if [[ $1 =~ tar.gz$ ]]; then + curl -fL $1 | tar --no-same-owner -xzf - + else + local temp=${TMPDIR:-/tmp}/fzf.zip + curl -fLo "$temp" $1 && unzip -o "$temp" && rm -f "$temp" + fi } try_wget() { command -v wget > /dev/null && - if [[ $1 =~ tar.gz$ ]]; then - wget -O - $1 | tar --no-same-owner -xzf - - else - local temp=${TMPDIR:-/tmp}/fzf.zip - wget -O "$temp" $1 && unzip -o "$temp" && rm -f "$temp" - fi + if [[ $1 =~ tar.gz$ ]]; then + wget -O - $1 | tar --no-same-owner -xzf - + else + local temp=${TMPDIR:-/tmp}/fzf.zip + wget -O "$temp" $1 && unzip -o "$temp" && rm -f "$temp" + fi } download() { @@ -164,29 +164,29 @@ download() { } # Try to download binary executable -archi=$(uname -smo 2>/dev/null || uname -sm) +archi=$(uname -smo 2> /dev/null || uname -sm) binary_available=1 binary_error="" case "$archi" in - Darwin\ arm64*) download fzf-$version-darwin_arm64.tar.gz ;; - Darwin\ x86_64*) download fzf-$version-darwin_amd64.tar.gz ;; - Linux\ armv5*) download fzf-$version-linux_armv5.tar.gz ;; - Linux\ armv6*) download fzf-$version-linux_armv6.tar.gz ;; - Linux\ armv7*) download fzf-$version-linux_armv7.tar.gz ;; - Linux\ armv8*) download fzf-$version-linux_arm64.tar.gz ;; + Darwin\ arm64*) download fzf-$version-darwin_arm64.tar.gz ;; + Darwin\ x86_64*) download fzf-$version-darwin_amd64.tar.gz ;; + Linux\ armv5*) download fzf-$version-linux_armv5.tar.gz ;; + Linux\ armv6*) download fzf-$version-linux_armv6.tar.gz ;; + Linux\ armv7*) download fzf-$version-linux_armv7.tar.gz ;; + Linux\ armv8*) download fzf-$version-linux_arm64.tar.gz ;; Linux\ aarch64\ Android) download fzf-$version-android_arm64.tar.gz ;; - Linux\ aarch64*) download fzf-$version-linux_arm64.tar.gz ;; - Linux\ loongarch64*) download fzf-$version-linux_loong64.tar.gz ;; - Linux\ ppc64le*) download fzf-$version-linux_ppc64le.tar.gz ;; - Linux\ *64*) download fzf-$version-linux_amd64.tar.gz ;; - Linux\ s390x*) download fzf-$version-linux_s390x.tar.gz ;; - FreeBSD\ *64*) download fzf-$version-freebsd_amd64.tar.gz ;; - OpenBSD\ *64*) download fzf-$version-openbsd_amd64.tar.gz ;; - CYGWIN*\ *64*) download fzf-$version-windows_amd64.zip ;; - MINGW*\ *64*) download fzf-$version-windows_amd64.zip ;; - MSYS*\ *64*) download fzf-$version-windows_amd64.zip ;; - Windows*\ *64*) download fzf-$version-windows_amd64.zip ;; - *) binary_available=0 binary_error=1 ;; + Linux\ aarch64*) download fzf-$version-linux_arm64.tar.gz ;; + Linux\ loongarch64*) download fzf-$version-linux_loong64.tar.gz ;; + Linux\ ppc64le*) download fzf-$version-linux_ppc64le.tar.gz ;; + Linux\ *64*) download fzf-$version-linux_amd64.tar.gz ;; + Linux\ s390x*) download fzf-$version-linux_s390x.tar.gz ;; + FreeBSD\ *64*) download fzf-$version-freebsd_amd64.tar.gz ;; + OpenBSD\ *64*) download fzf-$version-openbsd_amd64.tar.gz ;; + CYGWIN*\ *64*) download fzf-$version-windows_amd64.zip ;; + MINGW*\ *64*) download fzf-$version-windows_amd64.zip ;; + MSYS*\ *64*) download fzf-$version-windows_amd64.zip ;; + Windows*\ *64*) download fzf-$version-windows_amd64.zip ;; + *) binary_available=0 binary_error=1 ;; esac cd "$fzf_base" @@ -215,7 +215,7 @@ if [ -n "$binary_error" ]; then fi fi -[[ "$*" =~ "--bin" ]] && exit 0 +[[ $* =~ "--bin" ]] && exit 0 for s in $shells; do if ! command -v "$s" > /dev/null; then @@ -242,7 +242,7 @@ fi echo for shell in $shells; do - [[ "$shell" = fish ]] && continue + [[ $shell == fish ]] && continue src=${prefix_expand}.${shell} echo -n "Generate $src ... " @@ -266,7 +266,7 @@ fi EOF if [[ $auto_completion -eq 1 ]] && [[ $key_bindings -eq 1 ]]; then - if [[ "$shell" = zsh ]]; then + if [[ $shell == zsh ]]; then echo "source <(fzf --$shell)" >> "$src" else echo "eval \"\$(fzf --$shell)\"" >> "$src" @@ -286,7 +286,7 @@ EOF done # fish -if [[ "$shells" =~ fish ]]; then +if [[ $shells =~ fish ]]; then echo -n "Update fish_user_paths ... " fish << EOF echo \$fish_user_paths | \grep "$fzf_base"/bin > /dev/null @@ -318,9 +318,9 @@ append_line() { sed 's/^/ Line /' <<< "$lines" update=0 - if ! \grep -qv "^[0-9]*:[[:space:]]*#" <<< "$lines" ; then + if ! \grep -qv "^[0-9]*:[[:space:]]*#" <<< "$lines"; then echo " - But they all seem to be commented" - ask " - Continue modifying $file?" + ask " - Continue modifying $file?" update=$? fi fi @@ -356,12 +356,12 @@ if [ $update_config -eq 2 ]; then fi echo for shell in $shells; do - [[ "$shell" = fish ]] && continue + [[ $shell == fish ]] && continue [ $shell = zsh ] && dest=${ZDOTDIR:-~}/.zshrc || dest=~/.bashrc append_line $update_config "[ -f ${prefix}.${shell} ] && source ${prefix}.${shell}" "$dest" "${prefix}.${shell}" done -if [ $key_bindings -eq 1 ] && [[ "$shells" =~ fish ]]; then +if [ $key_bindings -eq 1 ] && [[ $shells =~ fish ]]; then bind_file="${fish_dir}/functions/fish_user_key_bindings.fish" if [ ! -e "$bind_file" ]; then mkdir -p "${fish_dir}/functions" @@ -386,13 +386,13 @@ fi if [ $update_config -eq 1 ]; then echo 'Finished. Restart your shell or reload config file.' - if [[ "$shells" =~ bash ]]; then + if [[ $shells =~ bash ]]; then echo -n ' source ~/.bashrc # bash' - [[ "$archi" =~ Darwin ]] && echo -n ' (.bashrc should be loaded from .bash_profile)' + [[ $archi =~ Darwin ]] && echo -n ' (.bashrc should be loaded from .bash_profile)' echo fi - [[ "$shells" =~ zsh ]] && echo " source ${ZDOTDIR:-~}/.zshrc # zsh" - [[ "$shells" =~ fish ]] && [ $key_bindings -eq 1 ] && echo ' fzf_key_bindings # fish' + [[ $shells =~ zsh ]] && echo " source ${ZDOTDIR:-~}/.zshrc # zsh" + [[ $shells =~ fish ]] && [ $key_bindings -eq 1 ] && echo ' fzf_key_bindings # fish' echo echo 'Use uninstall script to remove fzf.' echo diff --git a/shell/common.sh b/shell/common.sh index ab4b3d70..758f5958 100644 --- a/shell/common.sh +++ b/shell/common.sh @@ -1,4 +1,3 @@ - __fzf_defaults() { # $1: Prepend to FZF_DEFAULT_OPTS_FILE and FZF_DEFAULT_OPTS # $2: Append to FZF_DEFAULT_OPTS_FILE and FZF_DEFAULT_OPTS @@ -22,12 +21,12 @@ __fzf_exec_awk() { # modern point of view. To use a standard-conforming version in Solaris, # one needs to explicitly use /usr/xpg4/bin/awk. __fzf_awk=/usr/xpg4/bin/awk - elif command -v mawk >/dev/null 2>&1; then + elif command -v mawk > /dev/null 2>&1; then # choose the faster mawk if: it's installed && build date >= 20230322 && # version >= 1.3.4 local n x y z d IFS=' .' read -r n x y z d <<< $(command mawk -W version 2> /dev/null) - [[ $n == mawk ]] && (( d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004 )) && __fzf_awk=mawk + [[ $n == mawk ]] && ((d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004)) && __fzf_awk=mawk fi fi # Note: macOS awk has a quirk that it stops processing at all when it sees diff --git a/shell/completion.bash b/shell/completion.bash index e41feb9f..c30c47bf 100644 --- a/shell/completion.bash +++ b/shell/completion.bash @@ -48,10 +48,10 @@ __fzf_exec_awk() { __fzf_awk=awk if [[ $OSTYPE == solaris* && -x /usr/xpg4/bin/awk ]]; then __fzf_awk=/usr/xpg4/bin/awk - elif command -v mawk >/dev/null 2>&1; then + elif command -v mawk > /dev/null 2>&1; then local n x y z d IFS=' .' read -r n x y z d <<< $(command mawk -W version 2> /dev/null) - [[ $n == mawk ]] && (( d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004 )) && __fzf_awk=mawk + [[ $n == mawk ]] && ((d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004)) && __fzf_awk=mawk fi fi LC_ALL=C exec "$__fzf_awk" "$@" @@ -59,9 +59,9 @@ __fzf_exec_awk() { #----END INCLUDE __fzf_comprun() { - if [[ "$(type -t _fzf_comprun 2>&1)" = function ]]; then + if [[ "$(type -t _fzf_comprun 2>&1)" == function ]]; then _fzf_comprun "$@" - elif [[ -n "${TMUX_PANE-}" ]] && { [[ "${FZF_TMUX:-0}" != 0 ]] || [[ -n "${FZF_TMUX_OPTS-}" ]]; }; then + elif [[ -n ${TMUX_PANE-} ]] && { [[ ${FZF_TMUX:-0} != 0 ]] || [[ -n ${FZF_TMUX_OPTS-} ]]; }; then shift fzf-tmux ${FZF_TMUX_OPTS:--d${FZF_TMUX_HEIGHT:-40%}} -- "$@" else @@ -73,13 +73,13 @@ __fzf_comprun() { __fzf_orig_completion() { local l comp f cmd while read -r l; do - if [[ "$l" =~ ^(.*\ -F)\ *([^ ]*).*\ ([^ ]*)$ ]]; then + if [[ $l =~ ^(.*\ -F)\ *([^ ]*).*\ ([^ ]*)$ ]]; then comp="${BASH_REMATCH[1]}" f="${BASH_REMATCH[2]}" cmd="${BASH_REMATCH[3]}" - [[ "$f" = _fzf_* ]] && continue + [[ $f == _fzf_* ]] && continue printf -v "_fzf_orig_completion_${cmd//[^A-Za-z0-9_]/_}" "%s" "${comp} %s ${cmd} #${f}" - if [[ "$l" = *" -o nospace "* ]] && [[ ! "${__fzf_nospace_commands-}" = *" $cmd "* ]]; then + if [[ $l == *" -o nospace "* ]] && [[ ${__fzf_nospace_commands-} != *" $cmd "* ]]; then __fzf_nospace_commands="${__fzf_nospace_commands-} $cmd " fi fi @@ -115,7 +115,7 @@ _fzf_opts_completion() { local cur prev opts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" + prev="${COMP_WORDS[COMP_CWORD - 1]}" opts=" +c --no-color +i --no-ignore-case @@ -198,28 +198,28 @@ _fzf_opts_completion() { --" case "${prev}" in - --scheme) - COMPREPLY=( $(compgen -W "default path history" -- "$cur") ) - return 0 - ;; - --tiebreak) - COMPREPLY=( $(compgen -W "length chunk begin end index" -- "$cur") ) - return 0 - ;; - --color) - COMPREPLY=( $(compgen -W "dark light 16 bw no" -- "$cur") ) - return 0 - ;; - --layout) - COMPREPLY=( $(compgen -W "default reverse reverse-list" -- "$cur") ) - return 0 - ;; - --info) - COMPREPLY=( $(compgen -W "default right hidden inline inline-right" -- "$cur") ) - return 0 - ;; - --preview-window) - COMPREPLY=( $(compgen -W " + --scheme) + COMPREPLY=($(compgen -W "default path history" -- "$cur")) + return 0 + ;; + --tiebreak) + COMPREPLY=($(compgen -W "length chunk begin end index" -- "$cur")) + return 0 + ;; + --color) + COMPREPLY=($(compgen -W "dark light 16 bw no" -- "$cur")) + return 0 + ;; + --layout) + COMPREPLY=($(compgen -W "default reverse reverse-list" -- "$cur")) + return 0 + ;; + --info) + COMPREPLY=($(compgen -W "default right hidden inline inline-right" -- "$cur")) + return 0 + ;; + --preview-window) + COMPREPLY=($(compgen -W " default hidden nohidden @@ -245,21 +245,21 @@ _fzf_opts_completion() { border-left border-right follow - nofollow" -- "$cur") ) - return 0 - ;; - --border) - COMPREPLY=( $(compgen -W "rounded sharp bold block thinblock double horizontal vertical top bottom left right none" -- "$cur") ) - return 0 - ;; - --border-label-pos|--preview-label-pos) - COMPREPLY=( $(compgen -W "center bottom top" -- "$cur") ) - return 0 - ;; + nofollow" -- "$cur")) + return 0 + ;; + --border) + COMPREPLY=($(compgen -W "rounded sharp bold block thinblock double horizontal vertical top bottom left right none" -- "$cur")) + return 0 + ;; + --border-label-pos | --preview-label-pos) + COMPREPLY=($(compgen -W "center bottom top" -- "$cur")) + return 0 + ;; esac - if [[ "$cur" =~ ^-|\+ ]]; then - COMPREPLY=( $(compgen -W "${opts}" -- "$cur") ) + if [[ $cur =~ ^-|\+ ]]; then + COMPREPLY=($(compgen -W "${opts}" -- "$cur")) return 0 fi @@ -273,7 +273,7 @@ _fzf_handle_dynamic_completion() { orig_cmd="$1" if __fzf_orig_completion_get_orig_func "$cmd"; then "$REPLY" "$@" - elif [[ -n "${_fzf_completion_loader-}" ]]; then + elif [[ -n ${_fzf_completion_loader-} ]]; then orig_complete=$(complete -p "$orig_cmd" 2> /dev/null) $_fzf_completion_loader "$@" ret=$? @@ -287,7 +287,7 @@ _fzf_handle_dynamic_completion() { __fzf_orig_completion_instantiate "$cmd" "${BASH_REMATCH[1]}" && orig_complete=$REPLY - if [[ "${__fzf_nospace_commands-}" = *" $orig_cmd "* ]]; then + if [[ ${__fzf_nospace_commands-} == *" $orig_cmd "* ]]; then eval "${orig_complete/ -F / -o nospace -F }" else eval "$orig_complete" @@ -307,18 +307,18 @@ __fzf_generic_path_completion() { COMPREPLY=() trigger=${FZF_COMPLETION_TRIGGER-'**'} [[ $COMP_CWORD -ge 0 ]] && cur="${COMP_WORDS[COMP_CWORD]}" - if [[ "$cur" == *"$trigger" ]] && [[ $cur != *'$('* ]] && [[ $cur != *':='* ]] && [[ $cur != *'`'* ]]; then + if [[ $cur == *"$trigger" ]] && [[ $cur != *'$('* ]] && [[ $cur != *':='* ]] && [[ $cur != *'`'* ]]; then base=${cur:0:${#cur}-${#trigger}} eval "base=$base" 2> /dev/null || return dir= - [[ $base = *"/"* ]] && dir="$base" + [[ $base == *"/"* ]] && dir="$base" while true; do - if [[ -z "$dir" ]] || [[ -d "$dir" ]]; then - leftover=${base/#"$dir"} - leftover=${leftover/#\/} - [[ -z "$dir" ]] && dir='.' - [[ "$dir" != "/" ]] && dir="${dir/%\//}" + if [[ -z $dir ]] || [[ -d $dir ]]; then + leftover=${base/#"$dir"/} + leftover=${leftover/#\//} + [[ -z $dir ]] && dir='.' + [[ $dir != "/" ]] && dir="${dir/%\//}" matches=$( export FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --scheme=path" "${FZF_COMPLETION_OPTS-} $2") unset FZF_DEFAULT_COMMAND FZF_DEFAULT_OPTS_FILE @@ -338,11 +338,11 @@ __fzf_generic_path_completion() { done ) matches=${matches% } - [[ -z "$3" ]] && [[ "${__fzf_nospace_commands-}" = *" ${COMP_WORDS[0]} "* ]] && matches="$matches " - if [[ -n "$matches" ]]; then - COMPREPLY=( "$matches" ) + [[ -z $3 ]] && [[ ${__fzf_nospace_commands-} == *" ${COMP_WORDS[0]} "* ]] && matches="$matches " + if [[ -n $matches ]]; then + COMPREPLY=("$matches") else - COMPREPLY=( "$cur" ) + COMPREPLY=("$cur") fi # To redraw line after fzf closes (printf '\e[5n') bind '"\e[0n": redraw-current-line' 2> /dev/null @@ -350,7 +350,7 @@ __fzf_generic_path_completion() { return 0 fi dir=$(command dirname "$dir") - [[ "$dir" =~ /$ ]] || dir="$dir"/ + [[ $dir =~ /$ ]] || dir="$dir"/ done else shift @@ -366,15 +366,15 @@ _fzf_complete() { args=("$@") sep= for i in "${!args[@]}"; do - if [[ "${args[$i]}" = -- ]]; then + if [[ ${args[$i]} == -- ]]; then sep=$i break fi done - if [[ -n "$sep" ]]; then + if [[ -n $sep ]]; then str_arg= rest=("${args[@]:$((sep + 1)):${#args[@]}}") - args=("${args[@]:0:$sep}") + args=("${args[@]:0:sep}") else str_arg=$1 args=() @@ -389,15 +389,16 @@ _fzf_complete() { trigger=${FZF_COMPLETION_TRIGGER-'**'} cmd="${COMP_WORDS[0]}" cur="${COMP_WORDS[COMP_CWORD]}" - if [[ "$cur" == *"$trigger" ]] && [[ $cur != *'$('* ]] && [[ $cur != *':='* ]] && [[ $cur != *'`'* ]]; then + if [[ $cur == *"$trigger" ]] && [[ $cur != *'$('* ]] && [[ $cur != *':='* ]] && [[ $cur != *'`'* ]]; then cur=${cur:0:${#cur}-${#trigger}} selected=$( FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse" "${FZF_COMPLETION_OPTS-} $str_arg") \ FZF_DEFAULT_OPTS_FILE='' \ - __fzf_comprun "${rest[0]}" "${args[@]}" -q "$cur" | eval "$post" | command tr '\n' ' ') + __fzf_comprun "${rest[0]}" "${args[@]}" -q "$cur" | eval "$post" | command tr '\n' ' ' + ) selected=${selected% } # Strip trailing space not to repeat "-o nospace" - if [[ -n "$selected" ]]; then + if [[ -n $selected ]]; then COMPREPLY=("$selected") else COMPREPLY=("$cur") @@ -455,10 +456,10 @@ _fzf_proc_completion() { ' _fzf_complete -m --header-lines=1 --no-preview --wrap --color fg:dim,nth:regular \ --bind "click-header:transform:$transformer" -- "$@" < <( - command ps -eo user,pid,ppid,start,time,command 2> /dev/null || - command ps -eo user,pid,ppid,time,args 2> /dev/null || # For BusyBox - command ps --everyone --full --windows # For cygwin - ) + command ps -eo user,pid,ppid,start,time,command 2> /dev/null || + command ps -eo user,pid,ppid,time,args 2> /dev/null || # For BusyBox + command ps --everyone --full --windows # For cygwin + ) } _fzf_proc_completion_post() { @@ -541,12 +542,12 @@ _fzf_host_completion() { # > and the third argument ($3) is the word preceding the word being completed on the current command line. _fzf_complete_ssh() { case $3 in - -i|-F|-E) + -i | -F | -E) _fzf_path_completion "$@" ;; *) local user= - [[ "$2" =~ '@' ]] && user="${2%%@*}@" + [[ $2 =~ '@' ]] && user="${2%%@*}@" _fzf_complete +m -- "$@" < <(__fzf_list_hosts | __fzf_exec_awk -v user="$user" '{print user $0}') ;; esac @@ -677,10 +678,10 @@ _fzf_setup_completion() { __fzf_orig_completion < <(complete -p "$@" 2> /dev/null) for cmd in "$@"; do case "$kind" in - dir) __fzf_defc "$cmd" "$fn" "-o nospace -o dirnames" ;; - var) __fzf_defc "$cmd" "$fn" "-o default -o nospace -v" ;; + dir) __fzf_defc "$cmd" "$fn" "-o nospace -o dirnames" ;; + var) __fzf_defc "$cmd" "$fn" "-o default -o nospace -v" ;; alias) __fzf_defc "$cmd" "$fn" "-a" ;; - *) __fzf_defc "$cmd" "$fn" "-o default -o bashdefault" ;; + *) __fzf_defc "$cmd" "$fn" "-o default -o bashdefault" ;; esac done } diff --git a/shell/completion.zsh b/shell/completion.zsh index 39e72db2..bcd5829d 100644 --- a/shell/completion.zsh +++ b/shell/completion.zsh @@ -112,10 +112,10 @@ __fzf_exec_awk() { __fzf_awk=awk if [[ $OSTYPE == solaris* && -x /usr/xpg4/bin/awk ]]; then __fzf_awk=/usr/xpg4/bin/awk - elif command -v mawk >/dev/null 2>&1; then + elif command -v mawk > /dev/null 2>&1; then local n x y z d IFS=' .' read -r n x y z d <<< $(command mawk -W version 2> /dev/null) - [[ $n == mawk ]] && (( d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004 )) && __fzf_awk=mawk + [[ $n == mawk ]] && ((d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004)) && __fzf_awk=mawk fi fi LC_ALL=C exec "$__fzf_awk" "$@" diff --git a/shell/key-bindings.bash b/shell/key-bindings.bash index 500591bc..139476df 100644 --- a/shell/key-bindings.bash +++ b/shell/key-bindings.bash @@ -34,10 +34,10 @@ __fzf_exec_awk() { __fzf_awk=awk if [[ $OSTYPE == solaris* && -x /usr/xpg4/bin/awk ]]; then __fzf_awk=/usr/xpg4/bin/awk - elif command -v mawk >/dev/null 2>&1; then + elif command -v mawk > /dev/null 2>&1; then local n x y z d IFS=' .' read -r n x y z d <<< $(command mawk -W version 2> /dev/null) - [[ $n == mawk ]] && (( d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004 )) && __fzf_awk=mawk + [[ $n == mawk ]] && ((d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004)) && __fzf_awk=mawk fi fi LC_ALL=C exec "$__fzf_awk" "$@" @@ -46,30 +46,30 @@ __fzf_exec_awk() { __fzf_select__() { FZF_DEFAULT_COMMAND=${FZF_CTRL_T_COMMAND:-} \ - FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --walker=file,dir,follow,hidden --scheme=path" "${FZF_CTRL_T_OPTS-} -m") \ - FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) "$@" | + FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --walker=file,dir,follow,hidden --scheme=path" "${FZF_CTRL_T_OPTS-} -m") \ + FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) "$@" | while read -r item; do - printf '%q ' "$item" # escape special chars + printf '%q ' "$item" # escape special chars done } __fzfcmd() { - [[ -n "${TMUX_PANE-}" ]] && { [[ "${FZF_TMUX:-0}" != 0 ]] || [[ -n "${FZF_TMUX_OPTS-}" ]]; } && + [[ -n ${TMUX_PANE-} ]] && { [[ ${FZF_TMUX:-0} != 0 ]] || [[ -n ${FZF_TMUX_OPTS-} ]]; } && echo "fzf-tmux ${FZF_TMUX_OPTS:--d${FZF_TMUX_HEIGHT:-40%}} -- " || echo "fzf" } fzf-file-widget() { local selected="$(__fzf_select__ "$@")" - READLINE_LINE="${READLINE_LINE:0:$READLINE_POINT}$selected${READLINE_LINE:$READLINE_POINT}" - READLINE_POINT=$(( READLINE_POINT + ${#selected} )) + READLINE_LINE="${READLINE_LINE:0:READLINE_POINT}$selected${READLINE_LINE:READLINE_POINT}" + READLINE_POINT=$((READLINE_POINT + ${#selected})) } __fzf_cd__() { local dir dir=$( FZF_DEFAULT_COMMAND=${FZF_ALT_C_COMMAND:-} \ - FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --walker=dir,follow,hidden --scheme=path" "${FZF_ALT_C_OPTS-} +m") \ - FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) + FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --walker=dir,follow,hidden --scheme=path" "${FZF_ALT_C_OPTS-} +m") \ + FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) ) && printf 'builtin cd -- %q' "$(builtin unset CDPATH && builtin cd -- "$dir" && builtin pwd)" } @@ -85,7 +85,7 @@ if command -v perl > /dev/null; then FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) --query "$READLINE_LINE" ) || return READLINE_LINE=$(command perl -pe 's/^\d*\t//' <<< "$output") - if [[ -z "$READLINE_POINT" ]]; then + if [[ -z $READLINE_POINT ]]; then echo "$READLINE_LINE" else READLINE_POINT=0x7fffffff @@ -94,7 +94,7 @@ if command -v perl > /dev/null; then else # awk - fallback for POSIX systems __fzf_history__() { local output script - [[ $(HISTTIMEFORMAT='' builtin history 1) =~ [[:digit:]]+ ]] # how many history entries + [[ $(HISTTIMEFORMAT='' builtin history 1) =~ [[:digit:]]+ ]] # how many history entries script='function P(b) { ++n; sub(/^[ *]/, "", b); if (!seen[b]++) { printf "%d\t%s%c", '$((BASH_REMATCH + 1))' - n, b, 0 } } NR==1 { b = substr($0, 2); next } /^\t/ { P(b); b = substr($0, 2); next } @@ -102,13 +102,13 @@ else # awk - fallback for POSIX systems END { if (NR) P(b) }' output=$( set +o pipefail - builtin fc -lnr -2147483648 2> /dev/null | # ( $'\t '$'\n' )* ; ::= [^\n]* ( $'\n' )* - __fzf_exec_awk "$script" | # ( $'\t'$'\000' )* + builtin fc -lnr -2147483648 2> /dev/null | # ( $'\t '$'\n' )* ; ::= [^\n]* ( $'\n' )* + __fzf_exec_awk "$script" | # ( $'\t'$'\000' )* FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"$'\t'"↳ ' --highlight-line ${FZF_CTRL_R_OPTS-} +m --read0") \ FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) --query "$READLINE_LINE" ) || return READLINE_LINE=${output#*$'\t'} - if [[ -z "$READLINE_POINT" ]]; then + if [[ -z $READLINE_POINT ]]; then echo "$READLINE_LINE" else READLINE_POINT=0x7fffffff @@ -123,9 +123,9 @@ bind -m vi-command '"\C-z": emacs-editing-mode' bind -m vi-insert '"\C-z": emacs-editing-mode' bind -m emacs-standard '"\C-z": vi-editing-mode' -if (( BASH_VERSINFO[0] < 4 )); then +if ((BASH_VERSINFO[0] < 4)); then # CTRL-T - Paste the selected file path into the command line - if [[ "${FZF_CTRL_T_COMMAND-x}" != "" ]]; then + if [[ ${FZF_CTRL_T_COMMAND-x} != "" ]]; then bind -m emacs-standard '"\C-t": " \C-b\C-k \C-u`__fzf_select__`\e\C-e\er\C-a\C-y\C-h\C-e\e \C-y\ey\C-x\C-x\C-f\C-y\ey\C-_"' bind -m vi-command '"\C-t": "\C-z\C-t\C-z"' bind -m vi-insert '"\C-t": "\C-z\C-t\C-z"' @@ -137,7 +137,7 @@ if (( BASH_VERSINFO[0] < 4 )); then bind -m vi-insert '"\C-r": "\C-z\C-r\C-z"' else # CTRL-T - Paste the selected file path into the command line - if [[ "${FZF_CTRL_T_COMMAND-x}" != "" ]]; then + if [[ ${FZF_CTRL_T_COMMAND-x} != "" ]]; then bind -m emacs-standard -x '"\C-t": fzf-file-widget' bind -m vi-command -x '"\C-t": fzf-file-widget' bind -m vi-insert -x '"\C-t": fzf-file-widget' @@ -150,7 +150,7 @@ else fi # ALT-C - cd into the selected directory -if [[ "${FZF_ALT_C_COMMAND-x}" != "" ]]; then +if [[ ${FZF_ALT_C_COMMAND-x} != "" ]]; then bind -m emacs-standard '"\ec": " \C-b\C-k \C-u`__fzf_cd__`\e\C-e\er\C-m\C-y\C-h\e \C-y\ey\C-x\C-x\C-d\C-y\ey\C-_"' bind -m vi-command '"\ec": "\C-z\ec\C-z"' bind -m vi-insert '"\ec": "\C-z\ec\C-z"' diff --git a/shell/key-bindings.zsh b/shell/key-bindings.zsh index bc2c8968..3b24e30d 100644 --- a/shell/key-bindings.zsh +++ b/shell/key-bindings.zsh @@ -54,10 +54,10 @@ __fzf_exec_awk() { __fzf_awk=awk if [[ $OSTYPE == solaris* && -x /usr/xpg4/bin/awk ]]; then __fzf_awk=/usr/xpg4/bin/awk - elif command -v mawk >/dev/null 2>&1; then + elif command -v mawk > /dev/null 2>&1; then local n x y z d IFS=' .' read -r n x y z d <<< $(command mawk -W version 2> /dev/null) - [[ $n == mawk ]] && (( d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004 )) && __fzf_awk=mawk + [[ $n == mawk ]] && ((d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004)) && __fzf_awk=mawk fi fi LC_ALL=C exec "$__fzf_awk" "$@" diff --git a/shell/update.sh b/shell/update.sh index 4b6f63ae..61374d35 100755 --- a/shell/update.sh +++ b/shell/update.sh @@ -9,11 +9,12 @@ dir=${0%"${0##*/}"} update() { { sed -n '1,/^#----BEGIN INCLUDE common\.sh/p' "$1" - cat < "$1.part" diff --git a/uninstall b/uninstall index 1d338cb4..76950ef1 100755 --- a/uninstall +++ b/uninstall @@ -64,19 +64,19 @@ remove_line() { line_no=1 continue fi - line_no=$(( $(sed 's/:.*//' <<< "$line") + line_no - 1 )) + line_no=$(($(sed 's/:.*//' <<< "$line") + line_no - 1)) content=$(sed 's/^[0-9]*://' <<< "$line") match=1 - echo " - Line #$line_no: $content" + echo " - Line #$line_no: $content" [ "$content" = "$1" ] || ask " - Remove?" if [ $? -eq 0 ]; then temp=$(mktemp) awk -v n=$line_no 'NR == n {next} {print}' "$src" > "$temp" && cat "$temp" > "$src" && rm -f "$temp" || break - echo " - Removed" + echo " - Removed" else - echo " - Skipped" - line_no=$(( line_no + 1 )) + echo " - Skipped" + line_no=$((line_no + 1)) fi done [ $match -eq 0 ] && echo " - Nothing found" @@ -109,6 +109,6 @@ if [ -d "${fish_dir}/functions" ]; then fi config_dir=$(dirname "$prefix_expand") -if [[ "$xdg" = 1 ]] && [[ "$config_dir" = */fzf ]] && [[ -d "$config_dir" ]]; then +if [[ $xdg == 1 ]] && [[ $config_dir == */fzf ]] && [[ -d $config_dir ]]; then rmdir "$config_dir" fi