diff options
| author | Ellie Huxtable <e@elm.sh> | 2021-02-15 23:33:30 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-15 23:33:30 +0000 |
| commit | 41f072a8b443b5a404916598f0c9b7a52f5c05fb (patch) | |
| tree | 449643847a5fee7c290976075a2f6fb36547aca0 /src/shell | |
| parent | Satisfy clippy (diff) | |
| download | atuin-41f072a8b443b5a404916598f0c9b7a52f5c05fb.zip | |
Add init command (#12)
* Add init command
This makes setting up the shell part of A'tuin much easier. Eval the
output of "atuin init".
* Update readme, add up binding
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 |
