PureBasic - Scintilla
Scintilla is a free source code editing component. It comes with complete source code and a license that permits use in any project or product personal or commercial. The license may be viewed here. The source code, as well as the library documentation may be found on the Scintilla Homepage.
From the Scintilla Homepage: As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colors and multiple fonts.
Important: The scintilla license requires that a copyright notice be included in all software that uses it and the license text itself be included in the documentation for the software. So if this library is used in software that is to be made public, the above linked license MUST be included with the software.
PureBasic integrates the Scintilla library with the gadget library, so standard commands like ResizeGadget() or HideGadget() may be used with the scintilla control. Furthermore it provides the ScintillaSendMessage() function to communicate with the control to use its full potential. All structures and constants needed are already defined in PureBasic.