diff options
author | Ellie Huxtable <e@elm.sh> | 2021-04-13 19:14:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-13 19:14:07 +0100 |
commit | 5751463942cc91f1f1ffaf6e2ac633d7a0085f25 (patch) | |
tree | f7b5b9a4702c4c3ef29aa60d36612f61ffeae052 /src/shell | |
parent | a1fcf54f93fe5f48a3ffa6b619e8dca7dcdbc798 (diff) |
Add history sync, resolves #13 (#31)
* Add encryption
* Add login and register command
* Add count endpoint
* Write initial sync push
* Add single sync command
Confirmed working for one client only
* Automatically sync on a configurable frequency
* Add key command, key arg to login
* Only load session if it exists
* Use sync and history timestamps for download
* Bind other key code
Seems like some systems have this code for up arrow? I'm not sure why,
and it's not an easy one to google.
* Simplify upload
* Try and fix download sync loop
* Change sync order to avoid uploading what we just downloaded
* Multiline import fix
* Fix time parsing
* Fix importing history with no time
* Add hostname to sync
* Use hostname to filter sync
* Fixes
* Add binding
* Stuff from yesterday
* Set cursor modes
* Make clippy happy
* Bump version
Diffstat (limited to 'src/shell')
-rw-r--r-- | src/shell/atuin.zsh | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/shell/atuin.zsh b/src/shell/atuin.zsh index 8407efd2..d2abf3c1 100644 --- a/src/shell/atuin.zsh +++ b/src/shell/atuin.zsh @@ -1,4 +1,6 @@ # Source this in your ~/.zshrc +autoload -U add-zsh-hook + export ATUIN_SESSION=$(atuin uuid) export ATUIN_HISTORY="atuin history list" export ATUIN_BINDKEYS="true" @@ -20,24 +22,12 @@ _atuin_search(){ emulate -L zsh zle -I + # Switch to cursor mode, then back to application + echoti rmkx # swap stderr and stdout, so that the tui stuff works # TODO: not this output=$(atuin search $BUFFER 3>&1 1>&2 2>&3) - - if [[ -n $output ]] ; then - LBUFFER=$output - fi - - zle reset-prompt -} - -_atuin_up_search(){ - emulate -L zsh - zle -I - - # swap stderr and stdout, so that the tui stuff works - # TODO: not this - output=$(atuin search $BUFFER 3>&1 1>&2 2>&3) + echoti smkx if [[ -n $output ]] ; then LBUFFER=$output @@ -50,9 +40,11 @@ add-zsh-hook preexec _atuin_preexec add-zsh-hook precmd _atuin_precmd zle -N _atuin_search_widget _atuin_search -zle -N _atuin_up_search_widget _atuin_up_search if [[ $ATUIN_BINDKEYS == "true" ]]; then bindkey '^r' _atuin_search_widget - bindkey '^[[A' _atuin_up_search_widget + + # depends on terminal mode + bindkey '^[[A' _atuin_search_widget + bindkey '^[OA' _atuin_search_widget fi |