Just as a confirmation that I have them, and will look through them asap.

I was until yesterday for yet unknown reasons unable to get the list mails

Martin

Paul Ishenin wrote:

G'day all,

Just for information I've attached some patches I apply to my local tree and use in an application
I'm working on.

These are not any form of an example of how to write good code, they are gross hacks that have "evolved" as lazarus has evolved over the last 9 months or so and I adapt them as required as the code changes under me. If anyone finds any of the bits useful, I'm more than happy to clean them up and work with the relative authors to make them acceptable to the general code base. Conversely, I've maintained them in my own tree for 9 months and I'm happy to keep doing so.

I'm also very open to suggestions as to how I might achieve my desired results without having to
hack the codebase.

laz-find.patch :
This adds an extra checkbox and set member to the find/replace dialogs to allow selection of "entire
scope" as a search parameter.

laz-synpatch-005.patch
This is a gross hack, but it allows clicking *anywhere* on the grey fold line in the gutter to fold that particular level of routine. I have some procedures that are very long and it's nice to be able to click on that line from the bottom of the procedure and have it fold up on me.

laz-synpatch-007.patch
This is another gross hack, but in a highlighter I've written I use this to enable me to ensure the remainder of a line is painted in the right background colour. Synedit calls this "GetLineRemainder" routine (if assigned in the highlighter) to get the colour the remainder of the line is to be painted after it has finished painting all its tokens. Without this I was getting odd line
remainders when I scrolled often. With this I get perfection every time.

laz-synpatch-008.patch
And the final gross hack. I store the folded status of each open file in my overall project file. The easy way for me to do this is in a sequential comma delimited list of line numbers that are folded. This routine "DumpFolds" gives me a string which is a comma delimited list of all the lines that are folded. Then when I reload the project I can simply fold those lines in reverse order to
get precisely the folds I had previously.

On another note, recent work by Martin Friebe and Paul Ishenin has rendered three other gross hacks
I've had in my tree irrelevant :)

Regards,
Brad


_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to