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

Reply via email to