Difference between revisions of "User:Martin"
From Lazarus wiki
Jump to navigationJump to searchLine 6: | Line 6: | ||
==Plans== | ==Plans== | ||
* Fix bugs | * Fix bugs | ||
− | |||
* Clean up and refactor. Someone already put up some ideas here [[Redesign of the SynEdit component]]. And there is more | * 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: (Started / Partly done / Needs clean up) | :* Move all gutter code into a structure of Classes: (Started / Partly done / Needs clean up) | ||
:: <s>TGutterManager: To Represent to act as an interface and represent the whole Gutter</s> | :: <s>TGutterManager: To Represent to act as an interface and represent the whole Gutter</s> | ||
:: <s>TGutterLineNumbers, TGutterFoldInfo, TGutterMarks, TGutterBrkPoints: To draw the individual columns of the Gutter.</s> | :: <s>TGutterLineNumbers, TGutterFoldInfo, TGutterMarks, TGutterBrkPoints: To draw the individual columns of the Gutter.</s> | ||
− | |||
:* Move drawing the Text To it's own class (like the gutter) | :* Move drawing the Text To it's own class (like the gutter) | ||
:* Create classes for Caret, <s>BlockSelection,</s> ViewPort (Topline,LeftChar, LinesInWindow, WindowWidthInChar) | :* Create classes for Caret, <s>BlockSelection,</s> ViewPort (Topline,LeftChar, LinesInWindow, WindowWidthInChar) | ||
Line 17: | Line 15: | ||
:* 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 | ||
− | |||
− | |||
− | |||
− | |||
* More folding | * More folding | ||
:* <s>Class and Class sections (public,private,...) in the Interface Part [[http://bugs.freepascal.org/view.php?id=12139 |Bug 12139]]</s> | :* <s>Class and Class sections (public,private,...) in the Interface Part [[http://bugs.freepascal.org/view.php?id=12139 |Bug 12139]]</s> | ||
Line 26: | Line 20: | ||
:* <s>var/const/type sections</s> | :* <s>var/const/type sections</s> | ||
:* maybe IFDEF | :* maybe IFDEF | ||
− | :* | + | :* User-defined { $REGION} |
* Folding: The ability of copy and past code, that contains folded blocks, and keeps them folded when inserted | * Folding: The ability of copy and past code, that contains folded blocks, and keeps them folded when inserted | ||
* Folding, save with session | * Folding, save with session | ||
* Handle DoubleWidth char (Chinese, ...) | * Handle DoubleWidth char (Chinese, ...) | ||
* WordWrap | * 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) | * 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. | * Allow to have multiple editors open in Lazarus, and have more than one view of the same document. |
Revision as of 14:34, 31 January 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
- Fix bugs
- 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: (Started / Partly done / Needs clean up)
TGutterManager: To Represent to act as an interface and represent the whole GutterTGutterLineNumbers, 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;" linevar/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, ...)
- 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)