mirror of
https://github.com/zsh-users/zsh-autosuggestions.git
synced 2024-11-18 09:51:06 +01:00
First try to fix partial accept in vicmd mode
This commit is contained in:
parent
60aff2d944
commit
bf95b4c093
1 changed files with 21 additions and 0 deletions
|
@ -438,10 +438,26 @@ _zsh_autosuggest_partial_accept() {
|
||||||
# Temporarily accept the suggestion.
|
# Temporarily accept the suggestion.
|
||||||
BUFFER="$BUFFER$POSTDISPLAY"
|
BUFFER="$BUFFER$POSTDISPLAY"
|
||||||
|
|
||||||
|
print keymap: $KEYMAP >> /tmp/zsh_autosuggest_log
|
||||||
|
print original widget name: $@ >> /tmp/zsh_autosuggest_log
|
||||||
|
print original buffer: $original_buffer >> /tmp/zsh_autosuggest_log
|
||||||
|
print original postdisplay: $POSTDISPLAY >> /tmp/zsh_autosuggest_log
|
||||||
|
print original cursor: $CURSOR >> /tmp/zsh_autosuggest_log
|
||||||
|
|
||||||
# Original widget moves the cursor
|
# Original widget moves the cursor
|
||||||
_zsh_autosuggest_invoke_original_widget $@
|
_zsh_autosuggest_invoke_original_widget $@
|
||||||
retval=$?
|
retval=$?
|
||||||
|
|
||||||
|
# In vicmd keymap, the cursor is placed on the last character, not after
|
||||||
|
# For this reason, we need to increment it by 1 for our tests on it to
|
||||||
|
# keep working, then roll it back to its initial value
|
||||||
|
if [ $KEYMAP = 'vicmd' ]; then
|
||||||
|
(( CURSOR++ ))
|
||||||
|
fi
|
||||||
|
|
||||||
|
print retval: $retval >> /tmp/zsh_autosuggest_log
|
||||||
|
print final cursor: $CURSOR >> /tmp/zsh_autosuggest_log
|
||||||
|
|
||||||
# If we've moved past the end of the original buffer
|
# If we've moved past the end of the original buffer
|
||||||
if (( $CURSOR > $#original_buffer )); then
|
if (( $CURSOR > $#original_buffer )); then
|
||||||
# Set POSTDISPLAY to text right of the cursor
|
# Set POSTDISPLAY to text right of the cursor
|
||||||
|
@ -454,6 +470,11 @@ _zsh_autosuggest_partial_accept() {
|
||||||
BUFFER="$original_buffer"
|
BUFFER="$original_buffer"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $KEYMAP = 'vicmd' ]; then
|
||||||
|
(( CURSOR-- ))
|
||||||
|
fi
|
||||||
|
|
||||||
|
print '' >> /tmp/zsh_autosuggest_log
|
||||||
return $retval
|
return $retval
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue