summaryrefslogtreecommitdiffstats
path: root/atuin.plugin.zsh
blob: e6d4ef2579b9a3579b686c0b529482c3670aca62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Source this in your ~/.zshrc
export ATUIN_SESSION=$(atuin uuid)
export ATUIN_FUZZY=fzf

_atuin_preexec(){
	id=$(atuin history start $1)
	export ATUIN_HISTORY_ID="$id"
}

_atuin_precmd(){
	local EXIT="$?"

	[[ -z "${ATUIN_HISTORY_ID}" ]] && return

	atuin history end $ATUIN_HISTORY_ID --exit $EXIT
}

_atuin_search(){
	$(atuin history list --distinct | $ATUIN_FUZZY)
}

add-zsh-hook preexec _atuin_preexec
add-zsh-hook precmd _atuin_precmd

zle -N _atuin_search_widget _atuin_search

bindkey -r '^r'
bindkey '^r' _atuin_search_widget