Recent

Author Topic: SynEdit  (Read 5724 times)

stoffman

  • Jr. Member
  • **
  • Posts: 67
SynEdit
« on: June 15, 2017, 02:23:39 pm »
Hi,

I'm trying to figure out the state of TSynEdit.

The version I've in 1.8 seems to be behind the version https://github.com/SynEdit/SynEdit. While the version on sourceforge https://sourceforge.net/projects/synedit/ seems to be even older than the one on lazarus.

Is there a third repository being used by Lazarus (not in the IDE, but in the component pallet) ?

Thanks,

Yoni


Handoko

  • Hero Member
  • *****
  • Posts: 5153
  • My goal: build my own game engine using Lazarus
Re: SynEdit
« Reply #1 on: June 15, 2017, 02:33:06 pm »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4467
  • I like bugs.
Re: SynEdit
« Reply #2 on: June 15, 2017, 02:50:29 pm »
The version I've in 1.8 seems to be behind the version https://github.com/SynEdit/SynEdit. While the version on sourceforge https://sourceforge.net/projects/synedit/ seems to be even older than the one on lazarus.

Is there a third repository being used by Lazarus (not in the IDE, but in the component pallet) ?
As Handoko wrote the SynEdit used by Lazarus is in components directory. The same is used for user applications and the IDE.
Do you know what improvements the version in GitHub has? Should they be backported? Maybe Martin knows about it.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9867
  • Debugger - SynEdit - and more
    • wiki
Re: SynEdit
« Reply #3 on: June 15, 2017, 03:15:35 pm »
The SynEdit in lazarus was forked a long time ago, and has major differences from the original.

If you look on our wiki, there is a page about SynEdit, I think it has a link to a recent port of the "not lazarus" version.

stoffman

  • Jr. Member
  • **
  • Posts: 67
Re: SynEdit
« Reply #4 on: June 15, 2017, 04:08:09 pm »
Thank you all for the responses.

The synedit on GitHub seems to implement all of Lazarus SYNEDIT_UNIMPLEMENTED_OPTIONS :-)

I contact the maintainer asked about Lazarus compatibility but I didn't get an answer yet.

I couldn't find the link to the  "not lazarus" version. I'll keep looking.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4467
  • I like bugs.
Re: SynEdit
« Reply #5 on: June 15, 2017, 04:20:57 pm »
The synedit on GitHub seems to implement all of Lazarus SYNEDIT_UNIMPLEMENTED_OPTIONS :-)
Wow! Can you mention some examples please.
The SynEdit in GitHub is not the original as you can see from their description:
"This is a fork of the Unicode version of SynEdit hosted ad SourceForge. When it became more and more difficult to maintain, Eric Grange decided to fork this project on GitHub. This way it's possible to fork, merge and maintain easier than before."

This one is messy with all the IFDEFs for supporting Kylix etc. It even has a package for Delphi7 which does not support Unicode.
I can only imagine how messy is the original one in SourceForge...

Now, the fork in Lazarus is old and stitched and contains a lot of unusable IFDEFs. I would love to see a clean well maintained SynEdit. Mayby this GitHub fork would accept a Lazarus port. It would imply throwing away support for Kylix and very old Delphi versions.
Then a long term goal would be to use it in Lazarus.

Quote
I contact the maintainer asked about Lazarus compatibility but I didn't get an answer yet.
Where did you ask it? In a mailing list?

Quote
I couldn't find the link to the  "not lazarus" version. I'll keep looking.
What does that mean? The GitHub fork is a "not lazarus" version.
« Last Edit: June 15, 2017, 04:23:24 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Thaddy

  • Hero Member
  • *****
  • Posts: 14373
  • Sensorship about opinions does not belong here.
Re: SynEdit
« Reply #6 on: June 15, 2017, 05:59:36 pm »
Quote
It even has a package for Delphi7 which does not support Unicode.
That is not true. The compiler supports unicode (From D4) just not the VCL/RTL.
E,g. KOL fully supports unicode from D4.
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11452
  • FPC developer.
Re: SynEdit
« Reply #7 on: June 15, 2017, 06:01:48 pm »
Quote
It even has a package for Delphi7 which does not support Unicode.
That is not true. The compiler supports unicode (From D4) just not the VCL/RTL.
E,g. KOL fully supports unicode from D4.

So since KOL does not come with Delphi7, Delphi 7 still doesn't support unicode, as it only comes with VCL and CLX

Thaddy

  • Hero Member
  • *****
  • Posts: 14373
  • Sensorship about opinions does not belong here.
Re: SynEdit
« Reply #8 on: June 15, 2017, 06:08:02 pm »
So since KOL does not come with Delphi7, Delphi 7 still doesn't support unicode, as it only comes with VCL and CLX
So it is missing some - arbitrary - libraries.... So what, you write them!, because the compiler supports them. Silly argument.
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9867
  • Debugger - SynEdit - and more
    • wiki
Re: SynEdit
« Reply #9 on: June 15, 2017, 06:18:45 pm »
The synedit on GitHub seems to implement all of Lazarus SYNEDIT_UNIMPLEMENTED_OPTIONS :-)

I couldn't find the link to the  "not lazarus" version. I'll keep looking.

"not lazarus" is sourceforge/github

search for SynEdit on our wiki should get you here http://wiki.lazarus.freepascal.org/SynEdit#SynEdit_2.0_port


About the options, I guess that is the following

Code: Pascal  [Select][+][-]
  1.   SYNEDIT_UNIMPLEMENTED_OPTIONS = [
  2.     eoAutoSizeMaxScrollWidth,  //TODO Automatically resizes the MaxScrollWidth property when inserting text
  3.     eoDisableScrollArrows,     //TODO Disables the scroll bar arrow buttons when you can't scroll in that direction any more
  4.     eoDropFiles,               //TODO Allows the editor accept file drops
  5.     eoHideShowScrollbars,      //TODO if enabled, then the scrollbars will only show when necessary.  If you have ScrollPastEOL, then it the horizontal bar will always be there (it uses MaxLength instead)
  6.     eoSmartTabDelete,          //TODO similar to Smart Tabs, but when you delete characters
  7.     ////eoSpecialLineDefaultFg,    //TODO disables the foreground text color override when using the OnSpecialLineColor event
  8.     eoAutoIndentOnPaste,       // Indent text inserted from clipboard
  9.     eoSpacesToTabs             // Converts space characters to tabs and spaces
  10.   ];
  11.  

eoHideShowScrollbars,    is controlled by scrollbar properties. So it will never be an option in Lazarus' SynEdit. (EDIT: that is to say it would be redundant. You already can set it)

drop files can probably be done via the LCL properties for that. In any case, once the file is dropped you need to have code that loads it (and asks if the previous code should be saved, etc)

the others are indeed not supported.
« Last Edit: June 15, 2017, 06:25:32 pm by Martin_fr »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4467
  • I like bugs.
Re: SynEdit
« Reply #10 on: June 15, 2017, 06:37:10 pm »
the others are indeed not supported.
Ok but you have implemented CodeFolding in the Lazarus fork. The GitHub version's issues include "future plans, road map for SynEdit ?" asking:
" What we can expect in future versions of SynEdit?
 CodeFolding ?
 SpellinCheck ?
"

So it has no CodeFolding. These versions have diverged a lot. Both have missing features but different ones.
What more, the original SourceForge project is removed. The link http://synedit.sourceforge.net says "Page not found".
The situation is a mess.
Who is the project leader of the GitHub effort? Where are the user and developer mailing lists mentioned in the main page? I don't see links anywhere.
CWBudde is the most active contributor. Maybe he should be contacted.
@stoffman: Who did you contact and how?
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

stoffman

  • Jr. Member
  • **
  • Posts: 67
Re: SynEdit
« Reply #11 on: June 15, 2017, 07:13:12 pm »
I contacted CWBudde by simply emailing to the guy. It was yesterday so maybe I should give him few more days :-)


Handoko

  • Hero Member
  • *****
  • Posts: 5153
  • My goal: build my own game engine using Lazarus
Re: SynEdit
« Reply #12 on: June 16, 2017, 11:20:31 am »
I do not check my email everyday. I do it only once or twice a week.

 

TinyPortal © 2005-2018