summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEllie Huxtable <e@elm.sh>2021-05-08 14:17:22 +0100
committerGitHub <noreply@github.com>2021-05-08 14:17:22 +0100
commit8bd4d12cfa008f761afb12a8e966f4fb95a47753 (patch)
tree92eafc0f72574c506fad9896d6b5a49164736cb9
parent035bf9a99b64d415595f925009767775fb17fbc7 (diff)
Add ATUIN_NOBIND (#62)
* Add ATUIN_NOBIND * Update docs/key-binding.md `<kbd>`, what magic Co-authored-by: bl-ue <54780737+bl-ue@users.noreply.github.com> Co-authored-by: bl-ue <54780737+bl-ue@users.noreply.github.com>
-rw-r--r--README.md1
-rw-r--r--docs/key-binding.md38
-rw-r--r--src/shell/atuin.bash4
-rw-r--r--src/shell/atuin.zsh3
4 files changed, 43 insertions, 3 deletions
diff --git a/README.md b/README.md
index a1a4f3d9..d138832a 100644
--- a/README.md
+++ b/README.md
@@ -57,6 +57,7 @@ I wanted to. And I **really** don't want to.
- [Cloud history sync](docs/sync.md)
- [History stats](docs/stats.md)
- [Running your own server](docs/server.md)
+- [Key binding](docs/key-binding.md)
## Supported Shells
diff --git a/docs/key-binding.md b/docs/key-binding.md
new file mode 100644
index 00000000..c8776741
--- /dev/null
+++ b/docs/key-binding.md
@@ -0,0 +1,38 @@
+# Key binding
+
+By default, Atuin will rebind both <kbd>Ctrl-r</kbd> and the up arrow. If you do not want
+this to happen, set ATUIN_NOBIND before the call to `atuin init`
+
+For example
+
+```
+export ATUIN_NOBIND="true"
+eval "$(atuin init zsh)"
+```
+
+You can then choose to bind Atuin if needed, do this after the call to init.
+
+# zsh
+
+Atuin defines the ZLE widget "\_atuin_search_widget"
+
+```
+export ATUIN_NOBIND="true"
+eval "$(atuin init zsh)"
+
+bindkey '^r' _atuin_search_widget
+
+# depends on terminal mode
+bindkey '^[[A' _atuin_search_widget
+bindkey '^[OA' _atuin_search_widget
+```
+
+# bash
+
+```
+export ATUIN_NOBIND="true"
+eval "$(atuin init bash)"
+
+# bind to ctrl-r, add any other bindings you want here too
+bind -x '"\C-r": __atuin_history'
+```
diff --git a/src/shell/atuin.bash b/src/shell/atuin.bash
index 43de3640..8c35b4f7 100644
--- a/src/shell/atuin.bash
+++ b/src/shell/atuin.bash
@@ -27,4 +27,6 @@ __atuin_history ()
preexec_functions+=(_atuin_preexec)
precmd_functions+=(_atuin_precmd)
-bind -x '"\C-r": __atuin_history'
+if [[ -z $ATUIN_NOBIND ]]; then
+ bind -x '"\C-r": __atuin_history'
+fi
diff --git a/src/shell/atuin.zsh b/src/shell/atuin.zsh
index 6a24de50..15f2492b 100644
--- a/src/shell/atuin.zsh
+++ b/src/shell/atuin.zsh
@@ -3,7 +3,6 @@ autoload -U add-zsh-hook
export ATUIN_SESSION=$(atuin uuid)
export ATUIN_HISTORY="atuin history list"
-export ATUIN_BINDKEYS="true"
_atuin_preexec(){
id=$(atuin history start "$1")
@@ -42,7 +41,7 @@ add-zsh-hook precmd _atuin_precmd
zle -N _atuin_search_widget _atuin_search
-if [[ $ATUIN_BINDKEYS == "true" ]]; then
+if [[ -z $ATUIN_NOBIND ]]; then
bindkey '^r' _atuin_search_widget
# depends on terminal mode