mirror of
https://github.com/zsh-users/zsh-autosuggestions.git
synced 2024-11-18 09:51:06 +01:00
Remove hard-coded ignore of zle-* widgets and add to default config
Use case suggested by @romkatv uses zle-line-init to restore buffer after running a widget to cd up one level (GitHub #431). As far as I can tell, the ignoring of zle-line-* was added in commit9788c2e
to support some deprecation warnings that were removed some time ago. The pattern was then widened in commit0c940e7
to zle-* to fix problems encountered when wrapping zle-isearch-update. This commit removes the hard coded ignore of all zle-* widgets and adds zle-* to the default list of widgets to be ignored. Users who want the plugin to wrap zle-line-init or zle-line-finish can override the default.
This commit is contained in:
parent
15bcfd7126
commit
0d3bbaf8e6
4 changed files with 19 additions and 2 deletions
17
spec/line_init_spec.rb
Normal file
17
spec/line_init_spec.rb
Normal file
|
@ -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
|
|
@ -69,7 +69,6 @@ _zsh_autosuggest_bind_widgets() {
|
||||||
ignore_widgets=(
|
ignore_widgets=(
|
||||||
.\*
|
.\*
|
||||||
_\*
|
_\*
|
||||||
zle-\*
|
|
||||||
autosuggest-\*
|
autosuggest-\*
|
||||||
$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\*
|
$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\*
|
||||||
$ZSH_AUTOSUGGEST_IGNORE_WIDGETS
|
$ZSH_AUTOSUGGEST_IGNORE_WIDGETS
|
||||||
|
|
|
@ -84,6 +84,7 @@ typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig-
|
||||||
which-command
|
which-command
|
||||||
yank
|
yank
|
||||||
yank-pop
|
yank-pop
|
||||||
|
zle-\*
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,6 +110,7 @@ typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig-
|
||||||
which-command
|
which-command
|
||||||
yank
|
yank
|
||||||
yank-pop
|
yank-pop
|
||||||
|
zle-\*
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,7 +199,6 @@ _zsh_autosuggest_bind_widgets() {
|
||||||
ignore_widgets=(
|
ignore_widgets=(
|
||||||
.\*
|
.\*
|
||||||
_\*
|
_\*
|
||||||
zle-\*
|
|
||||||
autosuggest-\*
|
autosuggest-\*
|
||||||
$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\*
|
$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\*
|
||||||
$ZSH_AUTOSUGGEST_IGNORE_WIDGETS
|
$ZSH_AUTOSUGGEST_IGNORE_WIDGETS
|
||||||
|
|
Loading…
Reference in a new issue