Welcome to Ethea SynEdit for Delphi (VCL)
A syntax highlighting edit control for Delphi VCL, with 63 highlighters, code folding, code completion, search and replace, print, export and spell check
A brief description
SynEdit is an edit control for Delphi that is not based on the Windows common controls: the text is painted by the control itself, so it can show syntax highlighting, a gutter with line numbers and bookmarks, code folding, indent guides, special line colors, multiple carets and much more, with the speed of a native control.
Ethea SynEdit is the version of the library maintained by Ethea S.r.l.: a fork of pyscripter/SynEdit, itself the continuation of TurboPack SynEdit and of the original mwEdit by Martin Waldenburg. The upstream project is no longer maintained, so Ethea keeps its own copy, aligned to pyscripter/SynEdit up to the commit of 25 Nov 2025.
It is a source-only release for Delphi 10.4 to 13, Win32 and Win64, with runtime and design-time packages.
What is in the library
- TSynEdit and TDBSynEdit: the editor and its data-aware version.
- 63 highlighters, a multi highlighter and the SynGen generator to write your own.
- Code completion proposal and auto complete.
- Search and replace engines: plain, regular expression and wildcard.
- Code folding.
- Print and print preview.
- Exporters to HTML, RTF and TeX.
- Spell check with the Windows spell checking API.
- Editing helpers: macro recorder, auto correct, URI opener, Python behaviour.
- Options dialog ready to let your users configure the editor.
- Demos of every feature.
Differences from pyscripter/SynEdit
- All the units use the
SynEdit.unit scope (SynEdit.pasis nowSynEdit.Core.pas), so they never conflict with other SynEdit copies (pyscripter, TurboPack/GetIt) that may be in the search path. - The packages are named
EtheaSynEdit(runtime) anddclEtheaSynEdit(design time), organized per Delphi version inPackages\Delphi10_4,Delphi11,Delphi12andDelphi13. - Ethea additions: the Markdown highlighter,
TSynEditHighlighter.Options, the settings and print dialogs inside the library, and backward-compatibility properties for existing DFMs (FontSmoothing,IndentGuides,Width,IncPaintLockandDecPaintLock).
Class names are unchanged
Only the unit names changed: classes, types and constants keep their names (TSynEdit, TSynEditSearch, ecXxx, TSynSelectionMode...), so the DFMs of your existing applications still load and you only have to change the uses clauses: see Migrating from another SynEdit.
As a consequence Ethea SynEdit cannot be installed in the IDE together with another SynEdit, because the registered classes have the same names.
Origin and credits
Every unit keeps its original MPL/GPL header with the original copyright. The authors and contributors of the SynEdit and mwEdit projects are listed in the file Doc/Contributors.txt.
License
Dual license MPL 1.1 / GPL 2, as the original SynEdit: see the header of each source file and the files LICENSE-MPL-1.1.txt and LICENSE-GPL-2.0.txt in the root of the project.
