It's a great package, but it does something silly: it changes the actual face on matched regions of the buffer. It should just add overlays. The code should get simpler, including removing the overlays when you un-highlight matches, because that's just `(mapcat #'delete-overlay existing-overlays)`.

Does anyone want to take the challenge and make this package perfect? I'm willing to volunteer my time to do it, except I have absolutely no idea what I'm doing, I don't know elisp, I'm a terrible programmer, and I'm almost guaranteed to just make things worse instead of better.

-Steven