Scintilla and SciTE

Bugs and To Do List

Scintilla Bugs

At the end of italics style runs characters can be chopped off. An example is using Verdana 12 point italics for strings makes an ending double quote half visible and an ending single quote invisible. This is hard to solve completely, may be better to avoid these situations by, for example, choosing a font like Times New Roman for strings.

Dragging over bold text in some fonts will ripple because of the difference in size between drawing all of a string at once and drawing it in parts.

SciTE Bugs

There has been a report of SciTE exiting as soon as the mouse is moved over it when launched Start | Run. I have seen this once but can not find a way to reproduce it.

Windows Version Bugs

No memory for input fields in find and replace dialogs.

GTK+ Version Bugs

Clipboard and drag & drop operations are not always compatible with some other programs such as xterm.

No DBCS support.

Scintilla To Do

Columnar selection.

Simple pattern based styling.

Performance.

Line wrapping.

Different height lines based upon tallest text on the line rather than on the tallest style possible.

Change cursor over selection and margin.

Printing support on GTK+. Maybe Postscript output or use Gnome?

Control character display. Possibly boxes with acronyms, similar to [ESC][NAK].

Unicode (UCS2)

SciTE To Do

Remember last chosen items as defaults such as the file type in the open file dialog.

Regular expressions in find functions.

Support simple auto-completion / call tips.

Smart indenting, based on the file syntax.

Bracket matching.

Printing support.

Directions

The main point of this development is Scintilla, and this is where most effort will go. SciTE will get new features, but only when they make my life easier - I am not intending to make it grow up to be a huge full-function IDE like Visual Cafe.

If you are interested in contributing code, do not feel any need to make it cross platform. Just code it for your platform and I'll either reimplement for the other platform or ensure that there is no effect on the other platform.