For bash users who are tempted by zsh interactive "fuzzy" completion, here's my take on it: it's directory-aware (offering different suggestions based on your history of commands in that given directory), pure bash code using sqlite to store data: https://github.com/csdvrx/bash-timestamping-sqlite
The only other dependency is fzy for fuzzy matching.
Nice, there's also ble.sh -- a bash replacement of readline that has zsh/fish-like syntax colors and completion. It is actively developed and the maintainer has implemented 2 features I've requested in a matter of hours.
If you want to check it out: https://github.com/akinomyoga/ble.sh
(Still, I personally believe these features are overrated and don't actually bring in more usability or comfort to the command line experience. For instance, ctrl+r kills the need for suggestions and instead of selecting files scrolling through them with your fingers, you can select them using your eyes?)