A SyntaxAwareEditor is a language editor that helps the user to create syntactically (and sometimes semantically) correct text by presenting relevant information related to the language syntax. The simplest form of this is syntax highlighting. The editor uses knowledge of the language grammar to distinguish keywords, control structures, identifiers and other language elements by colour and/or font. Editors like EmacsEditor or an IntegratedDevelopmentEnvironment like VisualStudio and EclipseIde use knowledge of the language grammar plus information about class and method definitions and library source code to provide syntax highlighting, context-sensitive documentation, and context-sensitive menus of pre-selected correct identifiers or language constructs. These are displayed via pop-up menus and/or dialogue boxes whilst the user edits the language text.