mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 19:32:43 +00:00
28 lines
901 B
Python
Executable File
28 lines
901 B
Python
Executable File
#!/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"])
|