Scintilla & SciTE Site Scintilla & SciTE Page

You should find here some infos about SciTE (patches, wishlist, etc.).

What it SciTE?

It is a syntax highlighting open-source text editor, based on the open-source Scintilla text editor component.
Both are made by Neil Hogdson, and is available at the Scintilla site.
I am a contributor to this project, helping to improve it.

My set of properties:

Here is the current set of properties I use.

You may wonder why I give it, as it is a quite personal in the choice of colors and fonts.
Well, I like to think of it as a skin. People like to share their skins for WinAMP or Sonique, I like to share my choice of fonts (for Windows) and colors, thinking than you can find them attractive, or take them as a base of customisation of the base (official) set of properties.
I didn't included in this file the .properties files I didn't changed (ie. I don't use).
Plus I added some interesting techniques:

Planned improvements:

Patches:

I provided numerous patches to SciTE, for information, I list here a short description of my improvements, from latest to most recent. I no longer list bug fixes and internal patches here.
I also give here some tips on the patches I made, and some planned improvements, as a reminder...

- Status bar: when clicking on the status bar, SciTE will change the current status bar line.
  These lines can be customized in the .properties file.
- Improved Find and Replace dialogs, adding numerous options (checkboxes) and a Replace in Selection button.
  I felt the user can express general preferences, while keeping the choice of changing these
  preference on case by case basis.
  The escapes (unSlash member) allows the Windows user to keep this useful feature while being
  able to find paths without changing a setting back and forth in a file...
  When a search isn't successful when reaching a limit (beginning or end of file), SciTE searches again
  on the remainder of the file. nowrap allows to ask to stop on limits.
  Among other things, this allows to copy a set of lines, and replace (with Replace All) a specific string
  only in the new lines. I do this all the time, and it is frustrating to have to acknowledge all the
  Replaces to avoid changing the lines above...
  I also added a Replace in Selection button in the Replace dialog, allowing, for example, to select
  a function and as to change a variable name without touching the other functions.
  In other words, it does a Replace All in the bounds defined by the current selection.
- Support of preprocessor condition jumps.
  Like in Visual Studio, if you are on a conditional preprocessor line (#if #if[n]def #else #elif #end for C),
  you can jump to the previous / next corresponding one (taking in account the embedded ones)
  by hitting Ctrl+J and Ctrl+K.
- Added WinHelp subsystem:
command.help.$(file.patterns.cpp)=$(CurrentWord)!I:\msvc\help\win31wh.hlp
command.help.subsystem.$(file.patterns.cpp)=5
  I still do occasional Win16 coding at work, and some API are distributed in this form anyway.
- Improved printing: you can specify default margins, and now SciTE prints headers and footers on each page.
- A visual hint that Find has restarted at the beginning of the file (to avoid searching the same
  stuff again and again...). Currently flash briefly the Scintilla window and beep... Same for bookmarks.
- Added lot of keyboard shortcuts.

- Open selected filename: Ctrl+Shift+O
Click on a file name, hit Ctrl+Shift+O or choose the menu item, and the file will be opened
if it is in the same directory as the current file.
* Bonus: if you are in a properties file, the .properties extension is automatically appended.
Now, you can fully edit the SciTE properties, even the included ones, without searching them. Enjoy!
* Other bonus: if the filename have a path, it will be opened with this path, either absolute,
or relative to the current file, depending on the path style of course.
* Restriction: the path cannot have spaces in it, nor some special characters. Those are
rarely used in source files anyway, and if needed, you can still select the whole path manually.
* Other bonus: if the path is followed by either a '(' or a ':' character (Visual Studio error,
grep -n result or perhaps gcc error), SciTE will jump to this line.
I first coded this before I found it was implemented in the Output window. Then I remove it,
and in an after thought, I added it again, because you can have a result file in the main window.
Currenly, I do only a limited set of message parsing, because I can't know which format is
used, and because spaces are not included. The second limit can be overridden, though.
* Last bonus: I support the Darren Hiebert's Exuberant Ctags (http://home.hiwaay.net/~darren/ctags/index.html),
and perhaps the standard ctags too.
It is a cross-reference, using search patterns instead of absolute line numbers, so it will be less
likely to become obsolete...
That means that if the file name is followed by a tab and "/^", if I can find "$/" before the end
of the line, then SciTE will do a search for the string enclosed between those two marks
(currently not testing the beginning and end of line as it should. We will see this when Find will
support regular expressions...).
* Planned extension: add a list of relative paths to search (.;..;../include;include) in the properties
file (best in a local one).
* Other extension: automatically identify a Ctags file (or allow to load it in a special buffer), and
automatically jump to the definition/declaration of a selected global identifier
(function/variable/define, etc.) with a shortcut. If ambiguity, list alternatives in a listbox.
Currently, you must copy the identifier name, select the Ctags file, find the identifier in it,
click on the filename and do an Open selected filename...

Go to main page. Contact me, comment this

Created: 2002?
Updated: ? (Minor update (links): 2004/05/09)