I would actually love a regexp search-and-replace assisted by either TreeSitter or LSP.
Something that lets me say that I want to replace “Dog\(.*\)” with “Wolf\1”, but where each substitution is performed only within single “symbols” as identified by TS or LSP.
Some language servers support modifying the symbols in contexts like docstrings as well.