diff options
Diffstat (limited to '')
| -rw-r--r-- | src/shell/atuin.zsh (renamed from atuin.plugin.zsh) | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/atuin.plugin.zsh b/src/shell/atuin.zsh index 83c931e9..a984428f 100644 --- a/atuin.plugin.zsh +++ b/src/shell/atuin.zsh @@ -1,6 +1,7 @@ # Source this in your ~/.zshrc export ATUIN_SESSION=$(atuin uuid) -export ATUIN_FUZZY=fzf +export ATUIN_HISTORY="atuin history list" +export ATUIN_BINDKEYS="true" _atuin_preexec(){ id=$(atuin history start $1) @@ -19,10 +20,23 @@ _atuin_search(){ emulate -L zsh zle -I - output=$(atuin history list --distinct | $ATUIN_FUZZY) + output=$(eval $ATUIN_HISTORY | fzf) if [[ -n $output ]] ; then - LBUFFER=$output + BUFFER=$output + fi + + zle reset-prompt +} + +_atuin_up_search(){ + emulate -L zsh + zle -I + + output=$(eval $ATUIN_HISTORY | fzf --no-sort --tac) + + if [[ -n $output ]] ; then + BUFFER=$output fi zle reset-prompt @@ -32,5 +46,9 @@ 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 -bindkey '^r' _atuin_search_widget +if [[ $ATUIN_BINDKEYS == "true" ]]; then + bindkey '^r' _atuin_search_widget + bindkey '^[[A' _atuin_up_search_widget +fi |
