Skip to content

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 ​

OriginalEthea SynEditExample
SynEdit.pas (main unit)SynEdit.CoreTSynEdit, TCustomSynEdit
SynHighlighterXxxSynEdit.Highlighter.XxxSynEdit.Highlighter.Pas
SynEditXxxSynEdit.XxxSynEdit.Types, SynEdit.Highlighter
SynXxxSynEdit.XxxSynEdit.CompletionProposal, SynEdit.Unicode
dlgXxxSynEdit.dlgXxxSynEdit.dlgSearchText
SynEdit.inc, SynEditJedi.incSynEdit.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 ​

cmd
python Tools\SynEditRename.py migrate <project folder> --apply

Without --apply the script only shows what it would change (dry-run). It updates:

  • the uses clauses and the {$I} directives;
  • the contains and requires clauses of the .dpk files;
  • the DCCReference items of the .dproj files;
  • 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 SynEdit are now in SynEdit.Types;
  • TSynEditorOptionsContainer moved from SynEditOptionsDialog to SynEdit.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 unitNew unit
dlgConfirmReplaceSynEdit.dlgConfirmReplace
dlgReplaceTextSynEdit.dlgReplaceText
dlgSearchTextSynEdit.dlgSearchText
DPageSetupSynEdit.DPageSetup
FSynHighlightPropSynEdit.FHighlightProp
FTestPrintPreviewSynEdit.FTestPrintPreview
SynAccessibilitySynEdit.Accessibility
SynAutoCorrectSynEdit.AutoCorrect
SynAutoCorrectEditorSynEdit.AutoCorrectEditor
SynCompletionProposalSynEdit.CompletionProposal
SynDBEditSynEdit.DBEdit
SynDWriteSynEdit.DWrite
SynEditSynEdit.Core
SynEditActionsResourceSynEdit.ActionsResource
SynEditCodeFoldingSynEdit.CodeFolding
SynEditDataObjectSynEdit.DataObject
SynEditDragDropSynEdit.DragDrop
SynEditExportSynEdit.Export
SynEditHighlighterSynEdit.Highlighter
SynEditHighlighterOptionsSynEdit.HighlighterOptions
SynEditKbdHandlerSynEdit.KbdHandler
SynEditKeyCmdEditorSynEdit.KeyCmdEditor
SynEditKeyCmdsSynEdit.KeyCmds
SynEditKeyCmdsEditorSynEdit.KeyCmdsEditor
SynEditKeyConstSynEdit.KeyConst
SynEditMiscClassesSynEdit.MiscClasses
SynEditMiscProcsSynEdit.MiscProcs
SynEditOptionsDialogSynEdit.OptionsDialog
SynEditPluginsSynEdit.Plugins
SynEditPrintSynEdit.Print
SynEditPrinterInfoSynEdit.PrinterInfo
SynEditPrintHeaderFooterSynEdit.PrintHeaderFooter
SynEditPrintMarginsSynEdit.PrintMargins
SynEditPrintMarginsDialogSynEdit.PrintMarginsDialog
SynEditPrintPreviewSynEdit.PrintPreview
SynEditPrintTypesSynEdit.PrintTypes
SynEditPropertyRegSynEdit.PropertyReg
SynEditPythonBehaviourSynEdit.PythonBehaviour
SynEditRegSynEdit.Reg
SynEditRegexSearchSynEdit.RegexSearch
SynEditScrollBarsSynEdit.ScrollBars
SynEditSearchSynEdit.Search
SynEditStrConstSynEdit.StrConst
SynEditTextBufferSynEdit.TextBuffer
SynEditTypesSynEdit.Types
SynEditUndoSynEdit.Undo
SynEditWildcardSearchSynEdit.WildcardSearch
SynEditWordWrapSynEdit.WordWrap
SynExportHTMLSynEdit.ExportHTML
SynExportRTFSynEdit.ExportRTF
SynExportTeXSynEdit.ExportTeX
SynHighlighterADSP21xxSynEdit.Highlighter.ADSP21xx
SynHighlighterAsmSynEdit.Highlighter.Assembler
SynHighlighterAWKSynEdit.Highlighter.AWK
SynHighlighterBaanSynEdit.Highlighter.Baan
SynHighlighterBatSynEdit.Highlighter.Bat
SynHighlighterCACSynEdit.Highlighter.CAC
SynHighlighterCacheSynEdit.Highlighter.Cache
SynHighlighterCobolSynEdit.Highlighter.Cobol
SynHighlighterCPMSynEdit.Highlighter.CPM
SynHighlighterCppSynEdit.Highlighter.Cpp
SynHighlighterCSSynEdit.Highlighter.CS
SynHighlighterCssSynEdit.Highlighter.Css
SynHighlighterDfmSynEdit.Highlighter.Dfm
SynHighlighterDmlSynEdit.Highlighter.Dml
SynHighlighterDOTSynEdit.Highlighter.DOT
SynHighlighterDWSSynEdit.Highlighter.DWS
SynHighlighterEiffelSynEdit.Highlighter.Eiffel
SynHighlighterFortranSynEdit.Highlighter.Fortran
SynHighlighterFoxproSynEdit.Highlighter.Foxpro
SynHighlighterGalaxySynEdit.Highlighter.Galaxy
SynHighlighterGeneralSynEdit.Highlighter.General
SynHighlighterGWSSynEdit.Highlighter.GWS
SynHighlighterHaskellSynEdit.Highlighter.Haskell
SynHighlighterHC11SynEdit.Highlighter.HC11
SynHighlighterHP48SynEdit.Highlighter.HP48
SynHighlighterHtmlSynEdit.Highlighter.Html
SynHighlighterIDLSynEdit.Highlighter.IDL
SynHighlighterIniSynEdit.Highlighter.Ini
SynHighlighterInnoSynEdit.Highlighter.Inno
SynHighlighterJavaSynEdit.Highlighter.Java
SynHighlighterJScriptSynEdit.Highlighter.JScript
SynHighlighterJSONSynEdit.Highlighter.JSON
SynHighlighterKixSynEdit.Highlighter.Kix
SynHighlighterLDrawSynEdit.Highlighter.LDraw
SynHighlighterLLVMSynEdit.Highlighter.LLVM
SynHighlighterM3SynEdit.Highlighter.M3
SynHighlighterManagerSynEdit.Highlighter.Manager
SynHighlighterMarkdownSynEdit.Highlighter.Markdown
SynHighlighterModelicaSynEdit.Highlighter.Modelica
SynHighlighterMsgSynEdit.Highlighter.Msg
SynHighlighterMultiSynEdit.Highlighter.Multi
SynHighlighterOmniSynEdit.Highlighter.Omni
SynHighlighterPasSynEdit.Highlighter.Pas
SynHighlighterPerlSynEdit.Highlighter.Perl
SynHighlighterPHPSynEdit.Highlighter.PHP
SynHighlighterProgressSynEdit.Highlighter.Progress
SynHighlighterPythonSynEdit.Highlighter.Python
SynHighlighterRCSynEdit.Highlighter.RC
SynHighlighterRexxSynEdit.Highlighter.Rexx
SynHighlighterRubySynEdit.Highlighter.Ruby
SynHighlighterSDDSynEdit.Highlighter.SDD
SynHighlighterSmlSynEdit.Highlighter.Sml
SynHighlighterSQLSynEdit.Highlighter.SQL
SynHighlighterSTSynEdit.Highlighter.ST
SynHighlighterTclTkSynEdit.Highlighter.TclTk
SynHighlighterTeXSynEdit.Highlighter.TeX
SynHighlighterUNIXShellScriptSynEdit.Highlighter.UNIXShellScript
SynHighlighterUnrealSynEdit.Highlighter.Unreal
SynHighlighterURISynEdit.Highlighter.URI
SynHighlighterVBSynEdit.Highlighter.VB
SynHighlighterVBScriptSynEdit.Highlighter.VBScript
SynHighlighterVrml97SynEdit.Highlighter.Vrml97
SynHighlighterWebIDLSynEdit.Highlighter.WebIDL
SynHighlighterXMLSynEdit.Highlighter.XML
SynHighlighterYAMLSynEdit.Highlighter.YAML
SynMacroRecorderSynEdit.MacroRecorder
SynOmniSetupDialogSynEdit.OmniSetupDialog
SynSpellCheckSynEdit.SpellCheck
SynUnicodeSynEdit.Unicode
SynURIOpenerSynEdit.URIOpener

Released under the MPL 1.1 / GPL 2 dual license.