#!/usr/bin/env python3 """atuin-pick: atuin history picker for a kitty split (ctrl+shift+p). atuin search -i draws its TUI on the tty and prints the selected command to stdout (Esc prints nothing). Filter to history from the current directory. Run the selection with rc loaded so aliases and functions resolve, then drop to an interactive shell. """ import os import subprocess import sys # kitty launches this outside a shell, so atuin's init never ran. if "ATUIN_SESSION" not in os.environ: os.environ["ATUIN_SESSION"] = subprocess.run( ["atuin", "uuid"], stdout=subprocess.PIPE, text=True ).stdout.strip() sel = subprocess.run( ["atuin", "search", "-i", "--filter-mode", "directory"], stdout=subprocess.PIPE, text=True, ).stdout.strip() if sel: print(f"\u276f {sel}", file=sys.stderr) subprocess.run(["zsh", "-ic", "--", sel]) os.execvp("zsh", ["zsh", "-i"])