minibuffer completion with prefix and substring matching