Difference between revisions of "User:Martin"
From Free Pascal wiki
Jump to navigationJump to search (→Plans) |
|||
Line 30: | Line 30: | ||
* Pascal syntax check as you write | * Pascal syntax check as you write | ||
* 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. | + | * <s>Allow to have multiple editors open in Lazarus, and have more than one view of the same document.</s> |
* Writing TestCases | * Writing TestCases | ||
Revision as of 03:29, 30 April 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
- 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 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 sectionsmaybe IFDEFUser-defined { $REGION}
Folding: The ability of copy and past code, that contains folded blocks, and keeps them folded when insertedFolding, save with sessionHandle DoubleWidth char (Chinese, ...)User definable Mouse Actions / Configurationinteractive parms forcode-templates exampleSync Edit: Edit one word in more than one location, updating all locations at the same timeexamplePersistent Blocks- WordWrap
- Pascal syntax check as you write
- 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)