Available Highlighters
Ethea SynEdit contains 63 highlighters, all registered on the SynEdit Highlighters page of the component palette. Each one is a component derived from TSynCustomHighlighter: drop it on the form and assign it to the Highlighter property of the editor (see Using a Highlighter).
Every highlighter lives in its own unit, named SynEdit.Highlighter.<Language>: to use it at run time add that unit to the uses clause. The units of the old names (SynHighlighterPas, SynHighlighterSQL...) are listed in Migrating from another SynEdit.
Classic languages
| Component | Language | Unit | File extensions |
|---|---|---|---|
TSynCppSyn | C and C++ | SynEdit.Highlighter.Cpp | *.c *.cpp *.cc *.h *.hpp *.hh *.cxx *.hxx *.cu |
TSynEiffelSyn | Eiffel | SynEdit.Highlighter.Eiffel | *.e *.ace |
TSynFortranSyn | Fortran | SynEdit.Highlighter.Fortran | *.for |
TSynGeneralSyn | General (configurable) | SynEdit.Highlighter.General | |
TSynJavaSyn | Java | SynEdit.Highlighter.Java | *.java |
TSynM3Syn | Modula-3 | SynEdit.Highlighter.M3 | *.m3 |
TSynPasSyn | Object Pascal (Delphi) | SynEdit.Highlighter.Pas | *.pas *.pp *.dpr *.dpk *.inc |
TSynVBSyn | Visual Basic | SynEdit.Highlighter.VB | *.bas |
TSynCobolSyn | COBOL | SynEdit.Highlighter.Cobol | *.cbl *.cob |
TSynCSSyn | C# | SynEdit.Highlighter.CS | *.cs |
TSynOmniSyn | Omni (configurable) | SynEdit.Highlighter.Omni |
Internet
| Component | Language | Unit | File extensions |
|---|---|---|---|
TSynCssSyn | CSS | SynEdit.Highlighter.Css | *.css |
TSynHTMLSyn | HTML | SynEdit.Highlighter.Html | *.htm *.html |
TSynJScriptSyn | JavaScript | SynEdit.Highlighter.JScript | *.js |
TSynPHPSyn | PHP | SynEdit.Highlighter.PHP | *.php *.php3 *.phtml *.inc |
TSynVBScriptSyn | VBScript | SynEdit.Highlighter.VBScript | *.vbs |
TSynXMLSyn | XML | SynEdit.Highlighter.XML | *.xml *.xsd *.xsl *.xslt *.dtd |
TSynJSONSyn | JSON | SynEdit.Highlighter.JSON | *.json |
TSynVrml97Syn | VRML97 / X3D | SynEdit.Highlighter.Vrml97 | *.wrl *.wrml *.vrl *.vrml *.x3d |
Scripting
| Component | Language | Unit | File extensions |
|---|---|---|---|
TSynAWKSyn | AWK | SynEdit.Highlighter.AWK | *.awk |
TSynBatSyn | MS-DOS Batch | SynEdit.Highlighter.Bat | *.bat *.cmd |
TSynDWSSyn | DWScript | SynEdit.Highlighter.DWS | *.dws *.pas *.inc |
TSynKixSyn | KiXtart | SynEdit.Highlighter.Kix | *.kix |
TSynPerlSyn | Perl | SynEdit.Highlighter.Perl | *.pl *.pm *.cgi |
TSynPythonSyn | Python | SynEdit.Highlighter.Python | *.py |
TSynTclTkSyn | Tcl/Tk | SynEdit.Highlighter.TclTk | *.tcl |
TSynGWScriptSyn | GW-TEL script | SynEdit.Highlighter.GWS | *.gws |
TSynRubySyn | Ruby | SynEdit.Highlighter.Ruby | *.rb *.rbw |
TSynUNIXShellScriptSyn | UNIX shell script | SynEdit.Highlighter.UNIXShellScript | *.sh |
Database
| Component | Language | Unit | File extensions |
|---|---|---|---|
TSynCACSyn | CA-Clipper | SynEdit.Highlighter.CAC | *.prg *.ch *.inc |
TSynCacheSyn | Caché ObjectScript | SynEdit.Highlighter.Cache | *.mac *.inc *.int |
TSynFoxproSyn | FoxPro | SynEdit.Highlighter.Foxpro | *.prg |
TSynSQLSyn | SQL | SynEdit.Highlighter.SQL | *.sql |
TSynSDDSyn | Semanta Data Dictionary | SynEdit.Highlighter.SDD | *.sdd |
Assembler and low level
| Component | Language | Unit | File extensions |
|---|---|---|---|
TSynADSP21xxSyn | ADSP21xx | SynEdit.Highlighter.ADSP21xx | *.dsp *.inc |
TSynAsmSyn | x86 Assembly | SynEdit.Highlighter.Assembler | *.asm |
TSynHC11Syn | 68HC11 Assembler | SynEdit.Highlighter.HC11 | *.hc11 *.asm *.asc |
TSynHP48Syn | HP48 | SynEdit.Highlighter.HP48 | *.s *.sou *.a *.hp |
TSynSTSyn | Structured Text (IEC 61131-3) | SynEdit.Highlighter.ST | *.st |
Data modeling
| Component | Language | Unit | File extensions |
|---|---|---|---|
TSynDmlSyn | Gembase (DML) | SynEdit.Highlighter.Dml | *.dml *.gem |
TSynModelicaSyn | Modelica | SynEdit.Highlighter.Modelica | *.mo |
TSynSMLSyn | Standard ML | SynEdit.Highlighter.Sml | *.sml |
Data and configuration
| Component | Language | Unit | File extensions |
|---|---|---|---|
TSynDfmSyn | Delphi forms (DFM) | SynEdit.Highlighter.Dfm | *.dfm *.xfm |
TSynIniSyn | INI | SynEdit.Highlighter.Ini | *.ini *.toml |
TSynInnoSyn | Inno Setup script | SynEdit.Highlighter.Inno | *.iss |
Other
| Component | Language | Unit | File extensions |
|---|---|---|---|
TSynBaanSyn | Baan 4GL | SynEdit.Highlighter.Baan | *.cln |
TSynGalaxySyn | Galaxy | SynEdit.Highlighter.Galaxy | *.gtv *.galrep *.txt |
TSynProgressSyn | Progress | SynEdit.Highlighter.Progress | *.w *.p *.i |
TSynMsgSyn | SynGen message files | SynEdit.Highlighter.Msg | *.msg |
TSynIdlSyn | CORBA IDL | SynEdit.Highlighter.IDL | *.idl |
TSynUnrealSyn | Unreal | SynEdit.Highlighter.Unreal | *.c *.cpp *.cc *.h *.hpp *.hh *.cxx *.hxx *.cu |
TSynCPMSyn | COAS Product Manager report | SynEdit.Highlighter.CPM | *.rdf *.rif *.rmf *.rxf |
TSynTeXSyn | TeX / LaTeX | SynEdit.Highlighter.TeX | *.tex |
TSynYAMLSyn | YAML | SynEdit.Highlighter.YAML | *.yaml |
TSynHaskellSyn | Haskell | SynEdit.Highlighter.Haskell | *.hs *.lhs |
TSynLDRSyn | LEGO LDraw | SynEdit.Highlighter.LDraw | *.ldr |
TSynURISyn | URI | SynEdit.Highlighter.URI | |
TSynDOTSyn | DOT (Graphviz) | SynEdit.Highlighter.DOT | *.dot |
TSynRCSyn | Resource script (RC) | SynEdit.Highlighter.RC | *.rc |
TSynMarkdownSyn | Markdown | SynEdit.Highlighter.Markdown | |
TSynRexxSyn | REXX | SynEdit.Highlighter.Rexx | *.REX |
TSynLLVMIRSyn | LLVM IR | SynEdit.Highlighter.LLVM | *.ll |
TSynWebIDLSyn | Web IDL | SynEdit.Highlighter.WebIDL | *.idl |
Special highlighters
| Component | Unit | Purpose |
|---|---|---|
TSynMultiSyn | SynEdit.Highlighter.Multi | Combines several highlighters in the same document, see Multi Highlighter. |
TSynGeneralSyn | SynEdit.Highlighter.General | A configurable highlighter: keywords, comments and strings are defined with properties. |
TSynOmniSyn | SynEdit.Highlighter.Omni | A configurable highlighter driven by a language definition, with its own setup dialog (SynEdit.OmniSetupDialog). |
TSynHighlighterManager | SynEdit.Highlighter.Manager | A design-time helper: it places on the form the highlighters you select from a list. |
To write a highlighter for a language that is not in the list, see Create your Highlighter.
