From f193c02f4a03951a4075daac8047104161fba95e Mon Sep 17 00:00:00 2001 From: Jelle Spreeuwenberg Date: Wed, 6 May 2026 23:51:54 +0200 Subject: [PATCH] feat: better zsh completion --- modules/capabilities/shell.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/capabilities/shell.nix b/modules/capabilities/shell.nix index 20126e2..2f17d11 100644 --- a/modules/capabilities/shell.nix +++ b/modules/capabilities/shell.nix @@ -65,12 +65,20 @@ bindkey -v export KEYTIMEOUT=1 + setopt MENU_COMPLETE + zmodload zsh/complist autoload -U history-search-end zle -N history-beginning-search-backward-end history-search-end zle -N history-beginning-search-forward-end history-search-end bindkey "^[OA" history-beginning-search-backward-end bindkey "^[OB" history-beginning-search-forward-end + if [[ -n "''${terminfo[kcbt]}" ]]; then + bindkey "''${terminfo[kcbt]}" reverse-menu-complete + bindkey -M menuselect "''${terminfo[kcbt]}" reverse-menu-complete + fi + bindkey "^[[Z" reverse-menu-complete + bindkey -M menuselect "^[[Z" reverse-menu-complete zstyle ':completion:*' completer _extensions _complete _approximate zstyle ':completion:*' use-cache on @@ -79,7 +87,7 @@ zstyle ':completion:*' complete-options true zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' zstyle ':completion:*' keep-prefix true - zstyle ':completion:*' menu select + zstyle ':completion:*' menu yes select=1 zstyle ':completion:*' list-grouped false zstyle ':completion:*' list-separator ''' zstyle ':completion:*' group-name '''