aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJacob Evan Shreve <jacob@shreve.io>2022-10-07 23:31:30 -0400
committerGitHub <noreply@github.com>2022-10-07 20:31:30 -0700
commit0f77f8ae72f8ef9e6b9a435a9b77d09df459fa2a (patch)
tree8c7d1c88ee931118bdab71fe462e3804b60c8ed9 /src
parentAdd `style` to config.toml and config.md (#552) (diff)
downloadatuin-0f77f8ae72f8ef9e6b9a435a9b77d09df459fa2a.zip
Fix compatability with fish vi key bindings (#541)
PR #420 addressed the existence of pagination in a fish prompt by trying to track when pagination was enabled and disabled. This introduced atuin-specific bindings for common keys: `\t`, `\e`, `\r`, and `\n` which exports a variable and informs the `_autiun_search` function to not show the TUI. Fish has a commandline function that will instead tell you whether pagination is enabled so the user doesn't need to keep track of that state. This PR uses this function, `commandline -P` to replace the prior TUI supression scheme. Removing these extra function calls allows us to remove the additional bindings which were breaking fish vi key bindings. Replacing the value for `bind -M insert \e` completely breaks vi mode by blocking the user from exiting insert mode. By removing these extra binds, this PR restores fish vi mode compatability.
Diffstat (limited to 'src')
-rw-r--r--src/shell/atuin.fish22
1 files changed, 3 insertions, 19 deletions
diff --git a/src/shell/atuin.fish b/src/shell/atuin.fish
index 95074b0e..4f838f38 100644
--- a/src/shell/atuin.fish
+++ b/src/shell/atuin.fish
@@ -20,19 +20,11 @@ function _atuin_search
end
end
-function _atuin_suppress_tui
- set -gx ATUIN_SUPPRESS_TUI "true"
-end
-
-function _atuin_unsuppress_tui
- set -ge ATUIN_SUPPRESS_TUI
-end
-
function _atuin_bind_up
- if test -z $ATUIN_SUPPRESS_TUI
- _atuin_search
- else
+ if commandline -P
up-or-search
+ else
+ _atuin_search
end
end
@@ -41,10 +33,6 @@ if test -z $ATUIN_NOBIND
bind -k up _atuin_bind_up
bind \eOA _atuin_bind_up
bind \e\[A _atuin_bind_up
- bind \t 'commandline -f complete && _atuin_suppress_tui'
- bind \e 'commandline -f cancel && _atuin_unsuppress_tui'
- bind \r 'commandline -f execute && _atuin_unsuppress_tui'
- bind \n 'commandline -f execute && _atuin_unsuppress_tui'
if bind -M insert > /dev/null 2>&1
@@ -52,9 +40,5 @@ if test -z $ATUIN_NOBIND
bind -M insert -k up _atuin_bind_up
bind -M insert \eOA _atuin_bind_up
bind -M insert \e\[A _atuin_bind_up
- bind -M insert \t 'commandline -f complete && _atuin_suppress_tui'
- bind -M insert \e 'commandline -f cancel && _atuin_unsuppress_tui'
- bind -M insert \r 'commandline -f execute && _atuin_unsuppress_tui'
- bind -M insert \n 'commandline -f execute && _atuin_unsuppress_tui'
end
end