From: <Don...@ot...> - 2009-08-27 07:30:03
|
Hi, by the way, looks like the html highlighter does not highlight ˜ Regards Ruediger -----Ursprüngliche Nachricht----- Von: Vincent Parrett [mailto:vi...@fi...] Gesendet: Donnerstag, 27. August 2009 08:27 An: syn...@li... Betreff: [Synedit-devel] SynEdit changes? Hi All Looks like this list has become overrun with spam! What is the status of the SynEdit project? Is anyone actively developing it? I have some changes that I would like to make but I don't want to step on anyone's toes (I'm using the version in the unicode branch) . Does anyone use CLX these days? My view is that we should remove CLX support from SynEdit. This would certainly tidy the code up and make it a lot easier to maintain. I would like to make some improvements to attributes and painting of tokens. One idea I had on this was to implement an optional interface on the attribute class that if implemented would handle the painting of the token. What I'm wanting to do is to be able to add red squiggly lines under some tokens, draw a box with a colored background around others. Further down the track it would be nice to hook a semantic parser service into synedit to allow language error highlighting and reporting, like the structure pane in delphi, plus tool tips with information about identifiers, methods etc. This would require more advanced painting of tokens, and more information about tokens and their positions etc. I'm still looking into how to achieve this, with the hope of creating a simple demo to get things started. I'm still learning my way around the source code at the moment so there may already be a way to do some of this but it's not obvious. Changes I have made already : GetMatchingBracketEx - this has a hard coded array of brackets, I added an overload that allows you to pass in the array. I need to use this functionality to match % symbols. I would also like to do matching of $(....) but this function only works on single character tokens. It might be possible make this work without changing the function. This functionality really belongs outside the editor though. function GetMatchingBracketEx(const APoint: TBufferCoord; Brackets : array of WideChar): TBufferCoord; overload;virtual; function GetMatchingBracketEx(const APoint: TBufferCoord): TBufferCoord; overload;virtual; function TCustomSynEdit.GetMatchingBracketEx(const APoint: TBufferCoord): TBufferCoord; const Brackets: array[0..7] of WideChar = ('(', ')', '[', ']', '{', '}', '<', '>'); begin result := GetMatchingBracketEx(APoint,Brackets); end; Single Line mode - I needed a single line mode.. I added an eoSingleLine option and also a SingleLine public property (which manipulates the options), and check the SingleLine property when handling ecLineBreak (not sure if this is the best way) function TCustomSynEdit.GetSingleLine: boolean; begin result := eoSingleLine in FOptions; end; procedure TCustomSynEdit.SetSingleLine(const Value: boolean); begin if value then Include(FOptions,eoSingleLine) else Exclude(FOptions,eoSingleLine); end; In ExecuteCommand : ecLineBreak: if not (ReadOnly or SingleLine) then begin -- Regards Vincent Parrett VSoft Technologies Pty Ltd http://www.finalbuilder.com Blog: http://www.finalbuilder.com/blogs.aspx Automate your Software builds with FinalBuilder. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Synedit-devel mailing list Syn...@li... https://lists.sourceforge.net/lists/listinfo/synedit-devel |