Though general in appearance, NEdit-ng has many features intended specifically for programmers. Major programming-related topics are listed in: Syntax Highlighting, Tab Stops/Emulated Tab Stops, Finding Declarations (ctags), Calltips, and Auto/Smart Indent. Minor topics related to programming are discussed below.

Language Modes

When NEdit-ng initially reads a file, it attempts to determine whether the file is in one of the computer languages that it knows about. Knowing what language a file is written in allows NEdit-ng to assign highlight patterns and smart indent macros, and to set language specific preferences like word delimiters, tab emulation, and auto-indent. Language mode can be recognized from both the file name and from the first 200 characters of content. Language mode recognition and language-specific preferences are configured in: Preferences → Default Settings → Language Modes....

You can set the language mode manually for a window, by selecting it from Preferences → Language Mode.

Backlighting

NEdit-ng can be made to set the background color of particular classes of characters to allow easy identification of those characters. This is particularly useful if you need to be able to distinguish between tabs and spaces in a file where the difference is important. The colors used for backlighting are specified in the config.ini file under nedit.backlightCharTypes. You can turn backlighting on and off through Preferences → Apply Backlighting.

If you prefer to have backlighting turned on for all new windows, use Preferences → Default Settings → Apply Backlighting. This setting can be saved along with other preferences using Preferences → Save Defaults.

Line Numbers

To find a particular line in a source file by line number, choose Search → Goto Line Number.... You can also directly select a line number text in a compiler message in your terminal window and choose Search → Goto Selected.

To find out the line number of a particular line in your file, turn on **Preferences → Statistics Line" and position the insertion point anywhere on the line. The statistics line continuously updates the line number of the line containing the cursor.

To go to a specific column on a given line, choose Search → Goto Line Number... and enter a line number and a column number separated by a comma. (e.g. Enter 100,12 for line 100 column 12.) If you want to go to a column on the current line just leave out the line number. (e.g. Enter ,45 to go the column 45 on the current line.)

Matching Parentheses

To help you inspect nested parentheses, brackets, braces, quotes, and other characters, NEdit-ng has both an automatic parenthesis matching mode, and a Goto Matching command. Automatic parenthesis matching is activated when you type, or move the insertion cursor after a parenthesis, bracket, or brace. It momentarily highlights either the opposite character ('Delimiter') or the entire expression ('Range') when the opposite character is visible in the window. To find a matching character anywhere in the file, select it or position the cursor after it, and choose Search → Goto Matching. If the character matches itself, such as a quote or slash, select the first character of the pair. NEdit-ng will match {, (, [, <, ", ', `, /, and \. Holding Shift while typing the accelerator key (Shift + Ctrl + M, by default), will select all of the text between the matching characters.

When syntax highlighting is enabled, the matching routines can optionally make use of the syntax information for improved accuracy. In that case, a brace inside a highlighted string will not match a brace inside a comment, for instance.

Opening Included Files

File → Open Selected understands the C preprocessor's #include syntax, so selecting an #include line and invoking File → Open Selected will often find the file referred to, unless doing so depends on the settings of compiler switches or other information not available to NEdit-ng.

Interface to Programming Tools

Integrated software development environments can be interfaced directly with NEdit-ng via the client server interface. These tools allow you to click directly on compiler and runtime error messages and request NEdit-ng to open files, and select lines of interest. The easiest method is usually to use the tool's interface for character-based editors like vi, to invoke nc-ng, but programmatic interfaces can also be derived using the source code for nc-ng.