Is this project still alive? The developer forum is quite empty...
I'm interested in refactoring SynEdit, to some degree, so that more features can be supported easily. Some intended effects are the handling of Unicode, huge files, and virtual or synthetic contents, like hexdumps or exchange of the contents on-the-fly.
My current activities are very low level ones, I'm trying to extract a small base control from the existing SynEditor. That control shall make no assumptions about the contents to display, it only manages the window as a scrollable grid of uniform cells, but - in contrast to other grid controls - without restricting painting or other activities to single cells.
From that base control a text oriented control shall be derived. This control makes some assumptions about the contents (text) and the related actions, but does not restrict the text source or related data structures to final classes. The virtual base class for the text shall allow e.g. for Unicode sources, and related classes (undo buffers...) shall have according features.
One of my actual problems in that attempt is the lack of documentation. The existing code is somewhat self-explaining to me, but for a safe separation into low and high level functionality I would appreciate some more background information, about the exact purpose and handling of the internal data structures, fields and general conventions. I'm willing to produce some documentation, as required for a continued development.
I post this message, in the hope that some developers will respond to my suggestions and questions. Details then can be discussed in the developer forum.
DoDi
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry to hear that the project is dead. OTOH this will allow me to add my own branch. I'll look around a bit more, for similar projects or offsprings, in detail what the Lazarus people are doing or planning.
Actually I extracted two basic components from SynEdit, a general grid with scrolling and, based on this component, an simple text viewer. Until here everything works very fine :-)
I'm not sure whether the SynEdit component will continue to work properly, when based on these components. As a simple text editor without syntax highlighting etc, the SynEdit will continue to work, I only detected a weird behaviour with tabs and smart tabs. Now I have the problem that I cannot have both the old and new versions installed at the same time, so that I have to find other ways to compare the original and new behaviour.
In any case I'll continue to reengineer my SynEdit version, improving the handling of tabs, wordwrap, syntax highlighting, and certainly I'll come across the cursor problem, too.
DoDi
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Can no one post changes to this project? I use SynEdit a lot and love it. There are only some minor changes I'd like to see, and if people are making changes, then I for one would like to see the changes included in the main project. Does no one have authority to check in changes?
-Bryce K. Nielsen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Now we have a couple of branches, originating in various versions of SynEdit. Currently I'm checking for a cooperation with the Lazarus team, where a multi-platform version of SynEdit is in use. This would be the most interesting (and live) base for refactoring, and for later integration of the various extensions.
DoDi
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is this project still alive? The developer forum is quite empty...
I'm interested in refactoring SynEdit, to some degree, so that more features can be supported easily. Some intended effects are the handling of Unicode, huge files, and virtual or synthetic contents, like hexdumps or exchange of the contents on-the-fly.
My current activities are very low level ones, I'm trying to extract a small base control from the existing SynEditor. That control shall make no assumptions about the contents to display, it only manages the window as a scrollable grid of uniform cells, but - in contrast to other grid controls - without restricting painting or other activities to single cells.
From that base control a text oriented control shall be derived. This control makes some assumptions about the contents (text) and the related actions, but does not restrict the text source or related data structures to final classes. The virtual base class for the text shall allow e.g. for Unicode sources, and related classes (undo buffers...) shall have according features.
One of my actual problems in that attempt is the lack of documentation. The existing code is somewhat self-explaining to me, but for a safe separation into low and high level functionality I would appreciate some more background information, about the exact purpose and handling of the internal data structures, fields and general conventions. I'm willing to produce some documentation, as required for a continued development.
I post this message, in the hope that some developers will respond to my suggestions and questions. Details then can be discussed in the developer forum.
DoDi
sorry, I'm no developer,
just a user of (a somewhat modified) synedit.
I indeed think this project is dead,
this is the first mail within a year ;-)
Although SynEdit works quit well,
it has some very weird bugs (cursor problems, affecting the whole windows).
There is are 2 other alternatives,
- a fork of synedit, introducing code collapsing (can't remember it's name, but it's on sourceforge)
- scintilla
succes,
Stef Mientki
Sorry to hear that the project is dead. OTOH this will allow me to add my own branch. I'll look around a bit more, for similar projects or offsprings, in detail what the Lazarus people are doing or planning.
Actually I extracted two basic components from SynEdit, a general grid with scrolling and, based on this component, an simple text viewer. Until here everything works very fine :-)
I'm not sure whether the SynEdit component will continue to work properly, when based on these components. As a simple text editor without syntax highlighting etc, the SynEdit will continue to work, I only detected a weird behaviour with tabs and smart tabs. Now I have the problem that I cannot have both the old and new versions installed at the same time, so that I have to find other ways to compare the original and new behaviour.
In any case I'll continue to reengineer my SynEdit version, improving the handling of tabs, wordwrap, syntax highlighting, and certainly I'll come across the cursor problem, too.
DoDi
Can no one post changes to this project? I use SynEdit a lot and love it. There are only some minor changes I'd like to see, and if people are making changes, then I for one would like to see the changes included in the main project. Does no one have authority to check in changes?
-Bryce K. Nielsen
I remember again how that other synedit branch was named,
"Mystix" that's the new SynEdit + code-folding like in Scintilla.
Succes
Stef
Thanks, I just downloaded the sources.
Now we have a couple of branches, originating in various versions of SynEdit. Currently I'm checking for a cooperation with the Lazarus team, where a multi-platform version of SynEdit is in use. This would be the most interesting (and live) base for refactoring, and for later integration of the various extensions.
DoDi
Does Mystix support Unicode? (IMHO while code-folding is an excellent feature, Unicode is of higher priority).
-BKN