Adding it to all text-editing environments could be problematic due to the decrement operator --

Many keyboard layouts for other languages use the right Alt (AltGr) key for less common symbols. Something like AltGr+(-) could work for the em dash.

that is why I said

(display) text inputs

maybe I should have called it "natural language text input"

text inputs for (non NLP) machines are a special case

and for some rare niche edge cases it's not like you can't "undo auto change" (if proper implemented)

still the default for all WYSIWYG editors and text field in browsers should be to do it (with the option to switch it off)

PS: Also in case it isn't clear it's `<(?:\w)>--<(?:\w)>` to `\1<em-dash>\2` auto completion. I.e. `---` for markdown isn't affected, nor is `i--` or `--i` or similar. It kind makes most "programming language" edge cases non problems.