Hi all, Codefolding has been started in lazarus' synedit. Now we are searching developers helping us to finish it.
What is working: - The codefolding parsing is done by the highlighters. They parse all code anyway and this way the overhead is hardly measurable by gprof. - TSynCustomHighlighter is nearly complete and provides functions like StartCodeFoldBlock and EndCodeFoldBlock. This way adapting a highlighter to support codefolding is very easy. - As an example TSynPasSyn has been adapted. It starts a block at 'begin' and ends at 'end'. - SynEdit shows the codefolding marks, when Gutter.ShowCodefolding=true. You can enable this in the IDE (editor options), but at the moment this is too incomplete/buggy, so better create a small test application with a TSynEdit and a TSynPasSyn. - Clicking on the folding marks to fold/unfold blocks. - TSynEdit.PixelsToRowColumn and TSynEdit.RowColumnToPixels are complete - Two new functions: TSynEdit.ScreenRowToRow and TSynEdit.RowToScreenRow What is missing: - extend TSynPasSyn to support more blocks (e.g. repeat until) - find and fix the synedit functions, that moves the caret, or edit text. For instance, when the caret is moved to a folded line, it should unfold all container blocks. Mattias _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives