On Sun, 23 Jul 2006 13:42:59 +0200 "Darius Blaszijk" <[EMAIL PROTECTED]> wrote:
> > ----- Original Message ----- > From: "Mattias Gaertner" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Sunday, July 23, 2006 12:27 PM > Subject: Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps > problem) > > > > 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? > As far as I can tell based on the comparison of a few units, it seems that > all strings are now declared as widestring. and chars are now widechar or > ansichar. There's a new unit SynUnicode.pas that implements widestring > objects. For the rest it looks pretty much the same as the CVS version. All other IDE functions are using UTF-8 strings. They often assign big parts of the synedit lines. Assigning ansistrings is fast. But a widestring synedit must either convert everything on the fly or keep additional all strings as UTF-8. What about the official synedit? Does it support UTF-8? Mattias _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
