On Sun, 23 Jul 2006 10:22:00 +0200
"Darius Blaszijk" <[EMAIL PROTECTED]> wrote:
> >> Question about SynEdit: I know the lazarus version is a very
> >> customized one from old source... Will it be replaced by a newer
> >> version from the original project?
> >
> > Yes, eventually.
>
> Mattias,
>
> I'm willing to try to port UniSynEdit to Lazarus (and keep it in sync with
> their trunk), however how do you feel about that. I know you have your
> doubts about certain parts of the code (can't remember anymore what though
> precisely). Would it be sensible then to start something like this? Or is
> there another component that will be a better candidate to be used in the
> sourceeditor eventually. Or do you feel that a completely new component
> should be developed purely for Lazarus source editor which is highly
> optimized just for that task and is integrated at it's best in Lazarus.
What
> are the properties such a component at least should have?
Here is a list, what features has been added to synedit.
- LCL support (not just compile. using less messages, but methods)
- UTF-8 support
- bidi support
- fast enough to open and edit fpcmacosall.pas
- 64bit support
- Options:
eoBracketHighlight, // Highlight matching bracket
eoDoubleClickSelectsLine, // Select line on double click
eoHideRightMargin, // Hides the right margin line
eoPersistentCaret, // Do not hide caret when focus lost
eoShowCtrlMouseLinks, // Pressing Ctrl will highlight the word under
the mouse cursor
eoAutoIndentOnPaste, // Indent text inserted from clipboard
eoSpacesToTabs // Converts space characters to tabs and spaces
eoCaretSkipsSelection, // Caret skips selection on VK_LEFT/VK_RIGHT
eoAlwaysVisibleCaret // Move caret to be always visible when
scrolling
- Support for primary selection (middle mouse click under X)
- property BlockIndent: integer
- procedure SelectToBrace;
- procedure SelectLine;
- procedure SelectParagraph;
- property SelStart: Integer
- property SelEnd: Integer
- code folding
- the TSynPasSyn has some extensions too.
- syncompletion.pas contains a lot of additions. But nowadays I would
rewrite the whole unit. The IDE already positions and paints the completion
box. Therefore the new synedit just needs to provide some hooks and I will
write a new completion box for the IDE. I want to extend it anyway.
Of course the identifiers can be renamed and some features could work a
little bit different.
And: This time keep in sync with the official synedit with {$IFDEF LCL}.
I didn't take a closer look at unisynedit. What are the differences to the
old synedit?
Mattias
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives