diff --git a/modules/programs/zsh/history.nix b/modules/programs/zsh/history.nix index acdc6531f..fcd880c46 100644 --- a/modules/programs/zsh/history.nix +++ b/modules/programs/zsh/history.nix @@ -247,28 +247,12 @@ in # https://github.com/zsh-users/zsh-history-substring-search#usage '' source ${pkgs.zsh-history-substring-search}/share/zsh-history-substring-search/zsh-history-substring-search.zsh - - ${ - let - upKeys = lib.toList cfg.historySubstringSearch.searchUpKey; - downKeys = lib.toList cfg.historySubstringSearch.searchDownKey; - in - '' - # Bind search up keys - ${lib.hm.zsh.define "search_up_keys" upKeys} - for key in "''${search_up_keys[@]}"; do - bindkey "$key" history-substring-search-up - done - unset key search_up_keys - - # Bind search down keys - ${lib.hm.zsh.define "search_down_keys" downKeys} - for key in "''${search_down_keys[@]}"; do - bindkey "$key" history-substring-search-down - done - unset key search_down_keys - '' - } + ${lib.concatMapStringsSep "\n" (upKey: ''bindkey "${upKey}" history-substring-search-up'') ( + lib.toList cfg.historySubstringSearch.searchUpKey + )} + ${lib.concatMapStringsSep "\n" (downKey: ''bindkey "${downKey}" history-substring-search-down'') ( + lib.toList cfg.historySubstringSearch.searchDownKey + )} '' )) ]; diff --git a/tests/modules/programs/zsh/history-substring-search-expected.zshrc b/tests/modules/programs/zsh/history-substring-search-expected.zshrc index a73c04322..e95c88c47 100644 --- a/tests/modules/programs/zsh/history-substring-search-expected.zshrc +++ b/tests/modules/programs/zsh/history-substring-search-expected.zshrc @@ -36,22 +36,6 @@ done unset opt disabled_opts source @zsh-history-substring-search@/share/zsh-history-substring-search/zsh-history-substring-search.zsh - -# Bind search up keys -search_up_keys=( - '^[[A' '\eOA' -) - for key in "${search_up_keys[@]}"; do - bindkey "$key" history-substring-search-up - done - unset key search_up_keys - -# Bind search down keys -search_down_keys=( - '^[[B' -) - for key in "${search_down_keys[@]}"; do - bindkey "$key" history-substring-search-down - done - unset key search_down_keys - +bindkey "^[[A" history-substring-search-up +bindkey "\eOA" history-substring-search-up +bindkey "^[[B" history-substring-search-down