Migrating from another SynEdit
Applications written for pyscripter/TurboPack SynEdit only need the new unit names: classes, types and constants are unchanged, so the DFMs keep working.
The naming rule
| Original | Ethea SynEdit | Example |
|---|---|---|
SynEdit.pas (main unit) | SynEdit.Core | TSynEdit, TCustomSynEdit |
SynHighlighterXxx | SynEdit.Highlighter.Xxx | SynEdit.Highlighter.Pas |
SynEditXxx | SynEdit.Xxx | SynEdit.Types, SynEdit.Highlighter |
SynXxx | SynEdit.Xxx | SynEdit.CompletionProposal, SynEdit.Unicode |
dlgXxx | SynEdit.dlgXxx | SynEdit.dlgSearchText |
SynEdit.inc, SynEditJedi.inc | SynEdit.Defines.inc, SynEdit.Jedi.inc |
Exception: SynHighlighterAsm is SynEdit.Highlighter.Assembler (Asm is a reserved word and cannot be a unit name segment in the contains clause of a package).
Two ways to migrate
1. The migration script
python Tools\SynEditRename.py migrate <project folder> --applyWithout --apply the script only shows what it would change (dry-run). It updates:
- the
usesclauses and the{$I}directives; - the
containsandrequiresclauses of the.dpkfiles; - the
DCCReferenceitems of the.dprojfiles; - the names of the runtime packages.
It changes only what is certainly a unit name, and reports (file and line) what must be fixed by hand: qualified references such as SynEditTypes.TBufferCoord, and string literals with old names. In client code SynEdit is often a variable name, so it is never replaced blindly.
Other commands: python Tools\SynEditRename.py list prints the table of the names, python Tools\SynEditRename.py aliases prints the value for the Unit aliases option.
2. Unit aliases
In Project Options > Delphi Compiler > Unit aliases paste the output of python Tools\SynEditRename.py aliases: the old names are resolved to the new units without touching the source code.
Behavior changes inherited from upstream
After July 2025 pyscripter/SynEdit moved some declarations:
- the types that were in
SynEditare now inSynEdit.Types; TSynEditorOptionsContainermoved fromSynEditOptionsDialogtoSynEdit.MiscClasses.
IncPaintLock and DecPaintLock are kept as aliases of BeginUpdate and EndUpdate.
Old and new unit names
The complete table is in the file Tools\SynEditRenames.json.
| Old unit | New unit |
|---|---|
dlgConfirmReplace | SynEdit.dlgConfirmReplace |
dlgReplaceText | SynEdit.dlgReplaceText |
dlgSearchText | SynEdit.dlgSearchText |
DPageSetup | SynEdit.DPageSetup |
FSynHighlightProp | SynEdit.FHighlightProp |
FTestPrintPreview | SynEdit.FTestPrintPreview |
SynAccessibility | SynEdit.Accessibility |
SynAutoCorrect | SynEdit.AutoCorrect |
SynAutoCorrectEditor | SynEdit.AutoCorrectEditor |
SynCompletionProposal | SynEdit.CompletionProposal |
SynDBEdit | SynEdit.DBEdit |
SynDWrite | SynEdit.DWrite |
SynEdit | SynEdit.Core |
SynEditActionsResource | SynEdit.ActionsResource |
SynEditCodeFolding | SynEdit.CodeFolding |
SynEditDataObject | SynEdit.DataObject |
SynEditDragDrop | SynEdit.DragDrop |
SynEditExport | SynEdit.Export |
SynEditHighlighter | SynEdit.Highlighter |
SynEditHighlighterOptions | SynEdit.HighlighterOptions |
SynEditKbdHandler | SynEdit.KbdHandler |
SynEditKeyCmdEditor | SynEdit.KeyCmdEditor |
SynEditKeyCmds | SynEdit.KeyCmds |
SynEditKeyCmdsEditor | SynEdit.KeyCmdsEditor |
SynEditKeyConst | SynEdit.KeyConst |
SynEditMiscClasses | SynEdit.MiscClasses |
SynEditMiscProcs | SynEdit.MiscProcs |
SynEditOptionsDialog | SynEdit.OptionsDialog |
SynEditPlugins | SynEdit.Plugins |
SynEditPrint | SynEdit.Print |
SynEditPrinterInfo | SynEdit.PrinterInfo |
SynEditPrintHeaderFooter | SynEdit.PrintHeaderFooter |
SynEditPrintMargins | SynEdit.PrintMargins |
SynEditPrintMarginsDialog | SynEdit.PrintMarginsDialog |
SynEditPrintPreview | SynEdit.PrintPreview |
SynEditPrintTypes | SynEdit.PrintTypes |
SynEditPropertyReg | SynEdit.PropertyReg |
SynEditPythonBehaviour | SynEdit.PythonBehaviour |
SynEditReg | SynEdit.Reg |
SynEditRegexSearch | SynEdit.RegexSearch |
SynEditScrollBars | SynEdit.ScrollBars |
SynEditSearch | SynEdit.Search |
SynEditStrConst | SynEdit.StrConst |
SynEditTextBuffer | SynEdit.TextBuffer |
SynEditTypes | SynEdit.Types |
SynEditUndo | SynEdit.Undo |
SynEditWildcardSearch | SynEdit.WildcardSearch |
SynEditWordWrap | SynEdit.WordWrap |
SynExportHTML | SynEdit.ExportHTML |
SynExportRTF | SynEdit.ExportRTF |
SynExportTeX | SynEdit.ExportTeX |
SynHighlighterADSP21xx | SynEdit.Highlighter.ADSP21xx |
SynHighlighterAsm | SynEdit.Highlighter.Assembler |
SynHighlighterAWK | SynEdit.Highlighter.AWK |
SynHighlighterBaan | SynEdit.Highlighter.Baan |
SynHighlighterBat | SynEdit.Highlighter.Bat |
SynHighlighterCAC | SynEdit.Highlighter.CAC |
SynHighlighterCache | SynEdit.Highlighter.Cache |
SynHighlighterCobol | SynEdit.Highlighter.Cobol |
SynHighlighterCPM | SynEdit.Highlighter.CPM |
SynHighlighterCpp | SynEdit.Highlighter.Cpp |
SynHighlighterCS | SynEdit.Highlighter.CS |
SynHighlighterCss | SynEdit.Highlighter.Css |
SynHighlighterDfm | SynEdit.Highlighter.Dfm |
SynHighlighterDml | SynEdit.Highlighter.Dml |
SynHighlighterDOT | SynEdit.Highlighter.DOT |
SynHighlighterDWS | SynEdit.Highlighter.DWS |
SynHighlighterEiffel | SynEdit.Highlighter.Eiffel |
SynHighlighterFortran | SynEdit.Highlighter.Fortran |
SynHighlighterFoxpro | SynEdit.Highlighter.Foxpro |
SynHighlighterGalaxy | SynEdit.Highlighter.Galaxy |
SynHighlighterGeneral | SynEdit.Highlighter.General |
SynHighlighterGWS | SynEdit.Highlighter.GWS |
SynHighlighterHaskell | SynEdit.Highlighter.Haskell |
SynHighlighterHC11 | SynEdit.Highlighter.HC11 |
SynHighlighterHP48 | SynEdit.Highlighter.HP48 |
SynHighlighterHtml | SynEdit.Highlighter.Html |
SynHighlighterIDL | SynEdit.Highlighter.IDL |
SynHighlighterIni | SynEdit.Highlighter.Ini |
SynHighlighterInno | SynEdit.Highlighter.Inno |
SynHighlighterJava | SynEdit.Highlighter.Java |
SynHighlighterJScript | SynEdit.Highlighter.JScript |
SynHighlighterJSON | SynEdit.Highlighter.JSON |
SynHighlighterKix | SynEdit.Highlighter.Kix |
SynHighlighterLDraw | SynEdit.Highlighter.LDraw |
SynHighlighterLLVM | SynEdit.Highlighter.LLVM |
SynHighlighterM3 | SynEdit.Highlighter.M3 |
SynHighlighterManager | SynEdit.Highlighter.Manager |
SynHighlighterMarkdown | SynEdit.Highlighter.Markdown |
SynHighlighterModelica | SynEdit.Highlighter.Modelica |
SynHighlighterMsg | SynEdit.Highlighter.Msg |
SynHighlighterMulti | SynEdit.Highlighter.Multi |
SynHighlighterOmni | SynEdit.Highlighter.Omni |
SynHighlighterPas | SynEdit.Highlighter.Pas |
SynHighlighterPerl | SynEdit.Highlighter.Perl |
SynHighlighterPHP | SynEdit.Highlighter.PHP |
SynHighlighterProgress | SynEdit.Highlighter.Progress |
SynHighlighterPython | SynEdit.Highlighter.Python |
SynHighlighterRC | SynEdit.Highlighter.RC |
SynHighlighterRexx | SynEdit.Highlighter.Rexx |
SynHighlighterRuby | SynEdit.Highlighter.Ruby |
SynHighlighterSDD | SynEdit.Highlighter.SDD |
SynHighlighterSml | SynEdit.Highlighter.Sml |
SynHighlighterSQL | SynEdit.Highlighter.SQL |
SynHighlighterST | SynEdit.Highlighter.ST |
SynHighlighterTclTk | SynEdit.Highlighter.TclTk |
SynHighlighterTeX | SynEdit.Highlighter.TeX |
SynHighlighterUNIXShellScript | SynEdit.Highlighter.UNIXShellScript |
SynHighlighterUnreal | SynEdit.Highlighter.Unreal |
SynHighlighterURI | SynEdit.Highlighter.URI |
SynHighlighterVB | SynEdit.Highlighter.VB |
SynHighlighterVBScript | SynEdit.Highlighter.VBScript |
SynHighlighterVrml97 | SynEdit.Highlighter.Vrml97 |
SynHighlighterWebIDL | SynEdit.Highlighter.WebIDL |
SynHighlighterXML | SynEdit.Highlighter.XML |
SynHighlighterYAML | SynEdit.Highlighter.YAML |
SynMacroRecorder | SynEdit.MacroRecorder |
SynOmniSetupDialog | SynEdit.OmniSetupDialog |
SynSpellCheck | SynEdit.SpellCheck |
SynUnicode | SynEdit.Unicode |
SynURIOpener | SynEdit.URIOpener |
