zsh-users / zsh-history-substring-search

🐠 ZSH port of Fish history search (up arrow)
2.61k stars 156 forks source link

Fix compatibility with latest zsh-syntax-highlighting (zle-line-pre-redraw) and use memo= feature #135

Closed jirutka closed 1 year ago

jirutka commented 2 years ago

Use SPDX snippet tags instead of copy-pasting full license text

Based on spdx/spdx-spec#719

Fix compatibility with latest zsh-syntax-highlighting

zsh-syntax-highlighting started using zle-line-pre-redraw hook instead of the legacy "bind all widgets" if 1) zsh has the memo= feature (added in version 5.9) and 2) add-zle-hook-widget is available.

Now when zsh-history-substring-search is loaded before zsh-syntax-highlighting, it causes error:

_zsh_highlight_widget_zle-line-pre-redraw: job table full or recursion limit exceeded

See zsh-users/zsh-syntax-highlighting#749

Use new zsh 'memo=' feature to improve interoperability with others

See zsh-users/zsh-syntax-highlighting@810c2dc

I'm not sure if it should be used even in our dummy _zsh_highlight or not and, to be honest, I couldn't figure out why is this dummy _zsh_highlight needed at all, so I left it unchanged.

danielshahaf commented 1 year ago

I'm not sure if it should be used even in our dummy _zsh_highlight or not and, to be honest, I couldn't figure out why is this dummy _zsh_highlight needed at all, so I left it unchanged.

z-sy-h maintainer here. If that function can be removed, please remove it. It's a namespace violation. Thanks.

iloveitaly commented 1 year ago

This fixed an issue for me where WORDCHARS and word style selection was not being respected.

guidovansteen commented 1 year ago

Thanks a lot for this PR!