diff options
| author | Craig Jennings <c@cjennings.net> | 2026-01-26 17:36:38 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-01-26 17:36:38 -0600 |
| commit | dada2f255daaa2fb493ec8c7d47e2a8123aea494 (patch) | |
| tree | 0c0eeb84bb7b6e66a2d7f41cdfd061b25f80cc14 /dotfiles/system/.zsh/fzf-tab.zsh | |
| parent | d50e5955837788fc69b4d5bc74cb574b859ed31a (diff) | |
refactor(dotfiles): rename system/ to common/ and remove unused configs
Rename dotfiles/system to dotfiles/common for clarity - indicates
shared dotfiles used across all desktop environments (DWM, Hyprland).
Removed config directories for uninstalled applications:
- ghostty (using different terminal)
- lf (using ranger instead)
- mopidy (using mpd instead)
- nitrogen (X11-only, obsolete for Wayland)
- pychess (not installed)
- JetBrains (not installed via archsetup)
- youtube-dl (using yt-dlp with different config location)
Kept audacious config for potential future use.
Updated all references in archsetup, CLAUDE.md, todo.org, and
validation.sh.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'dotfiles/system/.zsh/fzf-tab.zsh')
| -rw-r--r-- | dotfiles/system/.zsh/fzf-tab.zsh | 389 |
1 files changed, 0 insertions, 389 deletions
diff --git a/dotfiles/system/.zsh/fzf-tab.zsh b/dotfiles/system/.zsh/fzf-tab.zsh deleted file mode 100644 index ed2767d..0000000 --- a/dotfiles/system/.zsh/fzf-tab.zsh +++ /dev/null @@ -1,389 +0,0 @@ -# temporarily change options -'builtin' 'local' '-a' '_ftb_opts' -[[ ! -o 'aliases' ]] || _ftb_opts+=('aliases') -[[ ! -o 'sh_glob' ]] || _ftb_opts+=('sh_glob') -[[ ! -o 'no_brace_expand' ]] || _ftb_opts+=('no_brace_expand') -'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' - -# thanks Valodim/zsh-capture-completion --ftb-compadd() { - # parse all options - local -A apre hpre dscrs _oad - local -a isfile _opts __ expl - zparseopts -E -a _opts P:=apre p:=hpre d:=dscrs X+:=expl O:=_oad A:=_oad D:=_oad f=isfile \ - i: S: s: I: x: r: R: W: F: M+: E: q e Q n U C \ - J:=__ V:=__ a=__ l=__ k=__ o=__ 1=__ 2=__ - - # just delegate and leave if any of -O, -A or -D are given or fzf-tab is not enabled - if (( $#_oad != 0 || ! IN_FZF_TAB )); then - builtin compadd "$@" - return - fi - - # store matches in $__hits and descriptions in $__dscr - local -a __hits __dscr - if (( $#dscrs == 1 )); then - __dscr=( "${(@P)${(v)dscrs}}" ) - fi - builtin compadd -A __hits -D __dscr "$@" - local ret=$? - if (( $#__hits == 0 )); then - return $ret - fi - - # store $curcontext for furthur usage - _ftb_curcontext=${curcontext#:} - - # only store the fist `-X` - expl=$expl[2] - - # keep order of group description - [[ -n $expl ]] && _ftb_groups+=$expl - - # store these values in _ftb_compcap - local -a keys=(apre hpre PREFIX SUFFIX IPREFIX ISUFFIX) - local key expanded __tmp_value=$'<\0>' # placeholder - for key in $keys; do - expanded=${(P)key} - if [[ -n $expanded ]]; then - __tmp_value+=$'\0'$key$'\0'$expanded - fi - done - if [[ -n $expl ]]; then - # store group index - __tmp_value+=$'\0group\0'$_ftb_groups[(ie)$expl] - fi - if [[ -n $isfile ]]; then - # NOTE: need a extra ${} here or ~ expansion won't work - __tmp_value+=$'\0realdir\0'${${(Qe)~${:-$IPREFIX$hpre}}} - fi - _opts+=("${(@kv)apre}" "${(@kv)hpre}" $isfile) - __tmp_value+=$'\0args\0'${(pj:\1:)_opts} - - if (( $+builtins[fzf-tab-compcap-generate] )); then - fzf-tab-compcap-generate __hits __dscr __tmp_value - else - # dscr - the string to show to users - # word - the string to be inserted - local dscr word i - for i in {1..$#__hits}; do - word=$__hits[i] dscr=$__dscr[i] - if [[ -n $dscr ]]; then - dscr=${dscr//$'\n'} - elif [[ -n $word ]]; then - dscr=$word - fi - _ftb_compcap+=$dscr$'\2'$__tmp_value$'\0word\0'$word - done - fi - - # tell zsh that the match is successful - builtin compadd -U -qS '' -R -ftb-remove-space '' -} - -# when insert multi results, a whitespace will be added to each result -# remove left space of our fake result because I can't remove right space -# FIXME: what if the left char is not whitespace: `echo $widgets[\t` --ftb-remove-space() { - [[ $LBUFFER[-1] == ' ' ]] && LBUFFER[-1]='' -} - --ftb-zstyle() { - zstyle $1 ":fzf-tab:$_ftb_curcontext" ${@:2} -} - --ftb-complete() { - local -a _ftb_compcap - local -Ua _ftb_groups - local choice choices _ftb_curcontext continuous_trigger print_query accept_line bs=$'\2' nul=$'\0' - local ret=0 - - # must run with user options; don't move `emulate -L zsh` above this line - (( $+builtins[fzf-tab-compcap-generate] )) && fzf-tab-compcap-generate -i - COLUMNS=500 _ftb__main_complete "$@" || ret=$? - (( $+builtins[fzf-tab-compcap-generate] )) && fzf-tab-compcap-generate -o - - emulate -L zsh -o extended_glob - - local _ftb_query _ftb_complist=() _ftb_headers=() command opts - -ftb-generate-complist # sets `_ftb_complist` - - case $#_ftb_complist in - 0) return 1;; - # NOTE: won't trigger continuous completion - 1) choices=("EXPECT_KEY" "${_ftb_compcap[1]%$bs*}");; - *) - -ftb-generate-query # sets `_ftb_query` - -ftb-generate-header # sets `_ftb_headers` - -ftb-zstyle -s continuous-trigger continuous_trigger || continuous_trigger=/ - -ftb-zstyle -s print-query print_query || print_query=alt-enter - -ftb-zstyle -s accept-line accept_line - - choices=("${(@f)"$(builtin print -rl -- $_ftb_headers $_ftb_complist | -ftb-fzf)"}") - ret=$? - # choices=(query_string expect_key returned_word) - - # insert query string directly - if [[ $choices[2] == $print_query ]] || [[ -n $choices[1] && $#choices == 1 ]] ; then - local -A v=("${(@0)${_ftb_compcap[1]}}") - local -a args=("${(@ps:\1:)v[args]}") - [[ -z $args[1] ]] && args=() # don't pass an empty string - IPREFIX=$v[IPREFIX] PREFIX=$v[PREFIX] SUFFIX=$v[SUFFIX] ISUFFIX=$v[ISUFFIX] - # NOTE: should I use `-U` here?, ../f\tabcd -> ../abcd - builtin compadd "${args[@]:--Q}" -Q -- $choices[1] - - compstate[list]= - compstate[insert]= - if (( $#choices[1] > 0 )); then - compstate[insert]='2' - [[ $RBUFFER == ' '* ]] || compstate[insert]+=' ' - fi - return $ret - fi - choices[1]=() - - choices=("${(@)${(@)choices%$nul*}#*$nul}") - - unset CTXT - ;; - esac - - if [[ -n $choices[1] && $choices[1] == $continuous_trigger ]]; then - typeset -gi _ftb_continue=1 - fi - - if [[ -n $choices[1] && $choices[1] == $accept_line ]]; then - typeset -gi _ftb_accept=1 - fi - choices[1]=() - - for choice in "$choices[@]"; do - local -A v=("${(@0)${_ftb_compcap[(r)${(b)choice}$bs*]#*$bs}}") - local -a args=("${(@ps:\1:)v[args]}") - [[ -z $args[1] ]] && args=() # don't pass an empty string - IPREFIX=$v[IPREFIX] PREFIX=$v[PREFIX] SUFFIX=$v[SUFFIX] ISUFFIX=$v[ISUFFIX] - builtin compadd "${args[@]:--Q}" -Q -- "$v[word]" - done - - compstate[list]= - compstate[insert]= - if (( $#choices == 1 )); then - compstate[insert]='2' - [[ $RBUFFER == ' '* ]] || compstate[insert]+=' ' - elif (( $#choices > 1 )); then - compstate[insert]='all' - fi - return $ret -} - -fzf-tab-debug() { - (( $+_ftb_debug_cnt )) || typeset -gi _ftb_debug_cnt - local tmp=${TMPPREFIX:-/tmp/zsh}-$$-fzf-tab-$(( ++_ftb_debug_cnt )).log - local -i debug_fd=-1 IN_FZF_TAB=1 - { - exec {debug_fd}>&2 2>| $tmp - local -a debug_indent; debug_indent=( '%'{3..20}'(e. .)' ) - local PROMPT4 PS4="${(j::)debug_indent}+%N:%i> " - setopt xtrace - : $ZSH_NAME $ZSH_VERSION - zle .fzf-tab-orig-$_ftb_orig_widget - unsetopt xtrace - if (( debug_fd != -1 )); then - zle -M "fzf-tab-debug: Trace output left in $tmp" - fi - } always { - (( debug_fd != -1 )) && exec 2>&$debug_fd {debug_fd}>&- - } -} - -fzf-tab-complete() { - # this name must be ugly to avoid clashes - local -i _ftb_continue=1 _ftb_accept=0 ret=0 - # hide the cursor until finishing completion, so that users won't see cursor up and down - # NOTE: MacOS Terminal doesn't support civis & cnorm - echoti civis >/dev/tty 2>/dev/null - while (( _ftb_continue )); do - _ftb_continue=0 - local IN_FZF_TAB=1 - { - zle .fzf-tab-orig-$_ftb_orig_widget - ret=$? - } always { - IN_FZF_TAB=0 - } - if (( _ftb_continue )); then - zle .split-undo - zle .reset-prompt - zle -R - zle fzf-tab-dummy - fi - done - echoti cnorm >/dev/tty 2>/dev/null - zle .redisplay - (( _ftb_accept )) && zle .accept-line - return $ret -} - -# this function does nothing, it is used to be wrapped by other plugins like f-sy-h. -# this make it possible to call the wrapper function without causing any other side effects. -fzf-tab-dummy() { } - -zle -N fzf-tab-debug -zle -N fzf-tab-complete -zle -N fzf-tab-dummy - -disable-fzf-tab() { - emulate -L zsh -o extended_glob - (( $+_ftb_orig_widget )) || return 0 - - bindkey '^I' $_ftb_orig_widget - case $_ftb_orig_list_grouped in - 0) zstyle ':completion:*' list-grouped false ;; - 1) zstyle ':completion:*' list-grouped true ;; - 2) zstyle -d ':completion:*' list-grouped ;; - esac - unset _ftb_orig_widget _ftb_orig_list_groupded - - # unhook compadd so that _approximate can work properply - unfunction compadd 2>/dev/null - - functions[_main_complete]=$functions[_ftb__main_complete] - functions[_approximate]=$functions[_ftb__approximate] - - # Don't remove .fzf-tab-orig-$_ftb_orig_widget as we won't be able to reliably - # create it if enable-fzf-tab is called again. -} - -enable-fzf-tab() { - emulate -L zsh -o extended_glob - (( ! $+_ftb_orig_widget )) || disable-fzf-tab - - typeset -g _ftb_orig_widget="${${$(builtin bindkey '^I')##* }:-expand-or-complete}" - if (( ! $+widgets[.fzf-tab-orig-$_ftb_orig_widget] )); then - # Widgets that get replaced by compinit. - local compinit_widgets=( - complete-word - delete-char-or-list - expand-or-complete - expand-or-complete-prefix - list-choices - menu-complete - menu-expand-or-complete - reverse-menu-complete - ) - # Note: We prefix the name of the widget with '.' so that it doesn't get wrapped. - if [[ $widgets[$_ftb_orig_widget] == builtin && - $compinit_widgets[(Ie)$_ftb_orig_widget] != 0 ]]; then - # We are initializing before compinit and being asked to fall back to a completion - # widget that isn't defined yet. Create our own copy of the widget ahead of time. - zle -C .fzf-tab-orig-$_ftb_orig_widget .$_ftb_orig_widget _main_complete - else - # Copy the widget before it's wrapped by zsh-autosuggestions and zsh-syntax-highlighting. - zle -A $_ftb_orig_widget .fzf-tab-orig-$_ftb_orig_widget - fi - fi - - zstyle -t ':completion:*' list-grouped false - typeset -g _ftb_orig_list_grouped=$? - - zstyle ':completion:*' list-grouped false - bindkey '^I' fzf-tab-complete - bindkey '^X.' fzf-tab-debug - - # make sure we can copy them - autoload +X -Uz _main_complete _approximate - - # hook compadd - functions[compadd]=$functions[-ftb-compadd] - - # hook _main_complete to trigger fzf-tab - functions[_ftb__main_complete]=$functions[_main_complete] - function _main_complete() { -ftb-complete "$@" } - - # TODO: This is not a full support, see #47 - # _approximate will also hook compadd - # let it call -ftb-compadd instead of builtin compadd so that fzf-tab can capture result - # make sure _approximate has been loaded. - functions[_ftb__approximate]=$functions[_approximate] - function _approximate() { - # if not called by fzf-tab, don't do anything with compadd - (( ! IN_FZF_TAB )) || unfunction compadd - _ftb__approximate - (( ! IN_FZF_TAB )) || functions[compadd]=$functions[-ftb-compadd] - } -} - -toggle-fzf-tab() { - emulate -L zsh -o extended_glob - if (( $+_ftb_orig_widget )); then - disable-fzf-tab - else - enable-fzf-tab - fi -} - -build-fzf-tab-module() { - local MACOS - if [[ ${OSTYPE} == darwin* ]]; then - MACOS=true - fi - pushd $FZF_TAB_HOME/modules - CPPFLAGS=-I/usr/local/include CFLAGS="-g -Wall -O2" LDFLAGS=-L/usr/local/lib ./configure --disable-gdbm --without-tcsetpgrp ${MACOS:+DL_EXT=bundle} - make -j - popd -} - -zmodload zsh/zutil -zmodload zsh/mapfile -zmodload -F zsh/stat b:zstat - -0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}" -0="${${(M)0:#/*}:-$PWD/$0}" -FZF_TAB_HOME="${0:A:h}" - -source "$FZF_TAB_HOME"/lib/zsh-ls-colors/ls-colors.zsh fzf-tab-lscolors - -typeset -ga _ftb_group_colors=( - $'\x1b[94m' $'\x1b[32m' $'\x1b[33m' $'\x1b[35m' $'\x1b[31m' $'\x1b[38;5;27m' $'\x1b[36m' - $'\x1b[38;5;100m' $'\x1b[38;5;98m' $'\x1b[91m' $'\x1b[38;5;80m' $'\x1b[92m' - $'\x1b[38;5;214m' $'\x1b[38;5;165m' $'\x1b[38;5;124m' $'\x1b[38;5;120m' -) - -# init -() { - emulate -L zsh -o extended_glob - - fpath+=($FZF_TAB_HOME/lib) - - autoload -Uz -- $FZF_TAB_HOME/lib/-#ftb*(:t) - - if (( $+FZF_TAB_COMMAND || $+FZF_TAB_OPTS || $+FZF_TAB_QUERY || $+FZF_TAB_SINGLE_GROUP || $+fzf_tab_preview_init )) \ - || zstyle -m ":fzf-tab:*" command '*' \ - || zstyle -m ":fzf-tab:*" extra-opts '*'; then - print -P "%F{red}%B[fzf-tab] Sorry, your configuration is not supported anymore\n" \ - "See https://github.com/Aloxaf/fzf-tab/pull/132 for more information%f%b" - fi - - if [[ -n $FZF_TAB_HOME/modules/Src/aloxaf/fzftab.(so|bundle)(#qN) ]]; then - module_path+=("$FZF_TAB_HOME/modules/Src") - zmodload aloxaf/fzftab - - if [[ $FZF_TAB_MODULE_VERSION != "0.2.2" ]]; then - zmodload -u aloxaf/fzftab - local rebuild - print -Pn "%F{yellow}fzftab module needs to be rebuild, rebuild now?[Y/n]:%f" - read -q rebuild - if [[ $rebuild == y ]]; then - build-fzf-tab-module - zmodload aloxaf/fzftab - fi - fi - fi -} - -enable-fzf-tab -zle -N toggle-fzf-tab - -# restore options -(( ${#_ftb_opts} )) && setopt ${_ftb_opts[@]} -'builtin' 'unset' '_ftb_opts' |
