-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug report] involuntary history filtering possible in combination with zsh-autosuggestions and v5.x #91
Comments
Thanks for the report! I can't replicate the bug. This (as you may know) is called history substring search. Nothing about zsh-abbr or zsh-autosuggestions should give you history substring searching. (I use zsh-abbr and zsh-autosuggestions, and to get history substring searching I additionally use zsh-history-substring-search.) But maybe one of them is! To test the zsh-abbr v5 idea, you can try temporarily downgrading to 4.x. https://zsh-abbr.olets.dev/migrating-between-versions.html#downgrading-v5-to-v4 Looking briefly at your dotfiles, I think zsh-fzf-history-search is a likely suspect. I don't use fzf but my impression is substring matching is one of its selling points. Based on that impression, I'd expect an fzf history search plugin to perform substring history searches. Have you tried removing zsh-fzf-history-search? OMZ also ships with an optional history substring search plugin. I think that plugin isn't enabled in your config, but it's worth double checking. |
I will have look at your suggestions. In the meantime, if you want to play around a "well known bad environment":
all i see is as soon as i upgraded from v4.8.1 to v5.0.1 this behaviour appeared: Commit 399da6dfa72454f79c94c07b99a58a132f985ad2 in my dotfiles worked fine you can even play around with it in the above docker container:
|
Reproduction in docker is A+++ bug reporting! I misunderstood the report. So the first up arrow goes to the last command in history, and subsequent up arrows do history substring search based on that last command in history. Confirmed the behavior and that the only change is the zsh-abbr upgrade, and that removing either zsh-autosuggestions or zsh-abbr resolves it. I've pushed up a new branch for debugging this. Try switching zsh-abbr to the branch |
Hello, I think I am facing the saming issue. And now I am using v4.9.2 for resolving this issue temporarily. [OS] ArchLinux x86_64 |
Thanks for the report @ShangjinTang!
Does this describe your problem? (from my comment above)
|
Yes, this is same as my issue. On Ubuntu 22.04, I rollback to v4.8.2 as version >= v4.8.3 have this issue. |
Has anyone tried
? Instructions for how to do it myself are welcome too. |
Hi sorry, for not coming back to you earlier. I basically just dropped zsh-autosuggestions in my setup and ignored the problem. Anyway, I setup a small container image to reproduce/debug the issue: see README there for instructions. Also during building this, I learned that this seems to be a weird interaction between oh-my-zsh, zsh-autosuggestions and zsh-abbr. Remove any of those components and the issue disappears. It doesn't make debugging easier... The bug also dissapears when using zsh-abbr v4.8.1 as mentioned above. |
no involuntary history filtering, by having abbr-expand-and-accept redefine zle's accept-line [#91]
Fix released in v5.8.0. Excited to close this one out! @hojerst I'm up for adding "bug reporting" and/or "user testing" to your listing in https://zsh-abbr.olets.dev/community/ and https://github.com/olets/zsh-abbr#community if you'd like. Lmk. |
Thanks for fixing the bug! And sure, feel free to update my contributions. I'm not here for the fame, though ;) |
@all-contributors please add @hojerst for bug and userTesting. hojerst I forgot to say: thanks very much for that docker repo. I'm sure I'll use that model for testing zsh bugs in the future! |
Is there an existing issue for this?
Update the issue title
Expected Behavior
When using the arrow keys (up/down) the zsh history should be navigated one entry at a time. If you enter something before pressing
up
/down
, the history is only displaying entries that start with the entered text. same is true when you select a history entry and type something before navigating further.Actual Behavior
When using zsh-abbr v5.0.1 and zsh-autosuggestions v0.7.0 at the same time, the navigation seems the expected behaviour isn't applied anymore. Rather, the history behaves like it is assuming an edit of the command line for every entry. So on first
up
you will navigate to the last entry. on nextup
the history is searched for everything beginning with the current prompt and so on. this essentially breaks the history function of zsh.Steps To Reproduce
ls -AlF
echo hello
ls
up key
-> navigates tols
up key
-> navigates tols -AlF
Environment
Installation method
Manual
Installation method details
direct
source
of the plugin fileshttps://gitlab.com/hojerst/dotfiles/-/blob/main/.config/zsh/.zshrc#L77-96
Anything else?
This is a new behaviour of v5.x. Version 4 worked just fine. zsh-autosuggestions wasn't changed at all.
TBH I don't know if this is actually a bug of zsh-abbr or zsh-autosuggestions or even a weird side effect of combining both. Nevertheless, I just wanted to let you know. :)
The text was updated successfully, but these errors were encountered: