From 87df7d80eca0ede9e149d1ef533e71650e4b919a Mon Sep 17 00:00:00 2001 From: Conrad Ludgate Date: Sat, 11 Dec 2021 09:48:53 +0000 Subject: Fish importing (#234) * make a start on fish * fix * test * enable fish * fmt * update histpath set up fish init script * update readme * cover edge case * fmt * fix session variables Co-authored-by: PJ * respect NOBIND Co-authored-by: PJ * fix env var setting Co-authored-by: PJ * fix whitespace Co-authored-by: PJ * add fish to supported shells Co-authored-by: PJ --- src/shell/atuin.fish | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/shell/atuin.fish (limited to 'src/shell/atuin.fish') diff --git a/src/shell/atuin.fish b/src/shell/atuin.fish new file mode 100644 index 00000000..5d59d01d --- /dev/null +++ b/src/shell/atuin.fish @@ -0,0 +1,28 @@ + +set -gx ATUIN_SESSION (atuin uuid) +set -gx ATUIN_HISTORY (atuin history list) + +function _atuin_preexec --on-event fish_preexec + set -gx ATUIN_HISTORY_ID (atuin history start "$argv[1]") +end + +function _atuin_postexec --on-event fish_postexec + set s $status + if test -n "$ATUIN_HISTORY_ID" + RUST_LOG=error atuin history end $ATUIN_HISTORY_ID --exit $s &; disown + end +end + +function _atuin_search + set h (RUST_LOG=error atuin search -i (commandline -b) 3>&1 1>&2 2>&3) + commandline -f repaint + if test -n "$h" + commandline -r $h + end +end + +if test -z $ATUIN_NOBIND + bind -k up '_atuin_search' + bind \eOA '_atuin_search' + bind \e\[A '_atuin_search' +end -- cgit v1.3.1