After 3 month of using your great plugin, zsh become very slow when typing command. Debug info:
+_zsh_autosuggest_bind_widget:38> zle -N vi-set-mark _zsh_autosuggest_bound_vi-set-mark
+_zsh_autosuggest_bind_widgets:14> widget=vi-substitute
+_zsh_autosuggest_bind_widgets:15> [ ']'
+_zsh_autosuggest_bind_widgets:17> [ ']'
+_zsh_autosuggest_bind_widgets:19> [ ']'
+_zsh_autosuggest_bind_widgets:21> [ ']'
+_zsh_autosuggest_bind_widgets:25> _zsh_autosuggest_bind_widget vi-substitute modify
+_zsh_autosuggest_bind_widget:1> local widget=vi-substitute
+_zsh_autosuggest_bind_widget:2> local autosuggest_action=modify
+_zsh_autosuggest_bind_widget:3> local prefix=autosuggest-orig-
+_zsh_autosuggest_bind_widget:6> case user:_zsh_highlight_widget_orig-s0.0000220000-r29613-vi-substitute (user:_zsh_autosuggest_(bound|orig)_*)
+_zsh_autosuggest_bind_widget:6> case user:_zsh_highlight_widget_orig-s0.0000220000-r29613-vi-substitute (user:*)
+_zsh_autosuggest_bind_widget:12> zle -N autosuggest-orig-vi-substitute _zsh_highlight_widget_orig-s0.0000220000-r29613-vi-substitute
+_zsh_autosuggest_bind_widget:33> eval '_zsh_autosuggest_bound_vi-substitute() {
_zsh_autosuggest_widget_modify autosuggest-orig-vi-substitute $@
}'
+_zsh_autosuggest_bind_widget:38> zle -N vi-substitute _zsh_autosuggest_bound_vi-substitute
+_zsh_autosuggest_bind_widgets:14> widget=vi-swap-case
+_zsh_autosuggest_bind_widgets:15> [ ']'
+_zsh_autosuggest_bind_widgets:17> [ ']'
+_zsh_autosuggest_bind_widgets:19> [ ']'
+_zsh_autosuggest_bind_widgets:21> [ ']'
+_zsh_autosuggest_bind_widgets:25> _zsh_autosuggest_bind_widget vi-swap-case modify
+_zsh_autosuggest_bind_widget:1> local widget=vi-swap-case
+_zsh_autosuggest_bind_widget:2> local autosuggest_action=modify
+_zsh_autosuggest_bind_widget:3> local prefix=autosuggest-orig-
+_zsh_autosuggest_bind_widget:6> case user:_zsh_highlight_widget_orig-s0.0000220000-r29613-vi-swap-case (user:_zsh_autosuggest_(bound|orig)_*)
+_zsh_autosuggest_bind_widget:6> case user:_zsh_highlight_widget_orig-s0.0000220000-r29613-vi-swap-case (user:*)
+_zsh_autosuggest_bind_widget:12> zle -N autosuggest-orig-vi-swap-case _zsh_highlight_widget_orig-s0.0000220000-r29613-vi-swap-case
+_zsh_autosuggest_bind_widget:33> eval '_zsh_autosuggest_bound_vi-swap-case() {
_zsh_autosuggest_widget_modify autosuggest-orig-vi-swap-case $@
}'
+_zsh_autosuggest_bind_widget:38> zle -N vi-swap-case _zsh_autosuggest_bound_vi-swap-case
+_zsh_autosuggest_bind_widgets:14> widget=vi-undo-change
+_zsh_autosuggest_bind_widgets:15> [ ']'
+_zsh_autosuggest_bind_widgets:17> [ ']'
+_zsh_autosuggest_bind_widgets:19> [ ']'
+_zsh_autosuggest_bind_widgets:21> [ ']'
+_zsh_autosuggest_bind_widgets:25> _zsh_autosuggest_bind_widget vi-undo-change modify
+_zsh_autosuggest_bind_widget:1> local widget=vi-undo-change
+_zsh_autosuggest_bind_widget:2> local autosuggest_action=modify
+_zsh_autosuggest_bind_widget:3> local prefix=autosuggest-orig-
+_zsh_autosuggest_bind_widget:6> case user:_zsh_highlight_widget_orig-s0.0000220000-r29613-vi-undo-change (user:_zsh_autosuggest_(bound|orig)_*)
+_zsh_autosuggest_bind_widget:6> case user:_zsh_highlight_widget_orig-s0.0000220000-r29613-vi-undo-change (user:*)
+_zsh_autosuggest_bind_widget:12> zle -N autosuggest-orig-vi-undo-change _zsh_highlight_widget_orig-s0.0000220000-r29613-vi-undo-change
+_zsh_autosuggest_bind_widget:33> eval '_zsh_autosuggest_bound_vi-undo-change() {
_zsh_autosuggest_widget_modify autosuggest-orig-vi-undo-change $@
}'
This repeats many times. After disabling autosuggestions the lags disappear.
I have the same issue, using the plugin with "oh-My-zsh"
Enabling async mode may help you here. Could be that your history has gotten large? Might be similar to #164 (whose fix was eventually reverted because it caused other issues).
Going to close since enabling async mode should solve this performance issue.
Bump here. Seems bind_widget(s) seems to be causing the majority of the lag according to zprof on carriage returns in a blank shell
Most helpful comment
Bump here. Seems bind_widget(s) seems to be causing the majority of the lag according to zprof on carriage returns in a blank shell