| Scintilla and SciTE

## Related Sites

### Ports and Bindings of Scintilla

Jintilla is a JNI wrapper that allows Scintilla to be used in Java with both SWT and AWT.

Delphi Scintilla Interface Components is a FREE collection of components that makes it easy to use the Scintilla source code editing control from within Delphi and C++ Builder.

wxStEdit is a library and sample program that provides extra features over wxStyledTextControl.

CScintillaCtrl, CScintillaView & CScintillaDoc are freeware MFC classes to encapsulate Scintilla.

ScintillaNet is an encapsulation of Scintilla for use within the .NET framework.

QScintilla is a port of Scintilla to the Qt platform. It has a similar license to Qt: GPL for use in free software and commercial for use in close-source applications.

GWindows is a Win32 RAD GUI Framework for Ada 95 that includes a binding of Scintilla.

DolphinScintilla is a DolphinSmalltalk wrapper for Scintilla.

ScintillaVB is an ActiveX control written in VB that encapsulates Scintilla.

FXScintilla is a port of Scintilla to the FOX platform. FXRuby includes Ruby bindings for FXScintilla.

Delphi wrapper for Scintilla which is also usable from Borland C++ Builder.

The wxStyledTextCtrl editor component in the wxWindows cross platform toolkit is based on Scintilla.
A Python binding for wxStyledTextCtrl is part of wxPython.

gtkscintilla is an alternative GTK class implementation for scintilla. This implementation acts more like a Gtk+ object, with many methods rather than just scintilla_send_message() and is available as a shared library. This implementation works with GTK 1.x.

gtkscintilla2 is an alternative GTK class implementation for scintilla similar to the above, but for GTK 2.x.

pyscintilla is the original Python binding for Scintilla's default GTK 1.x class. Includes some additional support, such as native printing on Windows. The binding is hand-written rather than auto-generated from the Scintilla.iface file.

pygtkscintilla is a Python binding for gtk1.x scintilla that uses gtkscintilla instead of the default GTK class.

pyscintilla2 is a Python binding for GTK 2.x scintilla that uses gtkscintilla2.

ScintillaCtrl is an unmaintained ActiveX control wrapper for Scintilla.

### Projects using Scintilla

Notepad++ is a free source code editor under Windows.

Gubed is a cross platform program to debug PHP scripts.

LSW DotNet-Lab is a development environment for the .NET platform.

GLIntercept is an OpenGL function call interceptor that uses SciTE as a run-time shader editor.

Xin is an open-source XML editor for Windows.

wyoEditor is "A nice editor with a well designed and consistent look and feel".

Notepad2 is "Yet another Notepad replacement".

PyCrash Viewer can examine crash dumps of Python programs.

MPT series Wire Analyzers use Scintilla and SciTE.

MyGeneration is a .NET based code generator.

CSSED is a tiny GTK2 CSS editor.

DIDE is a free IDE for the D language on Windows.

IdePS is a free Integrated Development Environment for PostScript

CUTE is a user-friendly source code editor easily extended using Python.

Venis IX, the Visual Environment for NSIS (Nullsoft Scriptable Install System).

MinGW Developer Studio is a simple C/C++ IDE for the MinGW compiler on Windows.

Eric3 is a Python IDE written using PyQt and QScintilla.

TemplateTamer is a tool for development of template based PHP web pages.

SciTE|Flash is a free Scintilla-based ActionScript editor for Windows.

CPPIDE is part of some commercial high-school oriented programming course software.

phpSciTE is a free distribution of SciTE for Windows customised for use with PHP and bundled with a PHP API file and online help.

Instant Source is a commercial tool for looking at the HTML on web sites.

RAD.On++ is a free C++ Rapid Application Developer for Win32.

wxLua is both a binding of the wxWindows classes for Lua and a small IDE that works on Linux and Windows.

wxBasic is an open source Basic interpreter that uses the wxWindows toolkit. A small IDE is under construction.

FreeRIDE will be a cross-platform IDE for the Ruby programming language.

Visual MinGW is an IDE for the MinGW compiler system.This runs on Windows with gcc.

The Wing IDE is a complete integrated development environment for the Python programming language. Available on Intel based Linux and Windows and on MacOS X through XDarwin.

LuaIDE is an IDE for Lua on Windows.

Sphere is 2D RPG engine with a development environment.

Practical Ruby is an IDE for Ruby on Windows.

GNUe is a suite of tools and applications for solving the needs of the enterprise.

SilverCity is a lexing package that can provide lexical analysis for over 20 programming and markup languages.

Php mole is an integrated development enviroment for developing (primarily) web based and phpgtk based applications.

HAP Python Remote Debugger is a Python debugger that can run on one Windows machine debugging a Python program running on either the same or another machine.

pyeditor and wxEditor are scriptable editors implemented in Python. pyeditor is based on GTK+ and the pyscintilla wrapper. wxEditor is based on wxWindows, wxPython and wxStyledTextControl.

Ruby installation that includes SciTE set up for Ruby using an included copy of the "Programming Ruby" book for help.

Interactive LuaSpace Development is a graphical environment for LuaSpace which combines the CORBA platform with the language Lua.

PyCrust is an interactive Python shell based on wxPython.

Black Adder is a Qt based development environment for Python and Ruby.

Komodo is a cross-platform multi-language development environment built as an application of Mozilla.

titmouse is a Lua editor/debugger for Windows. It is available as both a component and an application.

Filerx is a project manager for SciTE on Windows. Open source and includes an implementation of SciTE's Director interface so will be of interest to others wanting to control SciTE.

Anjuta is an open source C/C++ IDE for Linux/GNOME.

Gen<X> is a code generalisation product for Win32 that uses Scintilla in the X-Code Editor (which can also be used for general purpose editing) and for editing HTML in the HTML Dialog Editor.

Moleskine is a Scintilla based editor for GTK+. More ambitious than SciTE with plans for MDI, printing, and session management. Includes a new GTK+ wrapper widget for Scintilla.

A version of SciTE for Win32 enhanced with a tab control to allow easy movement between buffers. Go to the "Goodies" area on this site.

Suneido is an integrated application platform currently available for Win32 that includes an object-oriented language, client-server database, and user interface and reporting frameworks.

BitLeaf is a new GNOME based development environment. Currently at an early stage of development.

Agast is an authoring system for adventure games which includes a customised version of SciTE.

SashXB for Linux is an open source application development tool by IBM that uses Scintilla.

Boa Constructor is a RAD GUI Building IDE for the wxWindows cross platform platform. Written using wxPython with the wxStyledTextCtrl used as its editor.

PythonWin, a Win32 IDE for Python, uses Scintilla for both its editing and interactive windows.

### Editing Components

GtkSourceView is a text widget that extends the standard GTK+ 2.x text widget and improves it by implementing syntax highlighting and other features typical of a source editor.

AEditor is a free source code editing component implemented in Ruby.

SyntaxEditor is a commercial native .Net source code editing component.

jEdit is a good Open Source syntax colouring editor written in and for Java.

GTK+, the GIMP Toolkit, contains a rich text editing widget.
Gedit is an editor for GTK+/GNOME.

CodeGuru has source code for several Win32 MFC based editors.

SynEdit is a Win32 edit control written in Delphi.

SourceView is a commercial editing component for Win32.

### Documents

The Craft of Text Editing describes how EMACS works, Craig A. Finseth

Span Tables are another data structure that can be used to represent documents in memory in a way that performs well when data is inserted and deleted, James Brown

Data Structures in a Bit-Mapped Text Editor, Wilfred J. Hanson, Byte January 1987

Text Editors: Algorithms and Architectures, Ray Valdés, Dr. Dobbs Journal April 1993

Macintosh User Interface Guidelines and TextEdit chapters of Inside Macintosh

### Development Tools

Scintilla and SciTE were developed using the Mingw version of GCC.

AStyle is a source code formatter for C++ and Java code. SciTE has an Indent command defined for .cxx files that uses AStyle.

WinMerge is an interactive diff / merge for Windows. I prefer code submissions in the form of source files rather than diffs and then run WinMerge over the files to work out how to merge.

Python is my favourite programming language. Scintilla was started after I tried to improve the editor built into PythonWin, but was frustrated by the limitations of the Windows Richedit control which PythonWin used.

regex is a public domain implementation of regular expression pattern matching used in Scintilla.

Inspirational coding soundscapes by David Bridie.

Get away from hacking without any of that tedious standing up bother: Virtually There ;).