diff --git a/spec/line_init_spec.rb b/spec/line_init_spec.rb new file mode 100644 index 0000000..826277f --- /dev/null +++ b/spec/line_init_spec.rb @@ -0,0 +1,17 @@ +context 'with zle-line-init unignored' do + let(:after_sourcing) do + -> do + session. + run_command('setopt extendedglob'). + run_command('ZSH_AUTOSUGGEST_IGNORE_WIDGETS=(${(@)ZSH_AUTOSUGGEST_IGNORE_WIDGETS:#zle-\*} zle-\^line-init)'). + run_command('zle-line-init() { BUFFER="echo" }') + end + end + + it 'should fetch a suggestion on each line initialization' do + with_history('echo foo') do + session.run_command('zle -N zle-line-init') + wait_for { session.content }.to end_with('echo foo') + end + end +end diff --git a/src/bind.zsh b/src/bind.zsh index a2e86e1..fc2da9e 100644 --- a/src/bind.zsh +++ b/src/bind.zsh @@ -69,7 +69,6 @@ _zsh_autosuggest_bind_widgets() { ignore_widgets=( .\* _\* - zle-\* autosuggest-\* $ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\* $ZSH_AUTOSUGGEST_IGNORE_WIDGETS diff --git a/src/config.zsh b/src/config.zsh index 4e82c42..5a0ebd8 100644 --- a/src/config.zsh +++ b/src/config.zsh @@ -84,6 +84,7 @@ typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig- which-command yank yank-pop + zle-\* ) } diff --git a/zsh-autosuggestions.zsh b/zsh-autosuggestions.zsh index 5f920c9..f2fe337 100644 --- a/zsh-autosuggestions.zsh +++ b/zsh-autosuggestions.zsh @@ -110,6 +110,7 @@ typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig- which-command yank yank-pop + zle-\* ) } @@ -198,7 +199,6 @@ _zsh_autosuggest_bind_widgets() { ignore_widgets=( .\* _\* - zle-\* autosuggest-\* $ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\* $ZSH_AUTOSUGGEST_IGNORE_WIDGETS