8

I havent used synEdit for a while, but today I found that I needed a good editor for a form with script support. As I went to download synEdit (which my mind had frozen in time as a "sure thing") I found that the original author had abandoned it. I am aware that FreePascal has a synEdit version - and I hear there is a more recent unicode version out there "somewhere"-- but where exactly can I get the newest and best version?

I would prefer unicode support if it's possible, but more importantly is support for dynamic styling (being able to add tokens to underline keywords, a bit like Delphi does when you access a variable of a class you just typed).

Jon Lennart Aasenden
  • 3,920
  • 2
  • 29
  • 44
  • 1
    I see that even InnoSetup switched to Scintilla, maybe you can give a look to it either (although it is not written in Delphi). –  Dec 22 '10 at 08:54
  • 2
    I had a quick look at that one and it does seem pretty cool. But I prefer to keep it all Delphi -- Spartan til the last compile :) – Jon Lennart Aasenden Dec 22 '10 at 12:25
  • Strictly speaking, it is Lazarus that maintains an own synedit branch. Free Pascal doesn't contain anything visual. – Marco van de Voort Jan 04 '13 at 19:15

4 Answers4

5

SynEdit is much faster than any other text editor component. See the comparison benchmark here.

Currently I'm developing a new IDE for Arduino (official one is lack too much standard IDE features) to contribute to Arduino community. Since I want my IDE to run natively without rely on any VM and cross-platform is not my goal, so I took my o'good friend Delphi 7 and search for updated SynEdit VCL. Slightly dissapointing is it still has no very important feature: code folding (which you can say as "standard code editor feature" nowdays).

But after a little search I've found a descendant project which based on SynEdit which feature code folding: Mystix (hosted at SourceForge). You can simply overwrite your previous SynEdit source with this one (there is no new dpk package to install). It's based on SynEdit 2.0.1 anyway.

Documentation is a little vague (you have to throughfully examine the source code to get idea how to use it properly), but here is hint how to use the code folding feature:

SynEdit1.CodeFolding.FolderBarColor: = clDefault; 
SynEdit1.CodeFolding.HighlighterFoldRegions: = False; 
SynEdit1.CodeFolding.FoldRegions.Add(rtChar, False, False, True, '{', '}');
SynEdit1.CodeFolding.FoldRegions.Add(rtKeyword, False, False, True, '/*', '*/');
// and don't forget to initialize...
SynEdit1.InitCodeFolding;
// ... and enable it
SynEdit1.CodeFolding.Enabled: = True;

Mystix is released under same license as SynEdit (MPL).

Athelstone
  • 59
  • 1
  • 3
  • A quick test is to simply use an huge column block (with n=100000-1000000 million lines high). From all the editors I quicktested (albeit a few years ago) only Delphi, ConText and Lazarus were fast, the rest were slow to very slow. – Marco van de Voort Jun 06 '15 at 11:44
5

http://synedit.sourceforge.net has a link to the Unicode version.

Remy Lebeau
  • 555,201
  • 31
  • 458
  • 770
  • I got a server error when clicking on it last night, hence the question. When I re-booted my machine today and tried it again it was working fine. Either low on memory or some net-split probably. Thank you for clearing everything up! – Jon Lennart Aasenden Dec 22 '10 at 12:19
  • Note that the lazarus version is also unicode, (including 1.5 width glyphs and LTR and RTL in one line). Just not D2009 style. – Marco van de Voort Jun 08 '19 at 13:38
1

I strongly recommend the use of Scintilla. It has all features you are looking for. It is much more capable and mature than SynEdit. The development of SynEdit decreased in the last yeast to almost standstill. The only problem of Scintilla is that the no one is updating the Delphi code that binds to it. The SourceForge project is not active anymore. You can find Delphi code in the following URLs:

Borland Delphi control wrapper for Scintilla and Delphi Components

The latter contains the most recent code. It is not difficult to update it to add recent features of Scintilla.

Eduardo Mauro
  • 1,515
  • 1
  • 26
  • 38
  • 1
    From what I see on Sourceforge, the last update to SynEdit was 12 days ago. Someone is working on it or at least submitting fixes. Thank you for the links - I will check out Scintilla - but right now synEdit makes more sense. Worst case scenario I'll update it myself. – Jon Lennart Aasenden Dec 22 '10 at 12:41
  • 1
    IIRC, SynEdit doesn’t have external dependencies; whereas Scintilla requires the Scintilla.dll to be shipped with your application. It may not matter, but then it may. :-) – Martijn Dec 22 '10 at 14:15
  • I agree with Martijn, SynEdit is the best choice, remember that 64 bit support is just around the corner and the Mac compiler also :D –  Dec 22 '10 at 14:43
  • I develop a software called ConnectedText. I used Scintilla for many years. After I moved to Scintilla, due several bugs in SynEdit and the lack of development, I could improve my application in many ways. I agree that a solution that does not depend of external DLLs is more appealing and that was my main reason for choosing SynEdit when I started developing ConnectedText. Scintilla is faster and has features not available in SynEdit. InnoSetup, as pointed out above, also moved from SynEdit to Scintilla. – Eduardo Mauro Dec 22 '10 at 17:56
1

I would not use the link in the current answer as it hasn't been updated lately even though it is still getting about 80 downloads a week on SourceForge. (https://sourceforge.net/projects/synedit/)


There are three fairly recently updated versions on GitHub:

For a brief history see this thread on DelphiPraxis: https://en.delphipraxis.net/topic/3028-synedit-preferred-version/?do=findComment&comment=24291

Darian Miller
  • 7,808
  • 3
  • 43
  • 62