History of Scintilla and SciTE
Contributors
Thanks to all the people that have contributed patches, bug reports and suggestions.
Source code and documentation have been contributed by
-
Atsuo Ishimoto
-
Mark Hammond
-
Francois Le Coguiec
-
Dale Nagata
-
Ralf Reinhardt
-
Philippe Lhoste
-
Andrew McKinlay
-
Stephan R. A. Deibel
-
Hans Eckardt
-
Vassili Bourdo
-
Maksim Lin
-
Robin Dunn
-
John Ehresman
-
Steffen Goeldner
-
Deepak S.
-
Yann Gaillard
-
Aubin Paul
-
Jason Diamond
-
Ahmad Baitalmal
-
Paul Winwood
-
Maxim Baranov
-
Ragnar Højland
-
Christian Obrecht
-
Andreas Neukoetter
-
Adam Gates
-
Steve Lhomme
-
Ferdinand Prantl
-
Jan Dries
-
Markus Gritsch
Sponsorship
Images used in GTK+ version
-
Icons Copyright(C) 1998 by Dean S. Jones
-
Released on 6 September 2000.
-
Scintilla is available as a COM control from the scintillactrl module in CVS.
-
Invisible style setting.
-
SciTE has an extensibility interface that can be used to implement featires such as
a scripting language or remote control. An example
-
Fixes to the perl and PHP lexers.
-
Released on 26 July 2000.
-
Much better support for PHP which is now an integral part of the HTML support.
-
Start replacement of Windows-specific APIs with cross platform APIs.
In 1.30, the new APIs are introduced but the old APIs are still available.
For the GTK+ version, may have to include "WinDefs.h" explicitly to
use the old APIs.
-
"if" and "import" statements in SciTE properties files allows modularisation into
language-specific properties files and choices based upon platform.
This means that SciTE is delivered with 9 language-specific properties files
as well as the standard SciTEGlobal.properties file.
-
Much lower resource usage on Windows 9x.
-
"/p" option in SciTE on Windows for printing a file and then exiting.
-
Options for printing with inverted brightness (when the screen is set to use
a dark background) and to force black on white printing.
-
Option for printing magnified or miniaturised from screen settings.
-
In SciTE, Ctrl+F3 and Ctrl+Shift+F3 find the selection in the forwards and backwards
directions respectively.
-
Auto-completion lists may be set to cancel when the cursor goes before
its start position or before the start of string being completed.
-
Auto-completion lists automatically size more sensibly.
-
SCI_CLEARDOCUMENTSTYLE zeroes all style bytes, ensures all
lines are shown and deletes all folding information.
-
On Windows, auto-completion lists are visually outdented rather than indented.
-
Close all command in SciTE.
-
On Windows multiple files can be dragged into SciTE.
-
When saving a file, the SciTE option save.deletes.first deletes it before doing the save.
This allows saving with a different capitalisation on Windows.
-
When use tabs option is off pressing the tab key inserts spaces.
-
Bug in indicators leading to extra line drawn fixed.
-
Released on 27 June 2000.
-
Fixes crash in indentation guides when indent size set to 0.
-
Fixes to installation on GTK+/Linux. User properties file on GTK+ has a dot at front of name:
.SciTEUser.properties. Global properties file location configurable at compile time
defaulting to $prefix/share/scite. $prefix determined from Gnome if present else its
/usr/local and can be overridden by installer. Gnome menu integration performed in
make install if Gnome present.
-
Released on 23 June 2000.
-
Indentation guides. View whitespace mode may be set to not display whitespace
in indentation.
-
Set methods have corresponding gets for UndoCollection, BufferedDraw,
CodePage, UsePalette, ReadOnly, CaretFore, and ModEventMask.
-
Caret is continuously on rather than blinking while typing or holding down
delete or backspace. And is now always shown if non blinking when focused on GTK+.
-
Bug fixed in SciTE with file extension comparison now done in case insensitive way.
-
Bugs fixed in SciTE's file path handling on Windows.
-
Bug fixed with preprocessor '#' last visible character causing hang.
-
Released on 13 June 2000.
-
Support for the Lua language in both Scintilla and SciTE.
-
Multiple buffers may be open in SciTE.
-
Each style may have a character set configured. This may determine
the characters that are displayed by the style.
-
In the C++ lexer, lexing of preprocessor source may either treat it all as being in
the preprocessor class or only the initial # and preprocessor command word as
being in the preprocessor class.
-
Scintilla provides SCI_CREATEDOCUMENT, SCI_ADDREFDOCUMENT, and
SCI_RELEASEDOCUMENT to make it easier for a container to deal with multiple
documents.
-
GTK+ specific definitions in Scintilla.h were removed to ScintillaWidget.h. All GTK+ clients will need to
#include "ScintillaWidget.h".
-
For GTK+, tools can be executed in the background by setting subsystem to 2.
-
Keys in the properties files are now case sensitive. This leads to a performance increase.
-
Menu to choose which lexer to use on a file.
-
Tab size dialog on Windows.
-
File dialogs enlarged on GTK+.
-
Match Brace command bound to Ctrl+E on both platforms with Ctrl+] a synonym on Windows.
Ctrl+Shift+E is select to matching brace. Brace matching tries to match to either the inside or the
outside, depending on whether the cursor is inside or outside the braces initially.
View End of Line bound to Ctrl+Shift+O.
-
The Home key may be bound to move the caret to either the start of the line or the start of the
text on the line.
-
Visual C++ project file for SciTE.
-
Bug fixed with current x location after Tab key.
-
Bug fixed with hiding fold margin by setting fold.margin.width to 0.
-
Bugs fixed with file name confusion on Windows when long and short names used, or different capitalisations,
or relative paths.
-
Released on 9 May 2000.
-
Some Unicode support on Windows. Treats buffer and API as UTF-8 and displays
through UCS-2 of Windows.
-
Automatic indentation. Indentation size can be different to tab size.
-
Tool bar.
-
Status bar now on Windows as well as GTK+.
-
Input fields in Find and Replace dialogs now have history on both Windows and
GTK+.
-
Auto completion list items may be separated by a chosen character to allow spaces
in items. The selected item may be changed through the API.
-
Horizontal scrollbar can be turned off.
-
Property to remove trailing spaces when saving file.
-
On Windows, changed font size calculation to be more compatible with
other applications.
-
On GTK+, SciTE's global properties files are looked for in the directory specified in the
SCITE_HOME environment variable if it is set. This allows hiding in a dot directory.
-
Keyword lists in SciTE updated for Javascript to include those destined to be used in
the future. IDL includes XPIDL keyords as well as MSIDL keywords.
-
Zoom level can be set and queried through API.
-
New notification sent before insertions and deletions.
-
LaTeX lexer.
-
Fixes to folding including when deletions and additions are performed.
-
Fix for crash with very long lines.
-
Fix to affect all of rectangular selections with deletion and case changing.
-
Removed non-working messages that had been included only for Richedit compatibility.
-
Released on 29 March 2000.
-
Added lexing of IDL based on C++ lexer with extra UUID lexical class.
-
Functions and associated keys for Line Delete, Line Cut, Line Transpose,
Selection Lower Case and Sleection Upper Case.
-
Property setting for SciTE, eol.mode, chooses initial state of line end characters.
-
Fixed bugs in undo history with small almost-contiguous changes being incorrectly coalesced.
-
Fixed bugs with incorrect expansion of ContractionState data structures causing crash.
-
Fixed bugs relating to null fonts.
-
Fixed bugs where recolourisation was not done sometimes when required.
-
Fixed compilation problems with SVector.h.
-
Fixed bad setting of fold points in Python.
-
Released on 21 March 2000.
-
Directory structure to separate on basis of product (Scintilla, SciTE, DMApp)
and environment (Cross-platform, Win32, GTK+).
-
Download packaging to allow download of the source or platform dependent executables.
-
Source code now available from CVS at SourceForge.
-
Very simple Windows-only demonstration application DMApp is available from cvs as dmapp.
-
Lexing functionality may optionally be included in Scintilla rather than be provided by
the container.
-
Set of lexers included is determined at link time by defining which of the Lex* object files
are linked in.
-
On Windows, the SciLexer.DLL extends Scintilla.DLL with the standard lexers.
-
Enhanced HTML lexer styles embedded VBScript and Python.
ASP segments are styled and ASP scripts in Javascript, VBScript and Python are styled.
-
PLSQL and PHP supported.
-
Maximum number of lexical states extended to 128.
-
Lexers may store per line parse state for multiple line features such as ASP script language choice.
-
Lexing API simplified.
-
Project file for Visual C++.
-
Can now cycle through all recent files with Ctrl+Tab in SciTE.
-
Bookmarks in SciTE.
-
Drag and drop copy works when dragging to the edge of the selection.
-
Fixed bug with value sizes in properties file.
-
Fixed bug with last line in properties file not being used.
-
Bug with multiple views of one document fixed.
-
Keypad now works on GTK+.
-
Released on 27 February 2000.
-
wxWindows platform defined.
Implementation for wxWindows will be available separately
from main Scintilla distribution.
-
Line folding in Scintilla.
-
SciTE performs syntax directed folding for C/C++/Java/Javascript and for Python.
-
Optional macro recording support.
-
User properties file (SciTEUser.properties) allows for customisation by the user
that is not overwritten with each installation of SciTE.
-
Python lexer detects and highlights inconsistent indentation.
-
Margin API made more orthogonal.SCI_SETMARGINWIDTH and SCI_SETLINENUMBERWIDTH
are deprecated in favour of this new API.
-
Margins may be made sensitive to forward mouse click events to container.
-
SQL lexer and styles included.
-
Perl lexer handles regular expressions better.
-
Caret policy determines how closely caret is tracked by visible area.
-
New marker shapes: arrow pointing down, plus and minus.
-
Optionally display full path in title rather than just file name.
-
Container is notified when Scintilla gains or loses focus.
-
SciTE handles focus in a more standard way and applies the main
edit commands to the focused pane.
-
Container is notified when Scintilla determines that a line needs to be made visible.
-
Document watchers receive notification when document about to be deleted.
-
Document interface allows access to list of watchers.
-
Line end determined correctly for lines ending with only a '\n'.
-
Search variant that searches form current selection and sets selection.
-
SciTE understands format of diagnostic messages from WScript.
-
SciTE remembers top line of window for each file in MRU list so switching to a recent file
is more likeley to show the same text as when the file was previously visible.
-
Document reference count now initialised correctly.
-
Setting a null document pointer creates an empty document.
-
WM_GETTEXT can no longer overrun buffer.
-
Polygon drawing bug fixed on GTK+.
-
Java and Javascript lexers merged into C++ lexer.
-
C++ lexer indicates unterminated strings by colouring the end of the line
rather than changing the rest of the file to string style. This is less
obtrusive and helps the folding.
-
Released on 2 February 2000.
-
Blank margins on left and right side of text.
-
SCN_CHECKBRACE renamed SCN_UPDATEUI and made more efficient.
-
SciTE source code refactored into platform independent and platform specific classes.
-
XML and Perl subset lexers in SciTE.
-
Large improvement to lexing speed.
-
A new subsystem, 2, allows use of ShellExec on Windows.
-
Borland compatible makefile.
-
Status bar showing caret position in GTK+ version of SciTE.
-
Bug fixes to selection drawing when part of selection outside window, mouse release over
scroll bars, and scroll positioning after deletion.
-
Released on 21 January 2000.
-
Multiple views of one document.
-
Rectangular selection, cut, copy, paste, drag and drop.
-
Long line indication.
-
Reverse searching
-
Line end conversion.
-
Generic autocompletion and calltips in SciTE.
-
Call tip background colour can be set.
-
SCI_MARKERPREV for moving to a previous marker.
-
Caret kept more within window where possible.
-
Released on 15 December 1999.
-
Brace highlighting and badlighting (for mismatched braces).
-
Visible line ends.
-
Multiple line call tips.
-
Printing now works from SciTE on Windows.
-
SciTE has a global "*" lexer style that is used as the basis for all the lexers' styles.
-
Fixes some warnings on GTK+ 1.2.6.
-
Better handling of modal dialogs on GTK+.
-
Resize handle drawn on pane splitter in SciTE on GTK+ so it looks more like a regular GTK+
*paned widget.
-
SciTE does not place window origin offscreen if no properties file found on GTK+.
-
File open filter remembered in SciTE on Windows.
-
New mechanism using style numbers 32 to 36 standardises the setting of styles for brace
highlighting, brace badlighting, line numbers, control characters and the default style.
-
Old messages SCI_SETFORE .. SCI_SETFONT have been replaced by the default style 32. The old
messages are deprecated and will disappear in a future version.
-
Released on 20 November 1999.
-
Fixes a scrolling bug reported on GTK+.
-
Released on 18 November 1999.
-
Fixes compilation problems with the mingw32 GCC 2.95.2 on Windows.
-
Control characters are now visible.
-
Performance has improved, particularly for scrolling.
-
Windows RichEdit emulation is more accurate. This may break client code that uses these
messages: EM_GETLINE, EM_GETLINECOUNT, EM_EXGETSEL, EM_EXSETSEL, EM_EXLINEFROMCHAR,
EM_LINELENGTH, EM_LINEINDEX, EM_CHARFROMPOS, EM_POSFROMCHAR, and EM_GETTEXTRANGE.
-
Menus rearranged and accelerator keys set for all static items.
-
Placement of space indicators in view whitespace mode is more accurate with some fonts.
-
Released on 9 November 1999.
-
Packaging error in 1.11 meant that the compilation error was not fixed in that release.
Linux/GTK+ should compile with GCC 2.95 this time.
-
Released on 7 November 1999.
-
Fixed a compilation bug in ScintillaGTK.cxx.
-
Added a README file to explain how to build.
-
GTK+/Linux downloads now include documentation.
-
Binary only Sc1.EXE one file download for Windows.
-
Released on 6 November 1999.
-
Major restructuring for better modularity and platform independence.
-
Inter-application drag and drop.
-
Printing support in Scintilla on Windows.
-
Styles can select colouring to end of line. This can be used when a file contains more than
one language to differentiate between the areas in each language. An example is the HTML +
JavaScript styling in SciTE.
-
Actions can be grouped in the undo stack, so they will be undone together. This grouping is
hierarchical so higher level actions such as replace all can be undone in one go. Call to
discover whether there are any actions to redo.
-
The set of characters that define words can be changed.
-
Markers now have identifiers and can be found and deleted by their identifier. The empty
marker type can be used to make a marker that is invisible and which is only used to trace
where a particular line moves to.
-
Double click notification.
-
HTML styling in SciTE also styles embedded JavaScript.
-
Additional tool commands can be added to SciTE.
-
SciTE option to allow reloading if changed upon application activation and saving on
application deactivation. Not yet working on GTK+ version.
-
Entry fields in search dialogs remember last 10 user entries. Not working in all cases in
Windows version.
-
SciTE can save a styled copy of the current file in HTML format. As SciTE does not yet
support printing, this can be used to print a file by then using a browser to print the
HTML file.
-
Released on 1 October 1999.
-
GTK+ version compiles with GCC 2.95.
-
Properly deleting objects when window destroyed under GTK+.
-
If the selection is not empty backspace deletes the selection.
-
Some X style middle mouse button handling for copying the primary selection to and from
Scintilla. Does not work in all cases.
-
HTML styling in SciTE.
-
Stopped dirty flag being set in SciTE when results pane modified.
-
Released on 28 September 1999.
-
Better DBCS support on Windows including IME.
-
Wheel mouse support for scrolling and zooming on Windows. Zooming with Ctrl+KeypadPlus and
Ctrl+KeypadMinus.
-
Performance improvements especially on GTK+.
-
Caret blinking and settable colour on both GTK+ and Windows.
-
Drag and drop within a Scintilla window. On Windows, files can be dragged into SciTE.
-
Released on 17 May 1999.
-
Changed name of "Tide" to "SciTE" to avoid clash with a TCL based IDE. "SciTE" is a
SCIntilla based Text Editor and is Latin meaning something like "understanding in a neat
way" and is also an Old English version of the word "shit".
-
There is a SCI_AUTOCSTOPS message for defining a string of characters that will stop
autocompletion mode. Autocompletion mode is cancelled when any cursor movement occurs apart
from backspace.
-
GTK+ version now splits horizontally as well as vertically and all dialogs cancel when the
escape key is pressed.
-
Released on 12 May 1999.
-
A bit more robust than 0.92 and supports SCI_MARKERNEXT message.
-
Released on 11 May 1999.
-
GTK+ version now contains all features of Windows version with some very small differences.
Executing programs works much better now.
-
New palette code to allow more colours to be displayed in 256 colour screen modes. A line
number column can be displayed to the left of the selection margin.
-
The code that maps from line numbers to text positions and back has been completely
rewritten to be faster, and to allow markers to move with the text.
-
Released on 30 April 1999, containing fixes to text measuring to make Scintilla work better
with bitmap fonts. Also some small fixes to make compiling work with Visual C++.
-
Released on 29 April 1999, containing working GTK+/Linux version.
-
The Java, C++ and Python lexers recognise operators as distinct from default allowing them
to be highlighted.
-
Released on 1 April 1999, to fix a problem with handling the Enter key in PythonWin. Also
fixes some problems with cmd key mapping.
-
Released on 30th March 1999, containing bug fixes and a few more features.
-
Static linking supported and Tidy.EXE, a statically linked version of Tide.EXE. Changes to
compiler flags in the makefiles to optimise for size.
-
Scintilla supports a 'savepoint' in the undo stack which can be set by the container when
the document is saved. Notifications are sent to the container when the savepoint is
entered or left, allowing the container to to display a dirty indicator and change its
menues.
-
When Scintilla is set to read-only mode, a notification is sent to the container should the
user try to edit the document. This can be used to check the document out of a version
control system.
-
There is an API for setting the appearence of indicators.
-
The keyboard mapping can be redefined or removed so it can be implemented completely by the
container. All of the keyboard commands are now commands which can be sent by the
container.
-
A home command like Visual C++ with one hit going to the start of the text on the line and
the next going to the left margin is available. I do not personally like this but my
fingers have become trained to it by much repetition.
-
SCI_MARKERDELETEALL has an argument in wParam which is the number of the type marker to
delete with -1 performing the old action of removing all marker types.
-
Tide now understands both the file name and line numbers in error messages in most cases.
-
Tide remembers the current lines of files in the recently used list.
-
Tide has a Find in Files command.
Beta release 0.80
-
This was the first public release on 14th March 1999, containing a mostly working Win32
Scintilla DLL and Tide EXE.
Beta releases of SciTE were called Tide