3.0 Milestone Plans

Milestone M1

  • focus on the implementation and exploration of new functions
    • generalized hover concept
    • smart typing
    • change bar vertical ruler column
  • initial round of code consolidation

Milestone M2

Milestone M2 is the first milestone whose plan items are annotated with estimates of the time it needs to fulfill them. The estimates are average times, i.e., they do not distinguish between experienced and less experienced developers. Also, the times does not sum up to the total time available for this milestone. The developers do not exclusively work for this component.

  • change bar vertical ruler (started in M1, 6 days)
  • smart delete (revers of Auto Indentation/ Auto Edit strategies) (3 days)
  • introduce info squiggles (0.5 days)
  • gesture reduction using content assist (2 days)
    • autoactivation of content assist after completion insertion
    • identify and investigate bad scenarios for content assist
  • investigate and design reconciling pipeline including nontrivial proof of concept implementation (15+ days)
  • code consolidation (10+ days)
    • org.eclipse.text
    • org.eclipse.jface.text (at least partially)
  • working copy plug-in (2 days)
  • PR pass (6 days)
  • bug fixing (9 days)
  • testing (3 day

Milestone M3

  • functional and structural improvements to Quick Diff (2 days)
    • move extension point to workbench text editor plug-in
    • rework preferences
    • additional visual indication of changed and added lines
  • improve preference handling in editors by moving it into a common super class for editors (2 days)
    • move configuration including preference keys to common super class
  • introduce reconciling pipeline based on the experience gathered in the example implementation (4 days)
  • generalize annotations (4 days)
    • introduce the concept of temporary annotations
    • improve navigation to and between annotations
  • introduce file buffers and adapt document providers and potentially document (5 days)
  • implement changes as outlined in the RCP proposal to enable RCP (cross component dependency to Platform UI) (5 days)

 

Milestone M4

Finished items
  • RCP implementation of text components (5 days)
  • allow quick diff annotations in overview ruler (3 days)
  • regex in Find/Replace (2 days)
  • add annotation management for file buffers (5 days)
  • investigate SWT Browser widget for feedback (3 days)
  • identify and investigate concurrency issues in text infrastructure (4 days)
Added items
  • content assist for regular expressions in Find/Replace dialog
  • generalization of content assist to become independent from ITextViewer
  • redesign and reimplementation of linked text positions
Post-poned items
  • editor splitting (7 days)
  • background highlight painter (3 days)
  • investigate improved support for annotation hovering and interaction (4 days, to be finished in M5)
  • investigate action hovers (5 days, to be finished in M5)

 

Milestone M5

Original plan
  • provide new default implementation for content formatter supporting master/slave model for formatting strategies
  • investigate improved support for annotation hovering and interaction, see PR 45082, (10 days)
  • reimplementation of text linking, see PR 45085 (10 days)
  • move incremental search status information into separate status line item, PR 45124 (2 days)
  • background highlight painter, see PR 45089 (10 days)
  • publish the new generalized content assist, see PR 45096 (3 days)
  • finish annotation handling improvements, see PR 40784 (2 days)
  • merge RCP version of text plug-ins into HEAD enabling RCP, see PR 45101 (3 days, cross team dependency)
  • headless annotation model implementation see PR 45123 (5 days)
    • submit annotation and annotation model API change request
Finished items
  • provide new default implementation for content formatter supporting master/slave model for formatting strategies
  • move incremental search status information into separate status line item, PR 45124 (2 days)
  • background highlight painter, see PR 45089 (10 days)
  • merge RCP version of text plug-ins into HEAD enabling RCP, see PR 45101 (3 days, cross team dependency)
Added items
  • investigation of presentation and handling of roll-over hovers
  • introduction of ITextPresentationListener and initial migration in the course of PR 45089
  • custom visibility of annotations in the vertical ruler
  • responsive UI: migrate all workspace operations to minimal locking scope
Items that continue into M6
  • investigate improved support for annotation hovering and interaction, see PR 45082, (10 days)
  • reimplementation of text linking, see PR 45085 (10 days)
  • headless annotation model implementation see PR 45123 (5 days)
Post-poned items
  • publish the new generalized content assist, see PR 45096 (3 days)
  • finish annotation handling improvements, see PR 40784 (2 days)

Milestone M6

Original plan
  • reimplement text linking, see PR 45085
  • prepare roll-over integration, PR 45635
  • implement headless annotation model support, PR 45123
    • submit annotation and annotation model API change request
  • integrate spell checking into HEAD stream, PR 47333
  • collect and investigate solutions for language family editors
  • memory, performance, and resource handle pass
  • bug fixing
Finished items
  • reimplement text linking, see PR 45085
  • prepare roll-over integration, PR 45635
  • memory, performance, and resource handle pass
Added items
  • incremental content assist
Items that continue into M7
  • implement headless annotation model support, see PR 45123 for status
  • collect and investigate solutions for language family editors
Post-poned items
  • integrate spell checking into HEAD stream, PR 47333

Milestone M7

Original plan
  • implement headless annotation model support, PR 45123
  • integrate spell checking into HEAD stream, PR 47333
  • collect and investigate solutions for language family editors
  • typing and redraw performance
    • optimize annotation painting
    • reduce amount of temporary garbage
    • adapt all annotation model implementations to send out detailed annotation model change events
  • internal code cleanup
  • bug fixing
Finished items
  • integrate spell checking into HEAD stream, PR 47333
  • typing and redraw performance
    • optimize annotation painting
    • reduce amount of temporary garbage
    • adapt all annotation model implementations to send out detailed annotation model change events
Added items
  • overall performance
    • improved plug-in dependency analysis used for text contributions
  • content assist affordance in Find/Replace dialog
  • improve the generalized content assist infrastructure
  • revisited and released roll-over hovers for vertical ruler
  • improved annotation painting infrastructure to support custom paint strategies, provided several predefined strategies
Items that continue into M8
  • implement headless annotation model support, see PR 45123 for status
  • internal code cleanup, PR 48883
Post-poned items
  • collect and investigate solutions for language family editors
  • improve initial size and remembered size of the content assist popup

Milestone M8

Original plan
  • introduce folding (to be continued in M9) (18 days)
    • folding structure provider
    • vertical ruler column as folding control
  • move templates to text infrastructure (3 days)
  • move linked positions support to text infrastructure (3 days)
  • use jobs for implementation of quick diff reference provider (1 days)
  • provide standard way for manipulating documents in non-ui thread (1 day)
  • implement headless annotation model support, PR 45123 (3 days)
  • revisit SWT Browser widget for hovers (3 days)
  • prepare concolidated user preferences for editors (3 days)
  • improve initial size and remembered size of the content assist popup (2 days)
  • internal code cleanup, PR 48883 (1 day)
  • bug fixing and testing (20 days)
Finished items
  • move templates to text infrastructure
  • move linked positions support to text infrastructure
  • use jobs for implementation of quick diff reference provider
  • prepare concolidated user preferences for editors
  • improve initial size and remembered size of the content assist popup
  • internal code cleanup, PR 48883
  • bug fixing and testing
Added items
  • added support for unconfiguring SourceViewers
  • TextEdit-based default implementation of IContentFormatter
Items that continue into M9
  • introduce folding
  • provide standard way for manipulating documents in non-ui thread
  • implement headless annotation model support, PR 45123
  • revisit SWT Browser widget for hovers
Post-poned items
  • investigate time stamped documents

Milestone M9

Original plan
  • consolidate folding (15 days)
    • rework annotation hovering for folding requirements
    • adapt non-folding infrastructure to folding imposed changes
    • introduce model-based undo managers
  • provide standard way for manipulating documents in non-ui thread (3 day)
    • investigate widget issues
  • implement headless annotation model support, PR 45123 (3 days)
  • revisit SWT Browser widget for hovers (3 days)
  • provide adjustable text selection color in text editor framework (1 day)
  • performance work to speed up TextPresentation handling (3 days)
  • revisit typing mode changes and associated caret shapes (2 days)
  • add proposal popup support for template completions (3 days)
  • introduce zero-length partition support (4 days)
  • integrate text test into build process (2 days)
  • bug fixing and testing (12 days)
Finished items
  • consolidate folding
    • rework annotation hovering for folding requirements
    • adapt non-folding infrastructure to folding imposed changes
    • introduce model-based undo managers (partially)
  • implement headless annotation model support, PR 45123
  • revisit SWT Browser widget for hovers
  • provide adjustable text selection color in text editor framework
  • performance work to speed up TextPresentation handling
  • revisit typing mode changes and associated caret shapes
  • add proposal popup support for template completions
  • introduce zero-length partition support
  • integrate text test into build process
  • bug fixing and testing
Post-poned items
  • provide standard way for manipulating documents in non-ui thread (3 day)
    • investigate widget issues