What's the business justification for using "dialog" when the project leader(s) have requested "dialogue", however?
I don't understand how these guys were "deadlocked" for weeks.
So, the traditional CTRL+F, or :%s/dialog/dialogue/g would have resulted in at least some instances of 'dialoguegue' as a result. Yeah, the obvious remedy there is :%s/guegue/gue/g, but that too could lead to unintended results, etc.
Not that I don't agree with the intent of your statement, search and replace across 20k lines of code, over however many files, is likely a more involved process than it sounds like.
Or use variable renaming in an IDE that actually parses the code.
dialog\>
...in other regex systems: dialog\b
"dialog" as part of a variable name with underscores: :%s/dialog_/dialogue_/g
"dialog" as part of a variable name with CamelCase: :%s/\([dD]\)ialog\([A-Z][A-z]*\)/\1ialogue\2/g
You don't need to capture every case in a single regex substitution, you can use a handful to cover pretty much every case though. This sort of change should not take more than a few minutes max of developer time.I don't have experience with them, but I imagine an IDE with refactoring support should make these sort of changes trivial.