Difference between revisions of "User:Martin"

From Lazarus wiki
Jump to navigationJump to search
Line 12: Line 12:
 
::* <s>maybe IFDEF </s>
 
::* <s>maybe IFDEF </s>
 
::* <s>User-defined  { $REGION} </s>
 
::* <s>User-defined  { $REGION} </s>
::* All kind of comments {} (**) //
+
::* <s>All kind of comments {} (**) // </s>
::* Hide-Fold: Collapse to 0 lines. E.g Fold/Hide single line comment
+
::* <s>Hide-Fold: Collapse to 0 lines. E.g Fold/Hide single line comment</s>
 
::* Multi-Line fold header: Currently only the line with the fold keyword (e.g. "procedure" is kept visible.
 
::* Multi-Line fold header: Currently only the line with the fold keyword (e.g. "procedure" is kept visible.
 
::: For Multiline procedure declaration, the whole procedure declaration may be wanted visible. Folding only local var, type and code
 
::: For Multiline procedure declaration, the whole procedure declaration may be wanted visible. Folding only local var, type and code
Line 40: Line 40:
 
:* Reduce the Calculation overhead. There currently is some internal Data that SynEedit keeps recalculating more often than needed. (This should benefit from The caret and Viewpoint classes)
 
:* Reduce the Calculation overhead. There currently is some internal Data that SynEedit keeps recalculating more often than needed. (This should benefit from The caret and Viewpoint classes)
 
:* Defer the calculation of some of the internal data. Calculate either OnIdle, or OnRequest
 
:* Defer the calculation of some of the internal data. Calculate either OnIdle, or OnRequest
 
  
 
==Done==
 
==Done==

Revision as of 22:58, 15 December 2010

Hi. My name is Martin Friebe. I am a professional Software Developer. I was born in Germany, and I am now living in London (UK).

I got involved with Lazarus by contributing some patches (Debugger, Synedit, Code-Folding). I am now mainly looking at improving SynEdit.

Plans

  • Features
  • More folding
  • Class and Class sections (public,private,...) in the Interface Part [|Bug 12139]
  • Full Procedure/function at "Procedure xxx;" line
  • var/const/type sections
  • maybe IFDEF
  • User-defined { $REGION}
  • All kind of comments {} (**) //
  • Hide-Fold: Collapse to 0 lines. E.g Fold/Hide single line comment
  • Multi-Line fold header: Currently only the line with the fold keyword (e.g. "procedure" is kept visible.
For Multiline procedure declaration, the whole procedure declaration may be wanted visible. Folding only local var, type and code
  • Folding: The ability of copy and past code, that contains folded blocks, and keeps them folded when inserted
  • Folding, save with session
  • Handle DoubleWidth char (Chinese, ...)
  • User definable Mouse Actions / Configuration
  • interactive parms forcode-templates example
  • Sync Edit: Edit one word in more than one location, updating all locations at the same timeexample
  • Persistent Blocks
  • WordWrap
  • Pascal syntax check as you write
  • Highlight of none active co0de (IFDEF)
  • Gutter for error overview (compilation or codetool errors). The gutter shows the full file, mapping the locations like the slider on a scrollbar.
  • Allow to have multiple editors open in Lazarus, and have more than one view of the same document.
  • Writing TestCases
  • Clean up and refactor.
Someone already put up some ideas here Redesign of the SynEdit component. And there is more
  • Move all gutter code into a structure of Classes (Needs clean up)
TGutterManager: To Represent to act as an interface and represent the whole Gutter
TGutterLineNumbers, TGutterFoldInfo, TGutterMarks, TGutterBrkPoints: To draw the individual columns of the Gutter.
  • Move drawing the Text To it's own class (like the gutter)
  • Create classes for Caret, BlockSelection, ViewPort (Topline,LeftChar, LinesInWindow, WindowWidthInChar)
This will help to more clearly define interactions between them (Via OnChangeNotify callbacks)
  • Reduce the Calculation overhead. There currently is some internal Data that SynEedit keeps recalculating more often than needed. (This should benefit from The caret and Viewpoint classes)
  • Defer the calculation of some of the internal data. Calculate either OnIdle, or OnRequest

Done

  • Fixed Bugs
  • Various debugger patches sent to Marc
  • Refactored CodeFolding: A majority of the folding code has been moved into it's own classes
  • Refactored TrimTrailingSpaces: Moved into it's own class, which acts as a "view" (virtual TextBuffer, between SynEdit, and SynEditTextBuffer)