mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-22 10:30:28 +08:00
accept-autosuggestion to return false if there was no autosuggestion to accept
Example usage: bind ctrl-space accept-autosuggestion and execute Closes #10608
This commit is contained in:
parent
cd3da62d24
commit
052e764f29
|
@ -180,6 +180,7 @@ New or improved bindings
|
||||||
- New special input functions:
|
- New special input functions:
|
||||||
- ``forward-char-passive`` and ``backward-char-passive`` are like their non-passive variants but do not accept autosuggestions or move focus in the completion pager (:issue:`10398`).
|
- ``forward-char-passive`` and ``backward-char-passive`` are like their non-passive variants but do not accept autosuggestions or move focus in the completion pager (:issue:`10398`).
|
||||||
- ``forward-token``, ``backward-token``, ``kill-token``, and ``backward-kill-token`` are similar to the ``*-bigword`` variants but for the whole argument token which includes escaped spaces (:issue:`2014`).
|
- ``forward-token``, ``backward-token``, ``kill-token``, and ``backward-kill-token`` are similar to the ``*-bigword`` variants but for the whole argument token which includes escaped spaces (:issue:`2014`).
|
||||||
|
- The ``accept-autosuggestion`` special input function now returns false when there was nothing to accept.
|
||||||
- Vi mode has seen some improvements but continues to suffer from the lack of people working on it.
|
- Vi mode has seen some improvements but continues to suffer from the lack of people working on it.
|
||||||
- Insert-mode :kbd:`ctrl-n` accepts autosuggestions (:issue:`10339`).
|
- Insert-mode :kbd:`ctrl-n` accepts autosuggestions (:issue:`10339`).
|
||||||
- Outside insert mode, the cursor will no longer be placed beyond the last character on the commandline.
|
- Outside insert mode, the cursor will no longer be placed beyond the last character on the commandline.
|
||||||
|
|
|
@ -112,7 +112,7 @@ The following special input functions are available:
|
||||||
only execute the next function if the previous succeeded (note: only some functions report success)
|
only execute the next function if the previous succeeded (note: only some functions report success)
|
||||||
|
|
||||||
``accept-autosuggestion``
|
``accept-autosuggestion``
|
||||||
accept the current autosuggestion
|
accept the current autosuggestion. Returns false when there was nothing to accept.
|
||||||
|
|
||||||
``backward-char``
|
``backward-char``
|
||||||
move one character to the left.
|
move one character to the left.
|
||||||
|
|
|
@ -2984,7 +2984,9 @@ impl<'a> Reader<'a> {
|
||||||
self.input_data.function_set_status(success);
|
self.input_data.function_set_status(success);
|
||||||
}
|
}
|
||||||
rl::AcceptAutosuggestion => {
|
rl::AcceptAutosuggestion => {
|
||||||
|
let success = !self.autosuggestion.is_empty();
|
||||||
self.accept_autosuggestion(true, false, MoveWordStyle::Punctuation);
|
self.accept_autosuggestion(true, false, MoveWordStyle::Punctuation);
|
||||||
|
self.input_data.function_set_status(success);
|
||||||
}
|
}
|
||||||
rl::TransposeChars => {
|
rl::TransposeChars => {
|
||||||
let (elt, el) = self.active_edit_line();
|
let (elt, el) = self.active_edit_line();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user