januththedev
### Description `Text.highlight_words()` treats an empty word iterable as an empty regular expression. Python's regex engine then finds zero-width matches at every character boundary, so the method reports false matches and appends zero-length spans. ### Steps to reproduce ```python from rich.text import Text text = Text("abc") count = text.highlight_words([], "red") assert count == 0 assert text._spans == [] ``` ### Expected behavior An empty word list should be a no-op and return `0`. ### Actual behavior The current implementation builds `re_words = ""` and `re.finditer("", "abc")` yields four zero-width matches. `highlight_words()` returns `4` and appends four zero-length spans. The implementation is in `rich/text.py`, and existing tests only cover non-empty word iterables. I searched existing issues and pull requests for `highlight_words([])` and did not find a matching report. Would maintainers accept a small guard for an empty word iterable plus a regression test? The repository's contribution guide requires tests and a changelog entry for a bug fix.