Vcomplete provides a minor mode which highlights the completion at point the completion list buffer and (optionally) automatically updates it. It builds upon the default completion system, instead of replacing it. As such, it works both when completing in a minibuffer and in normal buffers.