Need much more on history
Brace matching is very old (~25 years), predating C++, Java, or IDEs, and this article needs a lot more discussion of that. Some of the things I remember which would be worthy of inclusion:
- Not just a feature of IDE's; many plain text editors could also do this.
- emacs (and its many variants and clones) have had brace/parenthesis matching since the early 1980s. As this predated most color displays, it did this at least three different ways (that I've seen); by highlighting the matching brace in reverse text; by momentarily "flashing" the cursor over the matching brace; and when the matching brace is more than a screen-full away by showing the line containing the matching brace in the editor's status line. It also has a lot of navigation support, moving the cursor between matching braces, narrowing the view to include just the portion inside a set of matching braces, outline modes where text inside matching braces is collapsed.
- The lisp machine text editor would indicate matching parenthesis (which is arguably a much more important editing problem in Lisp than in nearly any other language) by underlining the region of text between the matching braces indicated by your cursor position.
- "electric braces", a feature of emacs but which I believe some other editors also emulated, in which mismatched braces were either highlighted or automatically corrected, as well as fixing indentation based on brace nesting.
Implementation on Mediawiki
I removed the controversy section because I didn't feel it was relevant to this article. That topic is already covered in other articles, such as in Off-side rule and Curly bracket programming language. -- Dmeranda (talk) 04:41, 11 March 2008 (UTC)
I have always seen and heard this referred to as "bracket matching" (e.g. jEdit: documentation). This makes more sense to me, because "bracket" is the more generic term: it can refer to round, square or curly brackets. "Brace", on the other hand, is used to refer only to curly brackets.