From ed394afa82ef919937521e5ce72fc467cec203f9 Mon Sep 17 00:00:00 2001 From: Patrick Decat Date: Sun, 18 Dec 2022 19:26:09 +0100 Subject: Allow overriding filter and search modes from CLI (#635) * Allow overriding filter and search modes from CLI arguments * Use session filter mode for bash up key binding * We precisely do not want to add quotes here so that all arguments are properly passed * Add --shell-up-key-binding hidden command argument and filter_mode_shell_up_key_binding configuration option to allow customizing the filter mode used when atuin is invoked from a shell up-key binding * Correct up binding for zsh Co-authored-by: Ellie Huxtable --- src/shell/atuin.zsh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/shell/atuin.zsh') diff --git a/src/shell/atuin.zsh b/src/shell/atuin.zsh index ed1c0c16..dd5c1afc 100644 --- a/src/shell/atuin.zsh +++ b/src/shell/atuin.zsh @@ -34,7 +34,8 @@ _atuin_search(){ echoti rmkx # swap stderr and stdout, so that the tui stuff works # TODO: not this - output=$(RUST_LOG=error atuin search -i -- $BUFFER 3>&1 1>&2 2>&3) + # shellcheck disable=SC2048 + output=$(RUST_LOG=error atuin search $* -i -- $BUFFER 3>&1 1>&2 2>&3) echoti smkx if [[ -n $output ]] ; then @@ -45,15 +46,20 @@ _atuin_search(){ zle reset-prompt } +_atuin_up_search(){ + _atuin_search --shell-up-key-binding +} + add-zsh-hook preexec _atuin_preexec add-zsh-hook precmd _atuin_precmd zle -N _atuin_search_widget _atuin_search +zle -N _atuin_up_search_widget _atuin_up_search if [[ -z $ATUIN_NOBIND ]]; then bindkey '^r' _atuin_search_widget # depends on terminal mode - bindkey '^[[A' _atuin_search_widget - bindkey '^[OA' _atuin_search_widget + bindkey '^[[A' _atuin_up_search_widget + bindkey '^[OA' _atuin_up_search_widget fi -- cgit v1.3.1