Difference between revisions of "LMD 2007 - History LMD IDE-Tools"

From LMD
Jump to: navigation, search
(Release 1.20 (04-Mar-2008))
(LMD SyntaxEdit RoadMap)
Line 12: Line 12:
  
 
== LMD SyntaxEdit RoadMap ==
 
== LMD SyntaxEdit RoadMap ==
* Nearest release (end of this January)
+
* Latest release 1.20 ''(released 04 March)''
 
** [http://bts.lmd.de/mantis/view.php?id=567 Spellcheck support] using Addict (or other spellchecker using Windows RichEdit '''EM_***'''  messages). <br> See [http://msdn2.microsoft.com/en-us/library/aa924582.aspx MSDN page on those messages]
 
** [http://bts.lmd.de/mantis/view.php?id=567 Spellcheck support] using Addict (or other spellchecker using Windows RichEdit '''EM_***'''  messages). <br> See [http://msdn2.microsoft.com/en-us/library/aa924582.aspx MSDN page on those messages]
** [http://bts.lmd.de/mantis/view.php?id=570 Issue] with cursor position (and other significant TLMDEditView parameters) saving when it switches from/to different Documents. <br> Very useful for tabbed editing.
 
** [http://bts.lmd.de/mantis/view.php?id=541 Back unindent] feature that aligns the cursor with the previous indentation level from the preceding line when pressing the 'Backspace' key
 
 
** New word wrap [http://bts.lmd.de/mantis/view.php?id=569 mode] to wrap the text at the window width. <br> When window is resized, wrap is automatically adjusted to the new window width.
 
** New word wrap [http://bts.lmd.de/mantis/view.php?id=569 mode] to wrap the text at the window width. <br> When window is resized, wrap is automatically adjusted to the new window width.
 
** Cursor through tabs [http://bts.lmd.de/mantis/view.php?id=540 mode] so tabs can optionally be traversed with one right or left press of the cursor keys, regardless of tab width. <br> Visual Studio-like behaviour.
 
** Cursor through tabs [http://bts.lmd.de/mantis/view.php?id=540 mode] so tabs can optionally be traversed with one right or left press of the cursor keys, regardless of tab width. <br> Visual Studio-like behaviour.
Line 21: Line 19:
 
** New option in ViewSettings - Current line highlight enabling/disabling
 
** New option in ViewSettings - Current line highlight enabling/disabling
 
** Documentation update for features listed above, and implemented before, but undocumented.
 
** Documentation update for features listed above, and implemented before, but undocumented.
** And, hopefully, fix for [http://bts.lmd.de/mantis/view.php?id=542 replace issue] (it requires some structural changes in TLMDEditView)
+
** Now View allows to change it while Document in CompoundEdit mode. <br> See [http://bts.lmd.de/mantis/view.php?id=542 replace issue]
 +
** Now Document has API to perform advanced Search/Replace (with regexps etc), as View does. <br> See TLMDEditDocument.FindPattern***/ReplacePattern*** method sets. <br> Also, regexp Replace in View and Document now allows regexp pattern substitution. <br> See ''Subexpressions and substitution'' section in [http://www.lmd.de/downloads/tutorials/syntaxedit/regular_expressions.htm regexp manual].
 +
** Minor syntax schemes and Parser improvements
  
* Next release (approx., end of February)
+
* Next release (approx., end of March)
 +
** [http://bts.lmd.de/mantis/view.php?id=570 Issue] with cursor position (and other significant TLMDEditView parameters) saving when it switches from/to different Documents. <br> Very useful for tabbed editing.
 +
** [http://bts.lmd.de/mantis/view.php?id=541 Back unindent] feature that aligns the cursor with the previous indentation level from the preceding line when pressing the 'Backspace' key
 
** Saving line+character position in items TLMDEditDocument.Bookmarks items (now, they are bound to line starts)
 
** Saving line+character position in items TLMDEditDocument.Bookmarks items (now, they are bound to line starts)
 +
** Parser improvements:
 +
*** Move Parser to separate component for parsing text from any source, from other editors, for example.
 +
*** Ability to add custom attributes to tokens. This will allow rich colorization features with text styles, not supported by TLMDEditView, but, useful for text conversion to rtf/html/Word etc.
 +
*** Ability to search paired elements, based on [http://www.lmd.de/downloads/tutorials/syntaxedit/syntax_parsing.htm high-level syntax parsing]
 +
*** Ability to get extended token information by char offset, with full schemes stack. This should be useful for custom events like OnMouseOverToken etc..
 +
*** Improvements for high-level syntax parsing for [http://www.lmd.de/downloads/tutorials/syntaxedit/syntaxblock.htm SyntaxBlock] elements. This should be done to improve folding.
 +
*** Folding support for Python-like (indentation-based) languages
 +
*** Ability to generate names for folds, for syntax outline creation
 +
** New editor commands (sedDeleteToLineEnd, sedDeleteLine) etc. <br> All keybindings for commands now customizable with TLMDEditView.CustomKeyBindings collection. <br> Feel free to propose your commands... <br> Also, here i think on integration of standard VCL actions system with LMDEditView.CustomKeyBindings collection. <br> Feel free to send your ideas about that integration...
 +
* Releases after end of February will be focused on Design-time features improvements, a. <br> Here i plan:
 +
** Visual syntax schemes editor
 +
** Visual color schemes editor improvements
 
** Custom colorization for Document's text postprocessing/highlighting (syntax errors, Firefox-like found text highlight etc). <br> Now, it exists in prototype, but, it requires optimization for large texts. <br> Planned API (functions in TLMDEditView/TLMDEditDocument):
 
** Custom colorization for Document's text postprocessing/highlighting (syntax errors, Firefox-like found text highlight etc). <br> Now, it exists in prototype, but, it requires optimization for large texts. <br> Planned API (functions in TLMDEditView/TLMDEditDocument):
 
*** procedure AddCustomStyle(AStart, ACount: Integer; AStyle: TLMDEditViewStyle); <br> Adds custom style on some text range, over parsed syntax colorization.
 
*** procedure AddCustomStyle(AStart, ACount: Integer; AStyle: TLMDEditViewStyle); <br> Adds custom style on some text range, over parsed syntax colorization.
Line 30: Line 44:
 
*** procedure ClearCustomStyles; <br> Removes all custom style layers from View.
 
*** procedure ClearCustomStyles; <br> Removes all custom style layers from View.
 
*** Here, TLMDEditViewStyle is object in View's CustomStyles collection. It contains color and font style.
 
*** Here, TLMDEditViewStyle is object in View's CustomStyles collection. It contains color and font style.
** New editor commands (sedDeleteToLineEnd, sedDeleteLine) etc. <br> All keybindings for commands now customizable with TLMDEditView.CustomKeyBindings collection. <br> Feel free to propose your commands... <br> Also, here i think on integration of standard VCL actions system with LMDEditView.CustomKeyBindings collection. <br> Feel free to send your ideas about that integration...
 
* Releases after end of February will be focused on Parser improvements. <br> Here i plan:
 
** Folding support for Ptyhon-like (indentation-based) languages
 
** Visual syntax schemes editor
 
** Improvements in syntax folding
 
** Ability to generate names for folds, for syntax outline creation
 
** Create separate Parser component for parsing/colorization external controls like TRichEdit etc.
 
  
 
== History Logs ==
 
== History Logs ==

Revision as of 03:04, 4 March 2008

<< Back to Main Page or Product Resources page

[edit]

Introduction

This documents contains history logs for LMD IDE-Tools 1.0 and corresponding standalone packs.
First official release: 21-June-2007

Legend
[+] Feature added
[*] Feature changed
[-] Bug fixed


LMD SyntaxEdit RoadMap

  • Latest release 1.20 (released 04 March)
    • Spellcheck support using Addict (or other spellchecker using Windows RichEdit EM_*** messages).
      See MSDN page on those messages
    • New word wrap mode to wrap the text at the window width.
      When window is resized, wrap is automatically adjusted to the new window width.
    • Cursor through tabs mode so tabs can optionally be traversed with one right or left press of the cursor keys, regardless of tab width.
      Visual Studio-like behaviour.
    • New option for cursor not to move beyond end of line.
    • New option in ViewSettings - Current line highlight enabling/disabling
    • Documentation update for features listed above, and implemented before, but undocumented.
    • Now View allows to change it while Document in CompoundEdit mode.
      See replace issue
    • Now Document has API to perform advanced Search/Replace (with regexps etc), as View does.
      See TLMDEditDocument.FindPattern***/ReplacePattern*** method sets.
      Also, regexp Replace in View and Document now allows regexp pattern substitution.
      See Subexpressions and substitution section in regexp manual.
    • Minor syntax schemes and Parser improvements
  • Next release (approx., end of March)
    • Issue with cursor position (and other significant TLMDEditView parameters) saving when it switches from/to different Documents.
      Very useful for tabbed editing.
    • Back unindent feature that aligns the cursor with the previous indentation level from the preceding line when pressing the 'Backspace' key
    • Saving line+character position in items TLMDEditDocument.Bookmarks items (now, they are bound to line starts)
    • Parser improvements:
      • Move Parser to separate component for parsing text from any source, from other editors, for example.
      • Ability to add custom attributes to tokens. This will allow rich colorization features with text styles, not supported by TLMDEditView, but, useful for text conversion to rtf/html/Word etc.
      • Ability to search paired elements, based on high-level syntax parsing
      • Ability to get extended token information by char offset, with full schemes stack. This should be useful for custom events like OnMouseOverToken etc..
      • Improvements for high-level syntax parsing for SyntaxBlock elements. This should be done to improve folding.
      • Folding support for Python-like (indentation-based) languages
      • Ability to generate names for folds, for syntax outline creation
    • New editor commands (sedDeleteToLineEnd, sedDeleteLine) etc.
      All keybindings for commands now customizable with TLMDEditView.CustomKeyBindings collection.
      Feel free to propose your commands...
      Also, here i think on integration of standard VCL actions system with LMDEditView.CustomKeyBindings collection.
      Feel free to send your ideas about that integration...
  • Releases after end of February will be focused on Design-time features improvements, a.
    Here i plan:
    • Visual syntax schemes editor
    • Visual color schemes editor improvements
    • Custom colorization for Document's text postprocessing/highlighting (syntax errors, Firefox-like found text highlight etc).
      Now, it exists in prototype, but, it requires optimization for large texts.
      Planned API (functions in TLMDEditView/TLMDEditDocument):
      • procedure AddCustomStyle(AStart, ACount: Integer; AStyle: TLMDEditViewStyle);
        Adds custom style on some text range, over parsed syntax colorization.
      • procedure RemoveCustomStyle(AStart, ACount: Integer; AStyle: TLMDEditViewStyle);
        Removes given custom colorization layer from given text range.
      • procedure ClearCustomStyles;
        Removes all custom style layers from View.
      • Here, TLMDEditViewStyle is object in View's CustomStyles collection. It contains color and font style.

History Logs

LMD IDE-Tools 1.X

Release 1.10 (04-Mar-2008)

General
[*] Improved Helpfile for shared runtime
[*] Improved Helpfile for all LMD IDE-Tools packages
[-] Help installers for BDS/CRS IDEs handle now target path names containing spaces correctly.

[+] WindowManager class, exposed by property inspector, designer, ect. now has StayOnTop property that allows to change form-style of non-modal property and components editors.
[*] Major changes in LMD SyntaxEdit (Release 1.2)

Release 1.05 (21-Jan-2008)

[*] SyntaxEdit changes

Release 1.04.50 (06-Jan-2008)

[*] SyntaxEdit changes

Release 1.04.20 (10-Dec-2007)

[-] All memory leaks and all major bugs fixed in PrintPack
[*] SyntaxEdit changes

Release 1.04.10 (26-Nov-2007)

[-] DesignPack fixes

Release 1.04 (13-Nov-2007)

[+] CRS 2007.NET release
[*] Changes in DesignPack and SyntaxEdit

Release 1.03 (15-Oct-2007)

[-] Fix in LMD DesignPack (see below)

Release 1.02.50 (17-Sep-2007)

[-] Fixes in LMD SyntaxEdit and LMD DesignPack (see below)

Release 1.02 (07-Sep-2007)

[-] Fixes in LMD SyntaxEdit and LMD DesignPack (see below)

Release 1.01 (20-July-2007)

[+] New Component editor for the TPageControl control that allows to create/delete pages.
[-] Bug fixed: Component tree speed has been improved while working with many objects.

LMD DesignPack 4.X

Release 4.04.50 (04-Mar-2008)

[+] Now in OnKeyDown, OnKeyUp and OnKeyPress designer's event handlers user can disable built-in key action by assigning zero to the Key parameter, just like in other Delphi controls.

Release 4.04.10 (26-Nov-2007)

[-] Bug with showing inplace edit popup menu after property inspector popup menu has been fixed.
[-] Bug with inplace edit themed painting has been fixed.

Release 4.04.00 (13-Nov-2007)

[+] CRS 2007.NET release
[-] BTS #561 fixed

Release 4.03.00 (15-Oct-2007)

[-] Bug with reverse captions fixed.

Release 4.02.50 (17-Sep-2007)

[-] Bug in Property Inspector has been fixed.
[-] Bug with inserting new controls in the designer when align lines are active has been fixed.

Release 4.02 (07-Sep-2007)

[-] Designer and property inspector speed has been improved while selecting many (>100) components.

Release 4.01 (20-July-2007)

[-] Bug fixed: String editors in PropertyInspector write RigthToLeft in Unicode mode.
[-] Bug fixed: Properties on objects that do not return ClassInfo raise if one tries to expand their node in the PropertyInspector.
[-] Bug fixed: Method ObjectFound introduces deadlock.
[-] Bug fixed: Memory Leaks in DesignPack 4.0.

LMD ScriptPack 4.X

LMD SyntaxEdit 1.X

Release 1.20 (04-Mar-2008)

[*] Installer save schemes definition now into \Resources or \ResourcesNet folder of target both (directory Editor_Schemes).

[+] Full Spellcheck support using Addict implemented (for Win32 platform only, since there's no Addict for .Net).
See demo with spellchecking and TLMDEditView.SyntaxCheckTokens property.

[+] New word wrap mode to wrap the text at the window width.
See TLMDViewWrapMode type and TLMDEditView.WrapMode property.

[+] Cursor through tabs mode, Visual Studio-like behaviour. Also, this mode will not allow set cursor beyond the line end.
See vsCursorBoundToChars flag for TLMDEditView.ViewSettings property.

[+] Option for current line highlight, as new Delphi does.
See vsHighlightSelectedLine flag for TLMDEditView.ViewSettings property.

[+] Documentation updates for features listed above, and implemented before, but undocumented.

[+] Now View allows to change it while Document in CompoundEdit mode.
See replace issue

[+] Now its possible to search/replace in View backward with regexps too.

[+] Now Document has API to perform advanced Search/Replace (with regexps etc), as View does.
See TLMDEditDocument.FindPattern***/ReplacePattern*** method sets.

[+] Also, regexp Replace in View and Document now allows regexp pattern substitution.
See Subexpressions and substitution section in regexp manual.

[+] SQL syntax scheme added to schemes. CSS syntax scheme improved.

[+] Minor improvement in TLMDEditDocument component editor: now it allows manually enter path for loading syntax schemes.

[+-] TLMDEditDocument API for load/save with different encodings reorganized to be more reliable.
See TLMDEditDocument.CodePage**/LoadFrom**/SaveTo** methods and properties.

[+] Now the user of TLMDEditDocument able to add custom listeners to track document changes precisely. It should be useful for advanced tasks

[+] Roadmap changed

[-] Minor bugfixes in HTML and XML schemes.

[-] Issue with some Italian AltGr chars fixed.

[-] Minor bugs in regexp engine fixed: '\r\n'-like patterns now are working properly.

Release 1.10 (21-Jan-2008)

Bugfix release:
[+] New attributes for Syntax schemes *Scheme* element: moreWordSeparators, moreWordChars, used to alter \b operator behaviour.
See Shemes manual for details.
[-] Performance improvements in syntax schemes (file with very big lines had a chance to hang parsing)
[-] Bugfixes in text loading/saving in UTF8, UTF16 encodings.
[-] BTS #586 fixed (view locked for changes after load from file)
[-] AV in Parser fixed on reparsing text from some position, when variables used in syntax token regexps (affected VB scheme).
[-] Fixed: all line endings were converted to CRLF combination when loading/saving from/to a file. Now any combinations of line endings (CR, LF or mixed) are preserved.

Release 1.06 (06-Jan-2008)

[+] TLMDEditDocument.Modified property added, related to its methods TLMDEditDocument.Lines.Load/Save, authomatically set when document has changed, unset when undo etc. Demos updated.
[+] TLMDEditDocument.CodePage/CodePageName properties added (support for custom save/load encodings). Also, TLMDEditDocument.Lines.SaveToStream/LoadFromStream methods supports those encoding properties. Demos are updated with support for those properties.
[+] lmdrtl: LMDUnicodeEncodings.pas unit added with TLMDEncoding class (wrapper for windows/.net encoding functions/classes: System.Text.Encoding/MultiByteToWideChar/WideCharToMultiByte)
[-] bug #581 fixed: Assertion failure in LMDSedView.pas, line 4296
[-] fixed bug when extra line appears on appending segment starting with LMDLF, when text was finished with LMDCR
[-] misspelled word 'Phyzical' changed to 'Physical' in function names of TLMDEditView class. Also, ScrollPosToClient function introduced.

Release 1.05.10 (10-Dec-2007)

[*] Improved PrintPack integration

Release 1.05 (13-Nov-2007)

[+] CRS 2007.NET release
[+] PrintPack integration, including Print Preview support

Release 1.04 (17-Sep-2007)

[+] Double-click select and then holding down the mouse button and dragging the mouse selects by "word"
[+] Triple-clicking a line selects the entire line
[+] Triple-click select and then holding down the mouse button and dragging the mouse selects by "lines"
[+] Property TLMDEditView.SelectedText added. Now you can get and set the selected text easily.
[+] Gutter bar padding properties (LeftPadding, RightPadding) added.
[+] New view settings flag to toggle highlight cursor line: vsHighlightSelectedLine
[+] LMDSedFindDialog unit: TLMDEditSearchDlgOptions: LastNumberOfReplacements and WasReplaceAllChosen fields added to get information on executed replace dialog.
[-] Fixed: Misspelled TLMDEditView.ViewSettings vsOwerwrite flag corrected to vsOverwrite.

Release 1.03 (07-Sep-2007)

[+] Color scheme visual editor (property editor for TLMDEditDocument.ColorSchemes)
[+] TLMDEditView.CustomKeyBindings property added, and visual property editor for it. Now, it's possible to override predefined keybindings in TLMDEditView.
[-] assign syntax/color schemes.
[-] memory leak with internal timer
[-] GutterBar.Visible behavior
[-] syntax schemes for JS and Perl fixed (BTS #529)

Release 1.02 (17-Aug-2007)

[+] Document.ReadOnly property introduced with View.ReadOnlyBgColor property
[-] BTS #518 fixed (e.g. entering characters with AltGr key)

Release 1.01 (20-July-2007)

[-] Numerous small bugfixes with markers and view
[+] Performance improvements for parser
[+] Block indent/unindent feature added (Ctrl+Shift+I/Ctrl+Shift+U)