aboutsummaryrefslogtreecommitdiffstats
path: root/atuin.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'atuin.plugin.zsh')
-rw-r--r--atuin.plugin.zsh18
1 files changed, 18 insertions, 0 deletions
diff --git a/atuin.plugin.zsh b/atuin.plugin.zsh
new file mode 100644
index 00000000..d46346f2
--- /dev/null
+++ b/atuin.plugin.zsh
@@ -0,0 +1,18 @@
+# Source this in your ~/.zshrc
+export ATUIN_SESSION=$(atuin uuid)
+
+_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
+}
+
+add-zsh-hook preexec _atuin_preexec
+add-zsh-hook precmd _atuin_precmd