[Lazarus] SynEdit question (IFDEF SYN_LAZARUS)

Martin Friebe lazarus at mfriebe.de
Thu Jun 26 16:44:08 CEST 2008


> Yes. And we need markers for live templates. For example some green blocks and
> some red blocks.
> The HighlightAll markers can be used for identifier references too.
>   
Not sure what you refer too.

But it will probably work. Not necessarily with the highlight all (which 
is search based).

But it should be easy once I have an  SynEditTextMarkup object.
The idea is that it provides functions like
MarkupStyleAndColorAtPos( XPosInLine ) : SomeStyleInfo;
XPosOfNextMarkupChange( CurrentXPosInLine ) : integer;

Then while adding a token, to the token akku, it would be splitted (if 
needed) and the markup applied.
=> so any other (non Language (eg non-pascal, non-html,...)) Markup, 
could be done in there.

I'll post more, once I converted my current proto-type, to support this.

BestRegards
Martin


Mattias Gärtner wrote:
> Zitat von Martin Friebe <lazarus at mfriebe.de>:
>
>   
>> Makes sense,or well depends on how old the plans are, and how much
>> SynEdit has moved since.
>> One block, that is of particular interest to me is the PaintLines.
>>
>> PaintLines happens to be an IFDEF SYNLAZ over several 100 (or 1000?)
>> lines. A complete Lazarus, and a complete Original version.
>> IMHO an IfDef of this Size IMHO doesn't serve the protection/diff
>> purpose very much?
>>     
>
> There were so many IFDEFs in that part that it was hardly readable. It reached a
> critical limit.
>
>
>   
>> I have a patch/prototype (still some cleanup on it) for a "highlight
>> All" during search feature.
>>     
>
> Cool.
>
>   
>> Marc Weustink has a copy of this (because I
>> had previously send other patches to him).
>> This will however require some changes to PaintToken.
>> Also PaintToken appears to have several other shortcomings/bugs, which
>> could easily be fixed/
>> => but all of those would probably end up in a rewrite of PaintToken
>> (which is why I haven't reported those issues yet)
>>     
>
> No problem. PaintToken is an optimized function. And like most optimized
> functions: When adding new features, you have to rewrite it.
>
>
>   
>> Any feedback guiding me in this issue would be welcome.
>> I can also (in the evening) mail my prototype and comments about it =>
>> but I don't know what/if Marc has any plans on it.
>>
>> Another idea (and so far not beyond the state of an idea) is to move all
>> TextMarking (HighlightBrackets, SpecialLines, SelectedBlock, and the new
>> HighlightAll => features that are not SynEditHighlighter), into a new
>> class SynEditTextMarkup. However "PaintLines" still would need changes.
>>     
>
> Yes. And we need markers for live templates. For example some green blocks and
> some red blocks.
> The HighlightAll markers can be used for identifier references too.
>
> Mattias
>
> _______________________________________________
> Lazarus mailing list
> Lazarus at lazarus.freepascal.org
> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
>   



More information about the Lazarus mailing list