transformation – Reading or merging the contents of another text file into the file currently being edited. Some text editors provide a way to insert the output of a command issued to the operating system's shell. Also, a case-shifting feature could translate to lowercase or uppercase. Filtering – Some advanced text editors allow the editor to send all or sections of the file being edited to another utility and read the result back into the file in place of the lines being "filtered". This, for example, is useful for sorting a series of lines alphabetically or numerically, doing mathematical computations, indenting source code, and so on. Syntax highlighting – contextually highlights source code, markup languages, config files and other text that appears in an organized or predictable format. Editors generally allow users to customize the colors or styles used for each language element. Some text editors also allow users to install and use themes to change the look and feel of the editor's entire user interface. Syntax-oriented editors - some editors have support for the syntax of one or more languages, and allow operations in terms of syntactical unit, e.g., insert a new WHEN clause in a SELECT statement. Extensibility - a text editor intended for use by programmers must provide some plugin mechanism, or be scriptable, so a programmer can customize the editor with features needed to manage individual software projects, customize functionality or key bindings for specific programming languages or version control systems, or conform to specific coding styles. Cursor navigation may vary across text editors. For example, pressing End twice may navigate to the end of a wrapped line after one press navigated to the end of an on-screen row of text. Block-oriented terminals typically have dedicated cursor movement keys, as do keyboards on personal computers. Command line - some editors, e.g., ISPF, XEDIT, have a dedicated field on the screen for entering commands as opposed to text. Depending on the editor, the user may have to use cursor keys to switch between the command and text fields or the editor may interpret, e.g., specific function keys , as requests to switch. Line commands, also known as prefix commands or sequence commands - Some editors treat a file as an array of text lines with associated line numbers or sequence numbers, and have a distinct line number field for each text field. A line command is a