aboutsummaryrefslogtreecommitdiffstats
path: root/src/shell
diff options
context:
space:
mode:
authorEllie Huxtable <e@elm.sh>2021-02-15 23:33:30 +0000
committerGitHub <noreply@github.com>2021-02-15 23:33:30 +0000
commit41f072a8b443b5a404916598f0c9b7a52f5c05fb (patch)
tree449643847a5fee7c290976075a2f6fb36547aca0 /src/shell
parentSatisfy clippy (diff)
downloadatuin-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