Re: [lazarus] Synedit Samples
On Thu, 13 Dec 2007 13:38:51 -0500 Lee Jenkins [EMAIL PROTECTED] wrote: Are there any samples about to learn how to create a highlighter and param suggestions for Synedit? Normally you just take one similar and adapt it. The TSynPasSyn uses nearly all features, like code folding. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Synedit and highlighters
On Sat, 08 Dec 2007 17:07:17 + Mark Morgan Lloyd [EMAIL PROTECTED] wrote: I'm looking at the Synedit v2 SQL highlighter which has support for PostgreSQL. When I have time I'll try and backport this into the fork used by Lazarus- where should I send the patch when done? See here http://wiki.lazarus.freepascal.org/Creating_A_Patch On a slightly different issue: does anybody know whether there's a way to get Synedit to apply a background tint to alternate lines of the text being edited, like classic music ruled listing paper? event OnSpecialLineColors I don't see an easy way of using a highlighter for this since I can't see how a highlighter can get the current line number, however if there were some way of doing it in the basic editor the effect could possibly be combined with foreground highlighting for e.g. assembler listings. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Synedit and highlighters
Mattias Gaertner wrote: I'm looking at the Synedit v2 SQL highlighter which has support for PostgreSQL. When I have time I'll try and backport this into the fork used by Lazarus- where should I send the patch when done? See here http://wiki.lazarus.freepascal.org/Creating_A_Patch Thanks. I'll probably use the patch mailbox to start with since I'm an utter beginner as far as SVN etc. is concerned. On a slightly different issue: does anybody know whether there's a way to get Synedit to apply a background tint to alternate lines of the text being edited, like classic music ruled listing paper? event OnSpecialLineColors Ah- very nice, thanks :-) -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit broken
- Original Message - From: Darius Blaszijk [EMAIL PROTECTED] Date: Thursday, May 24, 2007 9:01 am Subject: [lazarus] SynEdit broken After updating to latest revision just now, I can see no code anymore in SynEdit. Just a blank control. (WinXP, 2.0.4) The problem lies in revision 11188 most probably, because reverting to 11187 solves the problem. Don't count on me to test possible fixes because I'm leaving for the weekend not returning before sunday evening without internet access. I think the change in r11189 in lcl/include/custompage.inc is a more likely cause. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit Docs
Like what below? There's no documentation for the official SynEdit, and AFAIK neither for the Lazarus version. Regards, Flávio On 3/30/07, Lee Jenkins [EMAIL PROTECTED] wrote: Do these exist in any form? I have the source and it does not tell me what some things mean like this below. Assumes a bit more that I know personally synedit, etc. Thanks for any pointers. -- Warm Regards, Lee _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
(problem may be that they did their own codefolding - not sure which one works better) How is code folding called in synedit? I can't find it. Search the unihighlighter.com forum for folding and for codefolding to see post by the unihighlighter author regarding the mystix project (or something like that) having added codefolding to SynEdit2.x. If you can't find it you can try posting at that forum and ask where the codefolding is (if it's in the official synedit distro or not) They have a synmix download at that site, maybe the codefolding is in that one George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, .NET, Delphi VCL, XML, IPC http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0630-2, 26/07/2006 Tested on: 26/7/2006 7:54:00 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
How is code folding called in synedit? I can't find it. They don;t have it IIRC, there is another project though that implements this. http://mystix.sourceforge.net On the web page is says, that everytime you change the text manually, you have to update the fold regions yourself. And looking at the code it seems to me, that every update traverses through all fold ranges. I wonder how much overhead this creates for big sources. I'd expect an architecture for CodeFolders (components) similar to Highlighters of SynEdit. Also a generic CodeFolder (that does highlighter logic dynamically from a description file) similar to Unihighlighter How's the Lazarus codefolding implemented currently? Is it for Pascal only or does it allow easily defining other (tree) foldings? George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, .NET, Delphi VCL, XML, IPC http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0630-2, 26/07/2006 Tested on: 26/7/2006 7:56:45 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On the web page is says, that everytime you change the text manually, you have to update the fold regions yourself. And looking at the code it seems to me, that every update traverses through all fold ranges. I wonder how much overhead this creates for big sources. I assume you mean the following from http://mystix.sourceforge.net/code_folding.html Introduction Mystix uses the SynEdit component that was changed by me to support the code folding feature. It is based on the 2.0.1 version of the original component. You can use it in your own software on the same license as the original SynEdit. Usage To enable code folding, set SynEdit.CodeFolding.Enabled to True. Fold regions can be added only at run-time. You can add fold regions directly to SynEdit control or to the highlighter. Which does apply is controled by the CodeFolding.UseHighlighterFoldRegions property. First method that need to be called after adding fold regions is InitCodeFolding. After that you only need to call RescanForFoldRegions if you modify the buffer directly (eg. you add some lines, or modify the SynEdit.Text property somehow). You should use SynEdit.GetUncollapsedStrings function instead of SynEdit.Lines property. --- it seems to also answer my question a bit, on whether they have CodeFolders components. They seem to allow one to add fold regions to the highlighter, not sure if new highlighters can automatically do it (make the regions) _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0630-2, 26/07/2006 Tested on: 26/7/2006 8:01:19 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Wed, 26 Jul 2006 19:56:46 +0300 George Birbilis [EMAIL PROTECTED] wrote: How is code folding called in synedit? I can't find it. They don;t have it IIRC, there is another project though that implements this. http://mystix.sourceforge.net On the web page is says, that everytime you change the text manually, you have to update the fold regions yourself. And looking at the code it seems to me, that every update traverses through all fold ranges. I wonder how much overhead this creates for big sources. I'd expect an architecture for CodeFolders (components) similar to Highlighters of SynEdit. Also a generic CodeFolder (that does highlighter logic dynamically from a description file) similar to Unihighlighter How's the Lazarus codefolding implemented currently? Is it for Pascal only or does it allow easily defining other (tree) foldings? The codefolding is done by the highlighters. At the moment only the pascal highlighter is using it. Extending other highlighters is quite easy. Ten lines plus one line for every start and end. Mattias George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, .NET, Delphi VCL, XML, IPC http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0630-2, 26/07/2006 Tested on: 26/7/2006 7:56:45 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
A question then is if the highlighters work OK with Unicode. Not sure. For example is AnsiUpperCase UNICODE-safe? 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? The UniSynEdit page has a link that explains the Unicode issues and which helper functions they added for Unicode, plus which functions of Delphi need to not be used when porting to Unicode some app and what other changes are usually needed In any case, I'd suggest trying to contribute the Lazarus enchancements (apart from the UTF-8 stuff) to the latest SynEdit core (the UniSynEdit is supposed to keep in sync with it) and contribute the UTF-8 stuff to the UniSynEdit project for comparison with their version and consideration of which approach is better/faster if they differ in the handling of Unicode _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0630-1, 24/07/2006 Tested on: 25/7/2006 10:35:31 p? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
About 2: The whole Lazarus IDE works with strings, not widestring. The LCL will use strings, because that is more compatible to existing code. Existing LCL applications using synedit uses strings. It seems to me, we should merge with the normal synedit, instead of unisynedit. But maybe I missed a point? Maybe they want to keep both an ANSI SynEdit and a Unicode SynEdit. In that case if Lazarus one is Unicode only it should contribute to the UniSynEdit all Unicode stuff and to both SynEdit and UniSynEdit the rest (problem may be that they did their own codefolding - not sure which one works better) George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, .NET, Delphi VCL, XML, IPC http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0630-1, 24/07/2006 Tested on: 25/7/2006 10:41:03 p? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Tue, 25 Jul 2006 10:35:33 +0300 George Birbilis [EMAIL PROTECTED] wrote: A question then is if the highlighters work OK with Unicode. Not sure. For example is AnsiUpperCase UNICODE-safe? Yes, if the installed widestringmanager handles strings as UTF-8. AFAIK, it does not yet. Has FPC already an UTF-8 uppercase function? Mattias 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? The UniSynEdit page has a link that explains the Unicode issues and which helper functions they added for Unicode, plus which functions of Delphi need to not be used when porting to Unicode some app and what other changes are usually needed In any case, I'd suggest trying to contribute the Lazarus enchancements (apart from the UTF-8 stuff) to the latest SynEdit core (the UniSynEdit is supposed to keep in sync with it) and contribute the UTF-8 stuff to the UniSynEdit project for comparison with their version and consideration of which approach is better/faster if they differ in the handling of Unicode _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0630-1, 24/07/2006 Tested on: 25/7/2006 10:35:31 p? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Tue, 25 Jul 2006 10:41:05 +0300 George Birbilis [EMAIL PROTECTED] wrote: About 2: The whole Lazarus IDE works with strings, not widestring. The LCL will use strings, because that is more compatible to existing code. Existing LCL applications using synedit uses strings. It seems to me, we should merge with the normal synedit, instead of unisynedit. But maybe I missed a point? Maybe they want to keep both an ANSI SynEdit and a Unicode SynEdit. In that case if Lazarus one is Unicode only it should contribute to the UniSynEdit all Unicode stuff and to both SynEdit and UniSynEdit the rest The Unicode stuff is UTF-8. Completely incompatible to Unicode with widestrings. (problem may be that they did their own codefolding - not sure which one works better) How is code folding called in synedit? I can't find it. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
- Original Message - From: Mattias Gaertner [EMAIL PROTECTED] To: lazarus@miraclec.com Sent: Tuesday, July 25, 2006 9:59 AM Subject: Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem) On Tue, 25 Jul 2006 10:41:05 +0300 George Birbilis [EMAIL PROTECTED] wrote: About 2: The whole Lazarus IDE works with strings, not widestring. The LCL will use strings, because that is more compatible to existing code. Existing LCL applications using synedit uses strings. It seems to me, we should merge with the normal synedit, instead of unisynedit. But maybe I missed a point? Maybe they want to keep both an ANSI SynEdit and a Unicode SynEdit. In that case if Lazarus one is Unicode only it should contribute to the UniSynEdit all Unicode stuff and to both SynEdit and UniSynEdit the rest The Unicode stuff is UTF-8. Completely incompatible to Unicode with widestrings. (problem may be that they did their own codefolding - not sure which one works better) How is code folding called in synedit? I can't find it. They don;t have it IIRC, there is another project though that implements this. http://mystix.sourceforge.net Darius Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Tue, 25 Jul 2006 10:08:37 +0200 Darius Blaszijk [EMAIL PROTECTED] wrote: - Original Message - From: Mattias Gaertner [EMAIL PROTECTED] To: lazarus@miraclec.com Sent: Tuesday, July 25, 2006 9:59 AM Subject: Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem) On Tue, 25 Jul 2006 10:41:05 +0300 George Birbilis [EMAIL PROTECTED] wrote: About 2: The whole Lazarus IDE works with strings, not widestring. The LCL will use strings, because that is more compatible to existing code. Existing LCL applications using synedit uses strings. It seems to me, we should merge with the normal synedit, instead of unisynedit. But maybe I missed a point? Maybe they want to keep both an ANSI SynEdit and a Unicode SynEdit. In that case if Lazarus one is Unicode only it should contribute to the UniSynEdit all Unicode stuff and to both SynEdit and UniSynEdit the rest The Unicode stuff is UTF-8. Completely incompatible to Unicode with widestrings. (problem may be that they did their own codefolding - not sure which one works better) How is code folding called in synedit? I can't find it. They don;t have it IIRC, there is another project though that implements this. http://mystix.sourceforge.net On the web page is says, that everytime you change the text manually, you have to update the fold regions yourself. And looking at the code it seems to me, that every update traverses through all fold ranges. I wonder how much overhead this creates for big sources. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Mon, 24 Jul 2006 14:36:20 +1100 Alexander Klenin [EMAIL PROTECTED] wrote: On 7/23/06, Mattias Gaertner [EMAIL PROTECTED] wrote: I have recently started poking around it and have some ideas ;-) What ideas? Well, for starters, the code obviously will benefit from some refactoring. E.g. mouse links processing is spread over many different places, with some literally duplicating code. ok The interface of syntax highlighters needs improvement also. I tried to disable mouselinks over keywords and numbers (because clicking them will always lead to error). I have found the following: one the one hand, IsKeyword function defined in basic class is not implemented in descendants, on the other hand, GetToken function, seemingly designed to return the type of the current token, returns unadorned integer, with no way to interpret it, and GetTokenID function, which does return enumerated type, is pascal-specific. Is the above worth fixing? Sure. GetToken: it *is* an unadorned PtrInt. Only the highlighter knows, what it means. With codefolding it can be a pointer. I see two ways to find out if a word is an identifier: a) Let the highlighter parse the line to the word under cursor and add a function to highlighter 'IsIdentifier'. Disadvantage: It will still highlight words of non pascal. b) add an event to synedit OnWordHasLink(Sender,Line,Col): boolean. The IDE can then examine the word and it knows better what can be used as link and what not. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Sun, 23 Jul 2006 21:05:44 +0300 George Birbilis [EMAIL PROTECTED] wrote: 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? The UniSynEdit page has a link that explains the Unicode issues and which helper functions they added for Unicode, plus which functions of Delphi need to not be used when porting to Unicode some app and what other changes are usually needed In any case, I'd suggest trying to contribute the Lazarus enchancements (apart from the UTF-8 stuff) to the latest SynEdit core (the UniSynEdit is supposed to keep in sync with it) and contribute the UTF-8 stuff to the UniSynEdit project for comparison with their version and consideration of which approach is better/faster if they differ in the handling of Unicode The speed difference is not very important. At least the UTF-8 additions made synedit hardly slower. And both UTF-8 and UTF-16 support the full unicode. IMO the goal is to 1. add most of the lazarus additions to the official synedit 2. replace the lazarus synedit with the official synedit and keep in sync, so that both projects gain About 1: Basically the wepage of UniSynEdit says, it 'only' adds widestring and many widestrings unicode functions to the normal synedit. Is this correct? If yes, then the lazarus additions should be added to synedit and then to unisynedit. About 2: The whole Lazarus IDE works with strings, not widestring. The LCL will use strings, because that is more compatible to existing code. Existing LCL applications using synedit uses strings. It seems to me, we should merge with the normal synedit, instead of unisynedit. But maybe I missed a point? Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Sun, 23 Jul 2006 14:54:49 +1100 Alexander Klenin [EMAIL PROTECTED] wrote: On 7/22/06, George Birbilis [EMAIL PROTECTED] wrote: I haven't tried SynEdit 2.x and the new Unihighlighter yet, but sometime in the future when I do, I'll see what it takes to port the to Lazarus (seeing what changes had been done to old SynEdit to port it) Does that mean that there is no point in enhancing the SysEdit which is now in Lazarus? I have recently started poking around it and have some ideas ;-) What ideas? Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
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? Darius _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
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? Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
- Original Message - From: Mattias Gaertner [EMAIL PROTECTED] To: lazarus@miraclec.com 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. Darius Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Sun, 23 Jul 2006 13:42:59 +0200 Darius Blaszijk [EMAIL PROTECTED] wrote: - Original Message - From: Mattias Gaertner [EMAIL PROTECTED] To: lazarus@miraclec.com 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
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
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? The UniSynEdit page has a link that explains the Unicode issues and which helper functions they added for Unicode, plus which functions of Delphi need to not be used when porting to Unicode some app and what other changes are usually needed In any case, I'd suggest trying to contribute the Lazarus enchancements (apart from the UTF-8 stuff) to the latest SynEdit core (the UniSynEdit is supposed to keep in sync with it) and contribute the UTF-8 stuff to the UniSynEdit project for comparison with their version and consideration of which approach is better/faster if they differ in the handling of Unicode George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-2, 21/07/2006 Tested on: 23/7/2006 9:02:48 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
It seems the fixes I sent to SynUniHighlighter.pas where correct, but didn't fix the original problem (SynEdit writing only caps), one of my colleagues I had asked to test my changes found it and did this extra fix: TL 2003-06-12: Added the following to satisfy abstract method override {$IFDEF SYN_LAZARUS} procedure TSynUniSyn.GetTokenEx(var TokenStart: PChar; var TokenLength: integer); begin TokenLength:=Run-fTokenPos; // // mmt 2006-07-23 : changed FLine in the following // TokenStart:=FLine + fTokenPos; // to FTrueLine // TokenStart:=FTrueLine + fTokenPos; end; {$ENDIF} It needed FTrueLine instead of FLine there Will ask them to send me a Diff for UniHighlighter.pas using TortoiseSVN and submit it Btw, there does exist a SynUniDesigner.pas unitat the Lazarus port George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup -Original Message- From: George Birbilis [mailto:[EMAIL PROTECTED] Sent: Saturday, July 22, 2006 2:37 AM To: lazarus@miraclec.com Subject: RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem) I think I found the problem: 1) at SynUniHighlighter.pas, the procedure Register; begin RegisterComponents('SynEdit', [TSynUniSyn]); end; Should be removed (was added by Tom). The component registration action is repeated at SynUniReg.pas in a more correct way: procedure Register; begin RegisterComponents( SYNS_ComponentsPage, [TSynUniSyn] ); RegisterComponentEditor(TSynUniSyn, TSynUniEditor); end; Where is this TSynUniEditor? If that one is missing at the Lazarus port, the respective line should be commented out As you see, here it uses the SYNS_ComponentsPage constant of SynEdit for the palette name. Users should open up and register SynUniReg.pas instead of SynUniHighlighter.pas 2) at SynUniHighlighter.pas, Tom didn't need to do all those changes, he could have used {$MODE DELPHI} instead. I suggest the original SynUniHighlighter.pas is taken (it's the same version from which Tom made the Lazarus port) from http://www.delphist.com/UniHighlighter.html and used with {$MODE DELPHI}. In fact there's high chance all the stuff Tom couldn't port (e.g. the designer) could be ported just by adding {$MODE DELPHI} in the sources of that UniHighlighter version (don't get newer UniHighlighter from UniHighlighter.com, don't think it works with SynEdit1.1, but only with 2.x) 3) the fix to the extisting SynUniHighlighter.pas that Tom made must be the following (haven't tested it). Search for //Birb below (2 fixes): function TNumberSymbols.GetToken(parser:TSynUniSyn; var tkSynSymbol1:TSynSymbol): boolean; begin repeat Inc(Parser.Run); until not (parser.fLine[parser.Run] in ['0'..'9']); if parser.fLine[parser.Run] in parser.fCurrentRule.fTermSymbols then begin Result:=True; tkSynSymbol1:=self.tkSynSymbol; //Birb: Tom had renamed the method parameter in the signature to tkSynSymbol1, but forgot to rename it in the code too end else Result:=false; end; function TDefaultTermSymbols.GetToken(parser: TSynUniSyn;var tkSynSymbol1:TSynSymbol): boolean; begin if parser.fLine[parser.Run]#0 then Inc(parser.Run); tkSynSymbol1:=self.tkSynSymbol; //Birb: Tom had renamed the method parameter in the signature to tkSynSymbol1, but forgot to rename it in the code too Result:=True; end; This bug would have been avoided if Tom did use {$MODE DELPHI} so that FPC wouldn't complain of the tkSynSymbol method parameter as a duplicate (the respective classes had a field with the same name which Delphi allows, but FPC doesn't seem to if {$MODE DELPHI} isn't used) *** Please try this fix (will tell my colleagues to try it too) and then somebody add this to Lazarus sourcebase. Would be glad if someone lets me know when new Lazarus with this fix is arround. * Will also tell my colleagues to try porting all the unihighlighter distro from http://www.delphist.com/UniHighlighter.html using Delphi compatibility mode of FPC and let you know if they do it successfully (don't have time at the moment to do it myself). If they make it we can put that one in Lazarus instead of Tom's partial port I suppose, since FPC can mix Pascal files of Delphi and non-Delphi mode OK. Will you create a patch? Still waiting to see if others can try it and see if it works (I only compared the sources with WinDiff, haven't got time currently to test it) Not sure how to make a patch btw, is there some builtin tool at lazarus to make Diffs or similar? Or does one use
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On 7/23/06, Mattias Gaertner [EMAIL PROTECTED] wrote: I have recently started poking around it and have some ideas ;-) What ideas? Well, for starters, the code obviously will benefit from some refactoring. E.g. mouse links processing is spread over many different places, with some literally duplicating code. The interface of syntax highlighters needs improvement also. I tried to disable mouselinks over keywords and numbers (because clicking them will always lead to error). I have found the following: one the one hand, IsKeyword function defined in basic class is not implemented in descendants, on the other hand, GetToken function, seemingly designed to return the type of the current token, returns unadorned integer, with no way to interpret it, and GetTokenID function, which does return enumerated type, is pascal-specific. Is the above worth fixing? -- Alexander S. Klenin Insight Experts Ltd. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Fri, 21 Jul 2006 20:21:57 -0400 Alexandre Leclerc [EMAIL PROTECTED] wrote: 2006/7/21, George Birbilis [EMAIL PROTECTED]: Not sure how to make a patch btw, is there some builtin tool at lazarus to make Diffs or similar? Or does one use TortoiseCVS menu to do the Diff? Yes, use TortoiseSVN diff tool. 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. (i.e. does the original project now support FPC compiler and lazarus) The FPC compiler: Yes, of course Lazarus: I don't know. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
(i.e. does the original project now support FPC compiler and lazarus) The FPC compiler: Yes, of course Lazarus: I don't know. Since it's a VCL control how can this be? Is there other VCL library for FPC too? George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-2, 21/07/2006 Tested on: 22/7/2006 1:10:22 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
Not sure how to make a patch btw, is there some builtin tool at lazarus to make Diffs or similar? Or does one use TortoiseCVS menu to do the Diff? Yes, use TortoiseSVN diff tool. 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 (i.e. does the original project now support FPC compiler and lazarus)? Can find links to latest SynEdit (2.x) at unihighlighter.com. It seems there's a project called Mystix that also updated it to have Code Folding (I know some people were asking about the Lazarus code folding). Also there's updates to UniSynEdit (Unicode SynEdit) etc. Strangely enough, the synedit.sf.net site has the old SynEdit only. Same goes for Unihighlighter, the http://www.delphist.com/UniHighlighter.html site has the old one (the one Lazarus port used) and www.unihighlighter.com has the new one. I haven't tried SynEdit 2.x and the new Unihighlighter yet, but sometime in the future when I do, I'll see what it takes to port the to Lazarus (seeing what changes had been done to old SynEdit to port it) George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-2, 21/07/2006 Tested on: 22/7/2006 1:07:30 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Sat, 22 Jul 2006 13:10:23 +0300 George Birbilis [EMAIL PROTECTED] wrote: (i.e. does the original project now support FPC compiler and lazarus) The FPC compiler: Yes, of course Lazarus: I don't know. Since it's a VCL control how can this be? Is there other VCL library for FPC too? VCL Delphi compiler. I never tried, but I heard, FPC can compile the VCL and the CLX. Mattias George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-2, 21/07/2006 Tested on: 22/7/2006 1:10:22 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Sat, 22 Jul 2006, Mattias Gaertner wrote: On Sat, 22 Jul 2006 13:10:23 +0300 George Birbilis [EMAIL PROTECTED] wrote: (i.e. does the original project now support FPC compiler and lazarus) The FPC compiler: Yes, of course Lazarus: I don't know. Since it's a VCL control how can this be? Is there other VCL library for FPC too? VCL Delphi compiler. I never tried, but I heard, FPC can compile the VCL and the CLX. It can compile the CLX, except for some Midas stuff. In fact, this is what allows projects such as CrossFPC to work... Michael. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
The next generation SynEdit component seems to be unisynedit (http://mh-nexus.de/unisynedit.htm). I have never used it though so I can't comment on how useable it is. Darius - Original Message - From: George Birbilis [EMAIL PROTECTED] To: lazarus@miraclec.com Sent: Saturday, July 22, 2006 12:10 PM Subject: RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem) Not sure how to make a patch btw, is there some builtin tool at lazarus to make Diffs or similar? Or does one use TortoiseCVS menu to do the Diff? Yes, use TortoiseSVN diff tool. 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 (i.e. does the original project now support FPC compiler and lazarus)? Can find links to latest SynEdit (2.x) at unihighlighter.com. It seems there's a project called Mystix that also updated it to have Code Folding (I know some people were asking about the Lazarus code folding). Also there's updates to UniSynEdit (Unicode SynEdit) etc. Strangely enough, the synedit.sf.net site has the old SynEdit only. Same goes for Unihighlighter, the http://www.delphist.com/UniHighlighter.html site has the old one (the one Lazarus port used) and www.unihighlighter.com has the new one. I haven't tried SynEdit 2.x and the new Unihighlighter yet, but sometime in the future when I do, I'll see what it takes to port the to Lazarus (seeing what changes had been done to old SynEdit to port it) George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-2, 21/07/2006 Tested on: 22/7/2006 1:07:30 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Sat, 22 Jul 2006 13:10:23 +0300 George Birbilis [EMAIL PROTECTED] wrote: Not sure how to make a patch btw, is there some builtin tool at lazarus to make Diffs or similar? Or does one use TortoiseCVS menu to do the Diff? Yes, use TortoiseSVN diff tool. 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 (i.e. does the original project now support FPC compiler and lazarus)? Can find links to latest SynEdit (2.x) at unihighlighter.com. It seems there's a project called Mystix that also updated it to have Code Folding (I know some people were asking about the Lazarus code folding). If it is only code folding: It is nearly complete. There are a few places left, which needs fixing. Also there's updates to UniSynEdit (Unicode SynEdit) etc. Strangely enough, the synedit.sf.net site has the old SynEdit only. Thanks to Mazen lazarus synedit supports even bidi. Compile with -dUSE_UTF8BIDI_LCL. Same goes for Unihighlighter, the http://www.delphist.com/UniHighlighter.html site has the old one (the one Lazarus port used) and www.unihighlighter.com has the new one. Does it use widestrings? I haven't tried SynEdit 2.x and the new Unihighlighter yet, but sometime in the future when I do, I'll see what it takes to port the to Lazarus (seeing what changes had been done to old SynEdit to port it) Great. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
Indeed, that page has recent date at its end, but it seems the non-Unicode (ANSI) SynEdit is updates as well at synedit.sf.net (see Downloads section for 2.0.3 stable release). The problem seems to be that the news section at the home page of synedit.sf.net is VERY VERY old and makes one believe the project is dead The next generation SynEdit component seems to be unisynedit (http://mh-nexus.de/unisynedit.htm). I have never used it though so I can't comment on how useable it is. Darius - Original Message - From: George Birbilis [EMAIL PROTECTED] To: lazarus@miraclec.com Sent: Saturday, July 22, 2006 12:10 PM Subject: RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem) Not sure how to make a patch btw, is there some builtin tool at lazarus to make Diffs or similar? Or does one use TortoiseCVS menu to do the Diff? Yes, use TortoiseSVN diff tool. 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 (i.e. does the original project now support FPC compiler and lazarus)? Can find links to latest SynEdit (2.x) at unihighlighter.com. It seems there's a project called Mystix that also updated it to have Code Folding (I know some people were asking about the Lazarus code folding). Also there's updates to UniSynEdit (Unicode SynEdit) etc. Strangely enough, the synedit.sf.net site has the old SynEdit only. Same goes for Unihighlighter, the http://www.delphist.com/UniHighlighter.html site has the old one (the one Lazarus port used) and www.unihighlighter.com has the new one. I haven't tried SynEdit 2.x and the new Unihighlighter yet, but sometime in the future when I do, I'll see what it takes to port the to Lazarus (seeing what changes had been done to old SynEdit to port it) George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-2, 21/07/2006 Tested on: 22/7/2006 1:07:30 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-2, 21/07/2006 Tested on: 22/7/2006 4:27:29 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On 7/22/06, George Birbilis [EMAIL PROTECTED] wrote: I haven't tried SynEdit 2.x and the new Unihighlighter yet, but sometime in the future when I do, I'll see what it takes to port the to Lazarus (seeing what changes had been done to old SynEdit to port it) Does that mean that there is no point in enhancing the SysEdit which is now in Lazarus? I have recently started poking around it and have some ideas ;-) -- Alexander S. Klenin Insight Experts Ltd. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter
I have the same captials for a Lisp editor I once made, but I thought it was just a settings that wasn't correct. It didnt bother me at the time. Darius Some colleagues tell me they found a Unihighlighter in Lazarus that's quite different from the one at unihighlighter.sf.net (I don't suppose it's the newer one from unihighlighter.com). It doesn't seem to work OK (they tried with the Lazarus version of SynEdit). Whatever they type-in shows in capital case Has anyone else used it? George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-1, 19/07/2006 Tested on: 21/7/2006 3:03:58 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter
I have the same captials for a Lisp editor I once made, but I thought it was just a settings that wasn't correct. It didnt bother me at the time. Afaik it's a showstopper for a project we have and will have to fix it myself most probably, that's why I'm asking if others have fixed this already... Seems to be based on 29-1-2003 build of Unihighlighter (http://www.delphist.com/UniHighlighter.html) and not on Unihighlighter.com's newer version, but that's the version of Unihighlighter I'm using anyway. I'll use WinDiff or ExamDiff to see what Tom changed when porting to Lazarus and see what he broke there to fix it (hope it's not a SynEdit Lazarus-port bug that only comes up when interating with Unihighlighter) George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-1, 19/07/2006 Tested on: 21/7/2006 4:20:52 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
I think I found the problem: 1) at SynUniHighlighter.pas, the procedure Register; begin RegisterComponents('SynEdit', [TSynUniSyn]); end; Should be removed (was added by Tom). The component registration action is repeated at SynUniReg.pas in a more correct way: procedure Register; begin RegisterComponents( SYNS_ComponentsPage, [TSynUniSyn] ); RegisterComponentEditor(TSynUniSyn, TSynUniEditor); end; As you see, here it uses the SYNS_ComponentsPage constant of SynEdit for the palette name. Users should open up and register SynUniReg.pas instead of SynUniHighlighter.pas 2) at SynUniHighlighter.pas, Tom didn't need to do all those changes, he could have used {$MODE DELPHI} instead. I suggest the original SynUniHighlighter.pas is taken (it's the same version from which Tom made the Lazarus port) from http://www.delphist.com/UniHighlighter.html and used with {$MODE DELPHI}. In fact there's high chance all the stuff Tom couldn't port (e.g. the designer) could be ported just by adding {$MODE DELPHI} in the sources of that UniHighlighter version (don't get newer UniHighlighter from UniHighlighter.com, don't think it works with SynEdit1.1, but only with 2.x) 3) the fix to the extisting SynUniHighlighter.pas that Tom made must be the following (haven't tested it). Search for //Birb below (2 fixes): function TNumberSymbols.GetToken(parser:TSynUniSyn; var tkSynSymbol1:TSynSymbol): boolean; begin repeat Inc(Parser.Run); until not (parser.fLine[parser.Run] in ['0'..'9']); if parser.fLine[parser.Run] in parser.fCurrentRule.fTermSymbols then begin Result:=True; tkSynSymbol1:=self.tkSynSymbol; //Birb: Tom had renamed the method parameter in the signature to tkSynSymbol1, but forgot to rename it in the code too end else Result:=false; end; function TDefaultTermSymbols.GetToken(parser: TSynUniSyn;var tkSynSymbol1:TSynSymbol): boolean; begin if parser.fLine[parser.Run]#0 then Inc(parser.Run); tkSynSymbol1:=self.tkSynSymbol; //Birb: Tom had renamed the method parameter in the signature to tkSynSymbol1, but forgot to rename it in the code too Result:=True; end; This bug would have been avoided if Tom did use {$MODE DELPHI} so that FPC wouldn't complain of the tkSynSymbol method parameter as a duplicate (the respective classes had a field with the same name which Delphi allows, but FPC doesn't seem to if {$MODE DELPHI} isn't used) *** Please try this fix (will tell my colleagues to try it too) and then somebody add this to Lazarus sourcebase. Would be glad if someone lets me know when new Lazarus with this fix is arround. * Will also tell my colleagues to try porting all the unihighlighter distro from http://www.delphist.com/UniHighlighter.html using Delphi compatibility mode of FPC and let you know if they do it successfully (don't have time at the moment to do it myself). If they make it we can put that one in Lazarus instead of Tom's partial port I suppose, since FPC can mix Pascal files of Delphi and non-Delphi mode OK. cheers, George George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup -Original Message- From: George Birbilis [mailto:[EMAIL PROTECTED] Sent: Friday, July 21, 2006 4:21 PM To: lazarus@miraclec.com Subject: RE: [lazarus] SynEdit + Unihighlighter I have the same captials for a Lisp editor I once made, but I thought it was just a settings that wasn't correct. It didnt bother me at the time. Afaik it's a showstopper for a project we have and will have to fix it myself most probably, that's why I'm asking if others have fixed this already... Seems to be based on 29-1-2003 build of Unihighlighter (http://www.delphist.com/UniHighlighter.html) and not on Unihighlighter.com's newer version, but that's the version of Unihighlighter I'm using anyway. I'll use WinDiff or ExamDiff to see what Tom changed when porting to Lazarus and see what he broke there to fix it (hope it's not a SynEdit Lazarus-port bug that only comes up when interating with Unihighlighter) George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-1, 19/07/2006 Tested on: 21/7/2006 5:38:45 ?? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
On Fri, 21 Jul 2006 17:39:59 +0300 George Birbilis [EMAIL PROTECTED] wrote: I think I found the problem: 1) at SynUniHighlighter.pas, the procedure Register; begin RegisterComponents('SynEdit', [TSynUniSyn]); end; Should be removed (was added by Tom). The component registration action is repeated at SynUniReg.pas in a more correct way: procedure Register; begin RegisterComponents( SYNS_ComponentsPage, [TSynUniSyn] ); RegisterComponentEditor(TSynUniSyn, TSynUniEditor); end; Where is this TSynUniEditor? As you see, here it uses the SYNS_ComponentsPage constant of SynEdit for the palette name. Users should open up and register SynUniReg.pas instead of SynUniHighlighter.pas 2) at SynUniHighlighter.pas, Tom didn't need to do all those changes, he could have used {$MODE DELPHI} instead. I suggest the original SynUniHighlighter.pas is taken (it's the same version from which Tom made the Lazarus port) from http://www.delphist.com/UniHighlighter.html and used with {$MODE DELPHI}. In fact there's high chance all the stuff Tom couldn't port (e.g. the designer) could be ported just by adding {$MODE DELPHI} in the sources of that UniHighlighter version (don't get newer UniHighlighter from UniHighlighter.com, don't think it works with SynEdit1.1, but only with 2.x) 3) the fix to the extisting SynUniHighlighter.pas that Tom made must be the following (haven't tested it). Search for //Birb below (2 fixes): function TNumberSymbols.GetToken(parser:TSynUniSyn; var tkSynSymbol1:TSynSymbol): boolean; begin repeat Inc(Parser.Run); until not (parser.fLine[parser.Run] in ['0'..'9']); if parser.fLine[parser.Run] in parser.fCurrentRule.fTermSymbols then begin Result:=True; tkSynSymbol1:=self.tkSynSymbol; //Birb: Tom had renamed the method parameter in the signature to tkSynSymbol1, but forgot to rename it in the code too end else Result:=false; end; function TDefaultTermSymbols.GetToken(parser: TSynUniSyn;var tkSynSymbol1:TSynSymbol): boolean; begin if parser.fLine[parser.Run]#0 then Inc(parser.Run); tkSynSymbol1:=self.tkSynSymbol; //Birb: Tom had renamed the method parameter in the signature to tkSynSymbol1, but forgot to rename it in the code too Result:=True; end; This bug would have been avoided if Tom did use {$MODE DELPHI} so that FPC wouldn't complain of the tkSynSymbol method parameter as a duplicate (the respective classes had a field with the same name which Delphi allows, but FPC doesn't seem to if {$MODE DELPHI} isn't used) *** Please try this fix (will tell my colleagues to try it too) and then somebody add this to Lazarus sourcebase. Would be glad if someone lets me know when new Lazarus with this fix is arround. * Will also tell my colleagues to try porting all the unihighlighter distro from http://www.delphist.com/UniHighlighter.html using Delphi compatibility mode of FPC and let you know if they do it successfully (don't have time at the moment to do it myself). If they make it we can put that one in Lazarus instead of Tom's partial port I suppose, since FPC can mix Pascal files of Delphi and non-Delphi mode OK. Will you create a patch? Mattias cheers, George George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup -Original Message- From: George Birbilis [mailto:[EMAIL PROTECTED] Sent: Friday, July 21, 2006 4:21 PM To: lazarus@miraclec.com Subject: RE: [lazarus] SynEdit + Unihighlighter I have the same captials for a Lisp editor I once made, but I thought it was just a settings that wasn't correct. It didnt bother me at the time. Afaik it's a showstopper for a project we have and will have to fix it myself most probably, that's why I'm asking if others have fixed this already... Seems to be based on 29-1-2003 build of Unihighlighter (http://www.delphist.com/UniHighlighter.html) and not on Unihighlighter.com's newer version, but that's the version of Unihighlighter I'm using anyway. I'll use WinDiff or ExamDiff to see what Tom changed when porting to Lazarus and see what he broke there to fix it (hope it's not a SynEdit Lazarus-port bug that only comes up when interating with Unihighlighter) George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-1, 19/07/2006 Tested on: 21/7/2006 5:38:45 ?? avast! - copyright (c) 1988-2006 ALWIL Software
RE: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
I think I found the problem: 1) at SynUniHighlighter.pas, the procedure Register; begin RegisterComponents('SynEdit', [TSynUniSyn]); end; Should be removed (was added by Tom). The component registration action is repeated at SynUniReg.pas in a more correct way: procedure Register; begin RegisterComponents( SYNS_ComponentsPage, [TSynUniSyn] ); RegisterComponentEditor(TSynUniSyn, TSynUniEditor); end; Where is this TSynUniEditor? If that one is missing at the Lazarus port, the respective line should be commented out As you see, here it uses the SYNS_ComponentsPage constant of SynEdit for the palette name. Users should open up and register SynUniReg.pas instead of SynUniHighlighter.pas 2) at SynUniHighlighter.pas, Tom didn't need to do all those changes, he could have used {$MODE DELPHI} instead. I suggest the original SynUniHighlighter.pas is taken (it's the same version from which Tom made the Lazarus port) from http://www.delphist.com/UniHighlighter.html and used with {$MODE DELPHI}. In fact there's high chance all the stuff Tom couldn't port (e.g. the designer) could be ported just by adding {$MODE DELPHI} in the sources of that UniHighlighter version (don't get newer UniHighlighter from UniHighlighter.com, don't think it works with SynEdit1.1, but only with 2.x) 3) the fix to the extisting SynUniHighlighter.pas that Tom made must be the following (haven't tested it). Search for //Birb below (2 fixes): function TNumberSymbols.GetToken(parser:TSynUniSyn; var tkSynSymbol1:TSynSymbol): boolean; begin repeat Inc(Parser.Run); until not (parser.fLine[parser.Run] in ['0'..'9']); if parser.fLine[parser.Run] in parser.fCurrentRule.fTermSymbols then begin Result:=True; tkSynSymbol1:=self.tkSynSymbol; //Birb: Tom had renamed the method parameter in the signature to tkSynSymbol1, but forgot to rename it in the code too end else Result:=false; end; function TDefaultTermSymbols.GetToken(parser: TSynUniSyn;var tkSynSymbol1:TSynSymbol): boolean; begin if parser.fLine[parser.Run]#0 then Inc(parser.Run); tkSynSymbol1:=self.tkSynSymbol; //Birb: Tom had renamed the method parameter in the signature to tkSynSymbol1, but forgot to rename it in the code too Result:=True; end; This bug would have been avoided if Tom did use {$MODE DELPHI} so that FPC wouldn't complain of the tkSynSymbol method parameter as a duplicate (the respective classes had a field with the same name which Delphi allows, but FPC doesn't seem to if {$MODE DELPHI} isn't used) *** Please try this fix (will tell my colleagues to try it too) and then somebody add this to Lazarus sourcebase. Would be glad if someone lets me know when new Lazarus with this fix is arround. * Will also tell my colleagues to try porting all the unihighlighter distro from http://www.delphist.com/UniHighlighter.html using Delphi compatibility mode of FPC and let you know if they do it successfully (don't have time at the moment to do it myself). If they make it we can put that one in Lazarus instead of Tom's partial port I suppose, since FPC can mix Pascal files of Delphi and non-Delphi mode OK. Will you create a patch? Still waiting to see if others can try it and see if it works (I only compared the sources with WinDiff, haven't got time currently to test it) Not sure how to make a patch btw, is there some builtin tool at lazarus to make Diffs or similar? Or does one use TortoiseCVS menu to do the Diff? George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 Borland Spirit of Delphi * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0629-2, 21/07/2006 Tested on: 22/7/2006 2:27:58 p? avast! - copyright (c) 1988-2006 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit + Unihighlighter (must have fixed caps problem)
2006/7/21, George Birbilis [EMAIL PROTECTED]: Not sure how to make a patch btw, is there some builtin tool at lazarus to make Diffs or similar? Or does one use TortoiseCVS menu to do the Diff? Yes, use TortoiseSVN diff tool. 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 (i.e. does the original project now support FPC compiler and lazarus)? -- Alexandre Leclerc _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit
On Thu, 1 Jun 2006 19:38:29 -0300 Flávio Etrusco [EMAIL PROTECTED] wrote: On 6/1/06, Graeme Geldenhuys [EMAIL PROTECTED] wrote: On 3/31/06, Mattias Gaertner [EMAIL PROTECTED] wrote: Indeed, had forgotten that it seems Lazarus uses SynEdit for the source-code editor Is the Lazarus SynEdit version available at synedit.sf.net or some private Lazarus modification of it? If it's the 2nd, where can I get it and on which SynEdit version was it based? 1.3 with hundreds of additions. Mattias Just being picky, there wasn't a version 1.3, we jumped from 1.1 to Right. I guess, I confused it with a number of a single file. AFAIR it is from 2001 jan. 2.0 (ot: contrary to my opinion, which was for a 1.2 release...). So - and guessing from the code - it must be 1.1. Like what was added to SynEdit? Major change AFAICS: code folding. Should be one day work to complete. All the other changes I can remeber are either really minors (one-liners-like) or are supported in newest SynEdit with some other form. Could we give them a patch of what we have added to get the two in sync. Surely it would benefit us if we were in sync with the latest SynEdit. That way we can always grab the lastest version for SF and compile it into Lazarus (or would that be a impossibility). No. Only a lot of work. Right now I have it basically working, but in the mean time I'm playing with inheriting it from TScrollingWinControl to avoid that dang Windows API calls. I'll discuss the patch soon. I just think it is silly for us to fix bugs in SynEdit, when they already fixed them in v2. Referring to Tabs as an example and I am sure there are lots of others. Anybody know if SynEdit v2 is just a continuation of SynEdit v1, or was it a complete rewrite. Could we try any apply some of the SynEdit v2 changes to the Lazarus synedit.pp to get them on par. No, it's not a complete rewrite. But I sure always wanted and am always wanting to do it ;-) NOTE: I am not familiar with synedit code, so if all this sounds like rubbish, just tell me so. ;-) Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit
On 6/1/06, Graeme Geldenhuys [EMAIL PROTECTED] wrote: On 3/31/06, Mattias Gaertner [EMAIL PROTECTED] wrote: Indeed, had forgotten that it seems Lazarus uses SynEdit for the source-code editor Is the Lazarus SynEdit version available at synedit.sf.net or some private Lazarus modification of it? If it's the 2nd, where can I get it and on which SynEdit version was it based? 1.3 with hundreds of additions. Mattias Just being picky, there wasn't a version 1.3, we jumped from 1.1 to 2.0 (ot: contrary to my opinion, which was for a 1.2 release...). So - and guessing from the code - it must be 1.1. Like what was added to SynEdit? Major change AFAICS: code folding. All the other changes I can remeber are either really minors (one-liners-like) or are supported in newest SynEdit with some other form. Could we give them a patch of what we have added to get the two in sync. Surely it would benefit us if we were in sync with the latest SynEdit. That way we can always grab the lastest version for SF and compile it into Lazarus (or would that be a impossibility). Right now I have it basically working, but in the mean time I'm playing with inheriting it from TScrollingWinControl to avoid that dang Windows API calls. I'll discuss the patch soon. I just think it is silly for us to fix bugs in SynEdit, when they already fixed them in v2. Referring to Tabs as an example and I am sure there are lots of others. Anybody know if SynEdit v2 is just a continuation of SynEdit v1, or was it a complete rewrite. Could we try any apply some of the SynEdit v2 changes to the Lazarus synedit.pp to get them on par. No, it's not a complete rewrite. But I sure always wanted and am always wanting to do it ;-) NOTE: I am not familiar with synedit code, so if all this sounds like rubbish, just tell me so. ;-) Regards, Graeme. Cheers, Flávio _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] SynEdit
Has anybody gotten SynEdit (http://synedit.sf.net) and maybe also UniHighlighter to work under Lazarus? Lazarus works with a private copy synedit; you can install this copy as components in the IDE. Indeed, had forgotten that it seems Lazarus uses SynEdit for the source-code editor Is the Lazarus SynEdit version available at synedit.sf.net or some private Lazarus modification of it? If it's the 2nd, where can I get it and on which SynEdit version was it based? tia, George George Birbilis ([EMAIL PROTECTED]) Microsoft MVP J# for 2004-2006 * QuickTime, QTVR, ActiveX, VCL, .NET http://www.kagi.com/birbilis * Robotics PhD student http://www.mech.upatras.gr/~Robotics http://www.mech.upatras.gr/~robgroup _ avast! Antivirus http://www.avast.com : Outbound message clean. Virus Database (VPS): 0613-2, 31/03/2006 Tested on: 31/3/2006 8:03:43 ?? avast! - copyright (c) 1988-2005 ALWIL Software. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit
On Fri, 31 Mar 2006 20:03:46 +0300 George Birbilis [EMAIL PROTECTED] wrote: Has anybody gotten SynEdit (http://synedit.sf.net) and maybe also UniHighlighter to work under Lazarus? Lazarus works with a private copy synedit; you can install this copy as components in the IDE. Indeed, had forgotten that it seems Lazarus uses SynEdit for the source-code editor Is the Lazarus SynEdit version available at synedit.sf.net or some private Lazarus modification of it? If it's the 2nd, where can I get it and on which SynEdit version was it based? 1.3 with hundreds of additions. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit
On 3/31/06, George Birbilis [EMAIL PROTECTED] wrote: Is the Lazarus SynEdit version available at synedit.sf.net or some private Lazarus modification of it? Well, in my Lazarus, I can see a SynEdit tab with almost 20 visual components. It´s after the System tab. And I did not install any extra packages. -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] SynEdit
On 3/31/06, George Birbilis [EMAIL PROTECTED] wrote: Is the Lazarus SynEdit version available at synedit.sf.net or some private Lazarus modification of it? It is a private modification. So the one from sourceforge will not work. Sources for lazarus one are on your hard drive under /components/synedit/ You may be able to get the Lazarus one to work in Delphi, but the one from source forge would not work out of the box in lazarus. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Synedit patch
On Sat, 11 Mar 2006 20:01:26 -0700 L505 [EMAIL PROTECTED] wrote: Implemented GetHighlighterAttriAtRowColEx from looking at Delphi synedit. Better token sniffing available. See attached. Applied. Thanks. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Synedit patch
Implemented GetHighlighterAttriAtRowColEx from looking at Delphi synedit. Better token sniffing available. See attached. also, we might want to make some of those OUT instead of VAR parameters if you think it is better. Did not do that in the patch, please implement that if you want. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Synedit error-Bit more
Why don't we try Ord() function? [EMAIL PROTECTED] wrote: Hi John. FontStyle is a 'set' , but I think you can get it this way: --- type pFontStyles = ^TFontStyles; pInteger = ^integer; function FontStylesToInteger(const Value : TFontStyles): integer; begin Result := pInteger(@Value)^; end; function IntegerToFontStyles(const Value : integer): TFontStyles; begin Result := pFontStyles(@Value)^; end; Tell me if it works :) /Chrizz Message from John Samperi [EMAIL PROTECTED] received on 2005-11-15 04:29 2005-11-15John Samperi [EMAIL PROTECTED] 04:29 Please respond to lazarus@miraclec.com Sent by John Samperi [EMAIL PROTECTED] To: lazarus@miraclec.com cc: (bcc: Christer T Johansson/SEROP/ABB) Subject: [lazarus] Synedit error-Bit more OK so now I have Background colour and Font colour working using WriteInteger: myINI.WriteInteger('Editor','Background Colour',SynEdit1.Color); myINI.WriteInteger('Editor','Font Color',SynEdit1.Font.Color); Trying to do the same with Font.Style brings up another error Got TFontStyles expected LongInt myINI.WriteInteger('Editor','Font Style',SynEdit1.Font.Style); So it's not an integer and it's not a string. :-[ Please keep in mind I'm only an OLD beginner :-) This is how the defaults ares set up if the ini file doesn't exists. procedure TForm1.SetDefaults; begin Display_Address:=$1f; //Set up default display Clock_Address:=$19; //and clock adress SynEdit1.Color:=clBlack; SynEdit1.Font.Name:='Times New Roman'; SynEdit1.Font.Color:=clRed; SynEdit1.Font.Style:=[];//'Regular'** SynEdit1.Font.Size:=12; end; _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Synedit error-Bit more
Hi, Am Dienstag, den 15.11.2005, 11:09 +0300 schrieb Timothy Ha: Why don't we try Ord() function? Ord() doesn't work for sets. Ord is for Ordinal, which implies position. There is no position in sets. cheers, Danny _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Synedit error
myINI.WriteString('Editor','Background Colour',SynEdit1.Color); I get an error. Got TGraphicsColor expected AnsiString On first sight, I would expect WriteString to recieve strings, and not TColor, so either try : myINI.WriteString('Editor','Background Colour',IntToStr(SynEdit1.Color)); or myINI.WriteInteger('Editor','Background Colour',SynEdit1.Color); Darius _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Synedit HEEELLLLPPPP
Hi John, On Thu, 10 Nov 2005 19:48 , John Samperi [EMAIL PROTECTED] sent: Get rid of the silver bar at the left hand side of Synedit? yourSynEdit.Gutter.Width := 0; OR yourSynEdit.Gutter.Visible := false; Use simple text mode? I didn't realise it could display anything other than simple text? Wrap text around to the next line at about 80 chars or whatever I need? Load text attributes without having to store and retrieve them from my .INI file? (Can do it but if there us an easier way...) In other words make it work like Richedit :-) It's almost there! This sounds most interesting. What text attributes are you saving? Are you managing to display different font styles, justification and font sizes? I've been trying to find a way of doing this using lazarus. Malcolm Message sent via freenetname webmail - http://www.freenetname.co.uk/ Up to 2Mb MAX broadband - now from just £9.99 a month _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives