Difference between revisions of "User:Martin"

From Lazarus wiki
Jump to navigationJump to search
Line 21: Line 21:
 
:* <s>maybe IFDEF </s>
 
:* <s>maybe IFDEF </s>
 
:* <s>User-defined  { $REGION} </s>
 
:* <s>User-defined  { $REGION} </s>
* Folding: The ability of copy and past code, that contains folded blocks, and keeps them folded when inserted
+
* <s>Folding: The ability of copy and past code, that contains folded blocks, and keeps them folded when inserted</s>
 
* Folding, save with session
 
* Folding, save with session
 
* <s>Handle DoubleWidth char (Chinese, ...)</s>
 
* <s>Handle DoubleWidth char (Chinese, ...)</s>
 +
* <s>User definable Mouse Actions / Configuration</s>
 
* WordWrap
 
* WordWrap
 
* Sync Edit: Edit one word in more than one location, updating all locations at the same time
 
* Sync Edit: Edit one word in more than one location, updating all locations at the same time

Revision as of 00:03, 12 June 2009

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

  • Move all gutter code into a structure of Classes: (Started / Partly done / 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
  • 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}
  • 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
  • WordWrap
  • Sync Edit: Edit one word in more than one location, updating all locations at the same time
  • Look at Synedit 2.x (import and maybe export back to them)
  • Allow to have multiple editors open in Lazarus, and have more than one view of the same document.
  • Writing TestCases

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)