summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig4
-rwxr-xr-xbin/fzf-preview.sh4
-rwxr-xr-xbin/fzf-tmux83
-rwxr-xr-xinstall108
-rw-r--r--shell/common.sh5
-rw-r--r--shell/completion.bash145
-rw-r--r--shell/completion.zsh4
-rw-r--r--shell/key-bindings.bash38
-rw-r--r--shell/key-bindings.zsh4
-rwxr-xr-xshell/update.sh3
-rwxr-xr-xuninstall12
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 '<lines>$'\n' )* ; <lines> ::= [^\n]* ( $'\n'<lines> )*
- __fzf_exec_awk "$script" | # ( <counter>$'\t'<lines>$'\000' )*
+ builtin fc -lnr -2147483648 2> /dev/null | # ( $'\t '<lines>$'\n' )* ; <lines> ::= [^\n]* ( $'\n'<lines> )*
+ __fzf_exec_awk "$script" | # ( <counter>$'\t'<lines>$'\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 <<EOF
+ cat << EOF
# NOTE: Do not directly edit this section, which is copied from "common.sh".
# To modify it, one can edit "common.sh" and run "./update.sh" to apply
# the changes. See code comments in "common.sh" for the implementation details.
EOF
+ echo
grep -v '^[[:blank:]]*#' "$dir/common.sh" # remove code comments in common.sh
sed -n '/^#----END INCLUDE/,$p' "$1"
} > "$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