Syntax highlighting
Encyclopedia : S : SY : SYN : Syntax highlighting
- You may be looking for [Text editor support Syntax highlighting for Mediawiki markup]
Syntax highlighting is a feature of some text editors that displays text—especially source code—in different colors and fonts according to the category of terms. This feature eases writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Some editors also use syntax highlighting as part of an integrated spell checking feature.
When looking at pages and pages of code, syntax highlighting greatly improves the readability and context of the text. The reader can automatically ignore large sections of comments or code, depending on what one desires.
Syntax highlighting also helps programmers find errors in their program. Often, most editors highlight string literals in a different color and so one is able to see if they have left out a closing quotation mark just by looking at the color of the text. Brace matching is another important feature with many popular editors being able to match up pairs of braces (by highlighting the pair in a different color). This makes it simple to see if a brace has been left out or where the closing brace is.
Users can specify the language of the text, such as C, LaTeX, HTML, or the text editor can automatically recognize it based on the file extension.
Most editors with syntax highlighting allow different colors and text styles to be given to dozens of different syntactic categories. Programmers will often heavily customize their settings in an attempt to show as much useful information as possible without making the code difficult to read.
Some text editors can also export the color markup in a format that is suitable for printing or for importing into word-processing and/or text-formatting software; for instance Vim has the command "Convert to HTML" that generates an HTML version of its syntax highlighting.
Example
Below is a snippet of C++ code which the editor has automatically highlighted based on the syntax:
// Allocate all the windows for (int i = 0; i < max; i++)In this example, the editor has recognized the keywords
for, int, and new. It recognized the variable names i, wins, and max and highlighted them accordingly. The comment before the code is also highlighted in a specific manner to distinguish it from working code.Limitations
Since most text editors highlight syntax based on complex pattern matching heuristics rather than actually implementing a parser for each possible language, which would be prohibitively complex, the highlighting can never be one hundred percent accurate. In addition, due to the nature of pattern matching the highlighting "engine" can become very slow for certain types of language structures. Vim overcomes this problem by not always parsing the whole file but rather just the visible area, sometimes scanning backwards in the text up to a limited number of lines for "syncing."
See also
- Comparison of text editors for a list of some editors that have syntax highlighting.
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
