|  | <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> | 
|  | <html> | 
|  | <head> | 
|  | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | 
|  | <meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]"> | 
|  | <title>Platform Text Component</title> | 
|  | </head> | 
|  | <body text="#000000" bgcolor="#FFFFFF"> | 
|  |   | 
|  | <table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" > | 
|  | <tr> | 
|  | <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Overall | 
|  | Platform Text 3.1 Plan</font></font></td> | 
|  | </tr> | 
|  |  | 
|  | <tr> | 
|  | <td WIDTH="100%"> | 
|  | <p>Last revised 18:30 CET July 19, 2005 | 
|  |  | 
|  |  | 
|  | <p>This is the final plan.</p> | 
|  | <h2><a NAME="Overall_Planning"></a>Overall goals </h2> | 
|  | <p>This section defines the committed goals for Eclipse 3.1 for the Platform | 
|  | Text and the JDT Text component. Each goal is annotated with the overall | 
|  | 3.1 Eclipse theme it contributes to. </p> | 
|  | <h3>Platform</h3> | 
|  | <ul> | 
|  | <li> <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> | 
|  | Improve overall performance and stabilize on memory consumption. This | 
|  | includes open editor, quick diff, open quick outline, typing speed, | 
|  | redraw behavior, scrolling. Define a set of scenarios and assign to | 
|  | each scenario a concrete performance goal. <b>[Built to last]</b> | 
|  | <ul> | 
|  | <li> | 
|  | <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> define a <a href="performance_scenarios.html">set of scenarios</a>. | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li> | 
|  | <p><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> | 
|  | Write stable and if possible automated performance and memory footprint | 
|  | tests for Text and Java editors and some of its actions. A testing | 
|  | framework should be provided which enables to write stable performance | 
|  | and memory tests. Tests need to be put in place and maintained such | 
|  | that performance and memory consumption of editor related tasks like | 
|  | opening, typing, scrolling and Quick Diff can be monitored.<b> </b>Investigate | 
|  | introspective performance measurement support: Allow users to run | 
|  | performance tests and collect data (open files, preferences) to report | 
|  | performance issues. <b>[Built to last]</b></p> | 
|  | </li> | 
|  | <li> | 
|  | <p><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> | 
|  | Increase correctness test coverage of the text infrastructure. <b>[Built | 
|  | to last] </b></p> | 
|  | </li> | 
|  | <li> <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> | 
|  | Consolidate and extend platform. <b>[Built to last, Rich client platform, | 
|  | Large-scale development] </b> </li> | 
|  | <ul> | 
|  | <li>Consolidate platform based on experience from larger clients such as the Eclipse Web Tools Platform Project.</li> | 
|  | <li>Prepare editor infrastructure for embedding (editors inside editors and views)<br> | 
|  | ⇒ made a feasibilty study and sent feedback about Component framework proposal to Platform UI. | 
|  | </li> | 
|  | <li>Improve code quality.</li> | 
|  | </ul> | 
|  | <li> | 
|  | <p> <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> | 
|  | Improve overall integration with the workbench. This includes consolidation | 
|  | of preferences and increased preference sharing as well as seamless | 
|  | support for user configurable editor based on content types. Investigate direct | 
|  | access to preferences where useful. <b>[Simple to use, Large-scale | 
|  | development]</b> </p> | 
|  | </li> | 
|  | <li> | 
|  | <p><font class="indexsub" color="#8080ff">[partially >3.1]</font> | 
|  | Provide better text editor support for RCP. The list of functions | 
|  | to add will grow over time. The initial set includes: annotation presentation | 
|  | and navigation, user assigned colors and fonts, pluggable spelling engines (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">), spell checking, user | 
|  | defined, persistent folding, quick diff, templates, URL detection | 
|  | and handling (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">). <b>[Rich client platform]</b></p> | 
|  | </li> | 
|  | <li> | 
|  | <p><font class="indexsub" color="#8080ff">[partially >3.1]</font> | 
|  | Make the Default Text editor your favorite text editor. From time | 
|  | to time users switch to an external text editor. The goal of this | 
|  | plan item is to enhance the Text editor so that there is no longer | 
|  | a need to switch. The list of functions to add will grow over time. | 
|  | The initial set includes: annotation navigation, user assigned colors | 
|  | and fonts, pluggable spelling engines (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">), spell checking, user defined, persistent folding, templates, | 
|  | URL detection and handling (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">). <b>[Simple to use]</b></p> | 
|  | </li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> | 
|  | Help clients such as the Eclipse Web Tools Platform Project to improve | 
|  | their overall integration with the Platform Text components and the | 
|  | workbench in general. <b>[Broadening the community]</b></li> | 
|  | <ul> | 
|  | </ul> | 
|  | </ul> | 
|  | <h3>JDT</h3> | 
|  | <ul> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> Improve the Java editors. <b>[Simple to use, Large-scale development]</b> | 
|  | <ul> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | Provide additional convenience and productivity text manipulation | 
|  | functions.</li> | 
|  | <li> <img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | Continue the "information at your finger tips" and "non-intrusive | 
|  | UI" themes. | 
|  | <ul> | 
|  | <li>Improve on rich visual modeless feedback.</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Investigate direct access to preferences where useful.</li> | 
|  | <li>Provide extension point to allow for useful additions to the reconciling process such as running audits.</li> | 
|  | <li>Provide extension point to allow for useful additions to the content assist and template proposals.</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><font class="indexsub" color="#8080ff">[partially >3.1]</font> | 
|  | Improve string externalization. Possible work items are collected <a href="../development/String_Externalization_Improvements.html">here</a>. <b>[Simple | 
|  | to use]</b></li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> J2SE 5.0 Support (<a href="http://www.eclipse.org/jdt/ui/r3_1/j2se50/Status.html">JDT UI's overall status</a>) <b>[J2SE 5 support]</b></li> | 
|  | <ul> | 
|  | <li><span style="font-style: italic;">Ensure Java Editor and all its | 
|  | J2SE 1.4 coding features work with new JLS3 AST</span><br> | 
|  | The first priority is to get the same product quality when coding | 
|  | against J2SE 1.4 as we have with Eclipse SDK 3.0. JDT text code needs | 
|  | to be adapted to the new JLS3 AST and ensured that it is not broken | 
|  | by new Java element types and deltas. Affected areas are syntax highlighting, | 
|  | occurrence marking and Java outline page.<br> | 
|  | </li> | 
|  | <li><span style="font-style: italic;">Enable Java coding against J2SE 5.0</span><br> | 
|  | Existing features like syntax highlighting, occurrence marking, auto-indentation, | 
|  | Java Outline page and formatting need to be made J2SE 5.0 aware. | 
|  | </li> | 
|  | <li><span style="font-style: italic;">Add new features for J2SE 5.0</span><br> | 
|  | New features include annotation folding, matching < bracket support, | 
|  | auto insertion of closing >, new keyword and syntax highlighting, | 
|  | e.g. for generics and enums, and new templates. Provide hover support | 
|  | for annotations such as @override.</p> | 
|  | </li> | 
|  | </ul> | 
|  | <li> [investigate] Contribute to the resolution of the "many errors" | 
|  | issue. (cross team issue) | 
|  | <ul> | 
|  | <li> If a project is improperly setup, opening a file of that project | 
|  | can result in lots of temporary problems. On open, the editor could | 
|  | propose to filter all ripple errors and to show only relevant errors.</li> | 
|  | <li>When auto-build is enabled, the editor can warn the user when a | 
|  | file is saved for which temporary errors exist.</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | <h2><a NAME="Work_Items"></a>Work items</h2> | 
|  | <p>Work items represent subjects on which the Platform/JDT Text team will | 
|  | work in the course of the 3.1 development. The listed subitems represent | 
|  | initial input based on the current state of knowledge. There might be | 
|  | shifts of focus during the development process. Items that are affected | 
|  | by the concrete resolution of cross team issues are marked as such. Items | 
|  | that are of exploratory nature are tagged with [investigate].</p> | 
|  | <h3>Component independent</h3> | 
|  | <ul> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> code cleanup</li> | 
|  | <ul> | 
|  | <li>cleanup implementation to only use up-to-date concepts</li> | 
|  | <li>cleanup plugin.xml files and code which still uses pre-3.0 extension | 
|  | points and attributes (e.g. actionDefinitionId)</li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> remove AbstractTextEditor dependency on internals of org.eclipse.ui</li> | 
|  | <li>Javadoc | 
|  | <ul> | 
|  | <li>enforce uniform Javadoc style (usage of link, @value tag, etc.)</li> | 
|  | <li>complete Javadoc (internal classes, private methods, etc.)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] separate backward compatibility code from up-to-date | 
|  | code</li> | 
|  | </ul> | 
|  | <li>dynamic plug-in loading/unloading | 
|  | <ul> | 
|  | <li>describe dynamic capabilities</li> | 
|  | <li>[investigate] prepare for dynamic plug-in deactivation</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | <h3>Platform</h3> | 
|  | <ul> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | file buffers | 
|  | <ul> | 
|  | <li>provide file buffer level undo and composite changes</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10""> allow validateEdit on a set of file buffers</li> | 
|  | <li>allow buffers for non-existing files that get automatically created | 
|  | when committing the file buffer</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide setDirty on IFileBuffer</li> | 
|  | <li>provide a disconnect method that automatically calls commit in | 
|  | case the file buffer is dirty and after the call no longer shared</li> | 
|  | <li>allow new implementations to be plugable (RCP does not include | 
|  | the IResource based implementation, IDE does)</li> | 
|  | <li>clarify document creation and document setup extension points</li> | 
|  | <li>provide standard way to modify document provided by a text file | 
|  | buffer in a non-UI thread</li> | 
|  | <li>[investigate] provide implementation for IStorage</li> | 
|  | <li>[investigate] Is it possible to automate validateEdit on the first | 
|  | document change?</li> | 
|  | <li>[investigate] on demand activation of partitioning (created only | 
|  | when somebody asks for it)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>reconciler | 
|  | <ul> | 
|  | <li>clarify life cycle (multiple concurrent reconcilers on unconfigure/configure)</li> | 
|  | <li>dirty region management in the incremental reconciler | 
|  | <ul> | 
|  | <li>a reconciling strategy should cross out the dirty regions | 
|  | it consumed</li> | 
|  | <li>dirty regions get only removed from the queue if there is | 
|  | a guarantee that they have been consumed</li> | 
|  | <li>type of change for a dirty region are exploited</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>provide closer integration of reconciling steps | 
|  | <ul> | 
|  | <li>automatic propagation of the progress monitor to all individual | 
|  | reconciling steps</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] adaptive reconciler timing</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | headless text infrastructure | 
|  | <ul> | 
|  | <li>revisit synchronization issues between annotation model and document | 
|  | <ul> | 
|  | <li>annotation map is synchronized but not the operations on the annotation | 
|  | model itself, leaving a temporal gap in which concurrent modifications | 
|  | can happen</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] time stamped document events</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | encoding (cross team issue) | 
|  | <ul> | 
|  | <li>transfer encoding upon Save As...</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> listen to and handle encoding changes in the encoding UI</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> clarify BOM handling in case of encoding changes</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> folding | 
|  | <ul> | 
|  | <li>introduce structured folding change events</li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> improve annotation summaries | 
|  | <ul> | 
|  | <li>allow for customization of annotation summaries</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide hovers for annotation summaries</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>improve the in-text folding indicator | 
|  | <ul> | 
|  | <li>provide hovers</li> | 
|  | <li>indicate the amount of collapsed text</li> | 
|  | <li>expand on double or single click</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>polish presentation | 
|  | <ul> | 
|  | <li>animate collapse/expand</li> | 
|  | <li>change folding icon (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61725">bug 61725</a>)</li> | 
|  | <li>[investigate] when hovering over the end of a foldable region | 
|  | of which the beginning is not visible a hover with the start | 
|  | line is shown </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] enabled folding structure provider for content types</li> | 
|  | <li>[investigate] character based folding UI (cross team issue)</li> | 
|  | <li>[investigate] reordering of code based on direct interaction with | 
|  | the folding control</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | formatter | 
|  | <ul> | 
|  | <li>tackle performance issues for large files | 
|  | <ul> | 
|  | <li>use SequentialRewriteStore</li> | 
|  | <li>check possibility of temporal removing of partitioners</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | Open External File | 
|  | <ul> | 
|  | <li> find a way to open external files also when registered editor | 
|  | does not support file buffers </li> | 
|  | <li>support vertical ruler, overview ruler etc.; provide annotation | 
|  | model that is not resource dependent</li> | 
|  | <li>generalize for non-text files (cross team issue)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | undo | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> synchronize editor dirty bit with undo state (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21493">bug 21493</a>)</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> allow customization of maximum number of undos (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21476">bug 21476</a>)</li> | 
|  | <li>introduce UI independent undo manager (see also file buffers)</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> harmonize with potential global undo manager (cross team issue) </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>navigation | 
|  | <ul> | 
|  | <li>generalize Last Edit Position to Edit History </li> | 
|  | <li> provide access to a light weight "Go to" menu similar | 
|  | to the refactoring menu (cross team issue)</li> | 
|  | <li>improve bookmark usability: allow navigation via key binding (cross team issue)</li> | 
|  | <li>[investigate] improve navigation history | 
|  | <ul> | 
|  | <li> introduce bread crumbs (explicit points of user requested | 
|  | navigation that stick out the normal browsing/navigation history)</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>hovering | 
|  | <ul> | 
|  | <li>allow interactive resizing of text and annotation hover popup | 
|  | windows</li> | 
|  | <li>roll-over hovers | 
|  | <ul> | 
|  | <li> solve single-click/double-click issues </li> | 
|  | <li>polish visual appearance such as asymmetric margins</li> | 
|  | <li>implement delay free appearance when entering vertical ruler</li> | 
|  | <li>solve accessibility issues</li> | 
|  | <li>[investigate] provide roll-overs for overview ruler</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | preferences | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> increase number of sharable editor preferences | 
|  | <ul> | 
|  | <li>eventually there should be no initial need for a preference | 
|  | page when a new type of editor is created </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>adapt to the core settings API, smoothly integrate with the workbench | 
|  | vision (cross team issue)</li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> always split color settings in foreground/background, always allow | 
|  | system/default color </li> | 
|  | <li style="color: rgb(0, 0, 0);"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> revisit "spaces for tabs" preference | 
|  | (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19036">bug | 
|  | 19036</a>) | 
|  | <ul> | 
|  | <li>reduce confusion without loosing functionality</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li style="color: rgb(0, 0, 0);"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide direct access | 
|  | to preferences where useful</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> [investigate] add line delimiter preference for workspace and | 
|  | project level (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3970">bug | 
|  | 3970</a>) (cross team issue)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>annotations / annotation presentation | 
|  | <ul> | 
|  | <li>all annotation types should support all presentation types (help | 
|  | other teams porting to the new presentation types)</li> | 
|  | <li>allow annotations to be presented using text foreground/background | 
|  | color (overlaps with syntax highlighting then) | 
|  | <ul> | 
|  | <li>generalize AnnotationPainter and TextPresentation to be broader | 
|  | applicable </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>move header annotation type management to <font face="Courier New, Courier, mono">SourceViewerDecorationSupport</font> | 
|  | and allow for customization via drop down (similar to Go to annotation)</li> | 
|  | <li>[investigate] allow users to reorder presentation layers | 
|  | <ul> | 
|  | <li>generalize annotation presentation layer mechanism to support | 
|  | relative addressing (e.g., on top/below <annotation type>)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] introduce selective contribution of annotation types | 
|  | to editor types (must be aligned with preference consolidation as | 
|  | it contradicts)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>editor | 
|  | <ul> | 
|  | <li>offer "on save" hook e.g. to allow formatting or organize imports | 
|  | on save (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=22742">bug | 
|  | 22742</a>) | 
|  | <ul> | 
|  | <li>ensure that misbehaving pre-save participants do not cause | 
|  | loss of data</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>provide visible indication for invisible chars</li> | 
|  | <li>editor splitting à la JEdit (top be aligned with editor embedding, | 
|  | cross team issue) (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8009">bug | 
|  | 8009</a>)</li> | 
|  | <li>editor reuse </li> | 
|  | <ul> | 
|  | <li>unify code path of creating and reusing an editor</li> | 
|  | <li>restructure AbstractTextEditor.createPartControl, consider inversion | 
|  | of control (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71081">bug | 
|  | 71081</a>)<br> | 
|  | </li> | 
|  | <li>update contributions (e.g. enable state of actions) if editor | 
|  | input type changes (e.g. from IFile to external file)</li> | 
|  | </ul> | 
|  | </ul> | 
|  | </li> | 
|  | <ul> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | action contribution | 
|  | <ul> | 
|  | <li>revisit action contribution (cross team issue) </li> | 
|  | <li>reduce performance impact of current platform architecture</li> | 
|  | <li>unify names and values of<font face="Courier New, Courier, mono"> | 
|  | ITextEditorActionDefintionID</font>s</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] editor status bar | 
|  | <ul> | 
|  | <li><font color="#000000"> lock/pen icon rather than text (need | 
|  | to check with screen readers)</font></li> | 
|  | <li><font color="#000000">show current key binding config name in | 
|  | status line and offer double click to open the key binding dialog</font></li> | 
|  | <li><font color="#000000">show current line delimiter</font></li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] investigate chances of a SWT rich text widget</li> | 
|  | <li>[investigate] support for multiple clipboards</li> | 
|  | </ul> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> typing | 
|  | <ul> | 
|  | <li>smart typing | 
|  | <ul> | 
|  | <li>improve smart backspace</li> | 
|  | <li>consolidate smart typing infrastructure</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>make delete line aware of selection</li> | 
|  | <li>introduce "Remove block of empty lines"</li> | 
|  | <li>revisit "raw" insert mode to be useful and not completely | 
|  | dumb </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> introduce light weight "Surround with" and "Search" | 
|  | menu (cross team issue)</li> | 
|  | <li>[investigate] auto correct on typing</li> | 
|  | <li>[investigate] auto format on typing</li> | 
|  | <li>[investigate] direct interaction with auto edit strategies | 
|  | <ul> | 
|  | <li> interactive placement of closing brackets/parenthesis </li> | 
|  | <ul> | 
|  | <li>show pseudo character that can be moved and committed</li> | 
|  | <li>after commit cursor jumps back after opening bracket</li> | 
|  | </ul> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] zoom in/out feature (text size changes with mouse | 
|  | wheel)</li> | 
|  | <li>[investigate] automatic reset of non-smart to smart or vice versa</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | text manipulation | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add "Remove Trailing space" command for files, folders, and projects</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add "Convert line delimiter" command for files, folders, and projects</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> consolidate text manipulation infrastructure</li> | 
|  | <li>[investigate] drag'n drop editing</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>interaction (mouse, keyboard) | 
|  | <ul> | 
|  | <li>selection modes (line selection, word selection)</li> | 
|  | <li>right button mouse click with empty selection should set selection | 
|  | <ul> | 
|  | <li>works only when clicks happens over useful target (not when | 
|  | right of end of line)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>indicate caret location in overview ruler</li> | 
|  | <li>[investigate] revive gestures as action triggers (cross team issue)</li> | 
|  | <li>[investigate] action hovers (hovers with which you can interact) | 
|  | <ul> | 
|  | <li>action hovers offer menus that contain sensible follow-up | 
|  | actions for activities triggering auto format, auto text, or | 
|  | auto correct</li> | 
|  | <li>single click undo of auto correct, for example</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> | 
|  | Quick diff | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide memory efficient quick diff algorithm</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> polish presentation of deleted lines in the line number ruler</li> | 
|  | <li><font class="indexsub" color="#8080ff">[>3.1]</font> [investigate] character level diff in hover<font color="#000000"></font></li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>embedded content | 
|  | <ul> | 
|  | <li> nested partitionings</li> | 
|  | <li>find abstraction that represents editor capabilities for fragments | 
|  | of different content type</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li> [investigate] find/replace | 
|  | <ul> | 
|  | <li>editor status bar: interactive find field with a drop down for | 
|  | the find options (similar to Go to annotation)</li> | 
|  | <li>find all in file (similar to Mark occurrences)</li> | 
|  | <li>interactive Replace all (similar to Rename in file)</li> | 
|  | <li>provide a find/replace view part</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li> [investigate] printing (cross team issue) | 
|  | <ul> | 
|  | <li><font color="#000000">header/footer</font></li> | 
|  | <li><font color="#000000">disable painters when printing</font></li> | 
|  | <li><font color="#000000">allow line numbers</font></li> | 
|  | <li><font color="#000000">allow for separate print font</font></li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] templates | 
|  | <ul> | 
|  | <li> tackle scalability issues for template preference page | 
|  | <ul> | 
|  | <li>introduce categories</li> | 
|  | <li>auto hide certain templates (templates with generics are only | 
|  | visible if the compiler is at 1.5 level)</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] macro/scripting support (cross team issue) (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8519">bug | 
|  | 8519</a>)</li> | 
|  | </ul> | 
|  | <h3>JDT </h3> | 
|  | <ul> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> comment formatter</li> | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> improve handling of spaces (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49686">bug 49686<span style="font-family: monospace;"></span></a>)</li> | 
|  | <li>provide support for custom tags</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide support link tag</li> | 
|  | <li>improve HTML support<br> | 
|  | </li> | 
|  | <li>split general "comment" into Javadoc and code comments</li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> push down to JDT Core (cross team issue)</li> | 
|  | <li>[investigate] define formatting preference by providing an example</li> | 
|  | </ul> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | hovering | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> support link tag</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> correctly remove on focus change on all platforms<br> | 
|  | <li>support @inherit | 
|  | <ul> | 
|  | <li>support inherited Javadoc even without @inherit</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] extract information from external Javadoc</li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> [investigate] use <code>Browser</code> widget for Javadoc hover</li> | 
|  | <li>[investigate] allow to reach hover via mouse (i.e. F2 via mouse)</li> | 
|  | <li>[investigate] if no hover can be extracted inform user how to | 
|  | correctly setup Javadoc and source hovers?</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> folding | 
|  | <ul> | 
|  | <li>folding for Java headers (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61328">bug | 
|  | 61328</a>)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>content assist | 
|  | <ul> | 
|  | <li>support case-sensitive filtering</li> | 
|  | <li>introduce content assist processor extension point (already there | 
|  | for Javadoc)</li> | 
|  | <li>consolidate content assist infrastructure to cover the concept | 
|  | of presenting and choosing from parameter proposals</li> | 
|  | <li>auto activate content assist if completion trigger is also an | 
|  | auto activation trigger</li> | 
|  | <li><font color="#000000">support code completion after <code>Te| | 
|  | or <tt>Te|</font></li> | 
|  | <li>improve parameter info shown by content assist | 
|  | <ul> | 
|  | <li>[investigate] show the Javadoc of the highlighted parameter</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><font color="#000000">[investigate] get support from JDT Core for parameter guessing, e.g. lazy for the selected proposal</font></li> | 
|  | <li><font color="#000000">[investigate] propose textual completion | 
|  | based on file contents</font></li> | 
|  | <li><font color="#000000">[investigate] re-establish linked mode for | 
|  | method calls on Show context info</font></li> | 
|  | <li><font color="#000000">[investigate] code assist remembers previous | 
|  | choices in its rating</font></li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | syntax highlighting | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> semantic coloring of 'deprecated' declaration/reference </li> | 
|  | <li>syntax highlighting preview on the preference page should background | 
|  | highlight all occurrences of the selected type, also support backward | 
|  | coupling</li> | 
|  | <li><font class="indexsub" color="#8080ff">[>3.1]</font> improve integration with the color and font preferences provided by the workbench (cross team issue)</li> | 
|  | <li>[investigate] support coloring schemes, scheme switch on tool bar (cross team issue)</li> | 
|  | <li>[investigate] semantic highlighting should use annotations instead of its own model and listener</li> | 
|  | <li>[investigate] generalization of semantic highlighting model to be pushed down to Platform Text </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> spell checking | 
|  | <ul> | 
|  | <li>improve spell checking to ignore defined Java symbols or mark | 
|  | spelling errors in symbols differently</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> generalize spell checking for Platform Text | 
|  | <ul> | 
|  | <li>dictionaries can be shared between different editor types</li> | 
|  | <li>enable more advanced checking such as grammar checking</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>rerun spell checking on dictionary change</li> | 
|  | <li>provide spell checking on file, folder, projects</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | editor | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> revisit out of the box colors including which syntax highlightings are enabled and also consider those for J2SE 5.0</li> | 
|  | <li>double click in outliner should transfer focus to editor (to be | 
|  | aligned with the active Open Strategy)</li> | 
|  | <li><font color="#000000">matching delimiter highlighting for html | 
|  | tags <code>  </code></font></li> | 
|  | <li>generalize current scope indication and updating to be pushed | 
|  | down to Platform Text</li> | 
|  | <li>[investigate] indicate current block in vertical ruler | 
|  | <ul> | 
|  | <li>option for replacing the magnet; outliner synchronization | 
|  | stays the same</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] method separator line</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> | 
|  | navigation | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> show URLs in comments as underlined text and allow to open such | 
|  | links in a browser</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> generalize hyperlink navigation to become part of Platform Text</li> | 
|  | <li>generalize annotation navigation support to become part of Platform Text </li> | 
|  | <li>[investigate] support Move to next parameter (see content assist: re-establish linked mode)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>info views | 
|  | <ul> | 
|  | <li>Javadoc view | 
|  | <ul> | 
|  | <li>support links and link navigation</li> | 
|  | <li>support back and forward (tool bar and/or context menu)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>introduce new info/quick views (investigate user configurability) | 
|  | <ul> | 
|  | <li>references in workspace</li> | 
|  | <li>implementers</li> | 
|  | <li>references methods</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>reconciling | 
|  | <ul> | 
|  | <li>provide extension point to allow for useful additions to the reconciling | 
|  | process such as running audits</li> | 
|  | <li>[investigate] generalize handling of temporary annotations implemented | 
|  | in the CompilationUnitAnnotationModel to become part of Platform | 
|  | Text</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>[investigate] Quick fix | 
|  | <ul> | 
|  | <li>generalize QuickFix infrastructure to become part of Platform | 
|  | Text</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> [investigate] Mark occurrences | 
|  | <ul> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> highlight implemented methods when clicking on implemented interface</li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | <h2>Cross team issues</h2> | 
|  | <p>This section contains cross team issues that have to be clarified. The | 
|  | concrete outcome effects the dependent work items listed above.</p> | 
|  | <ul> | 
|  | <li>synchronized blocks compared to ILock</li> | 
|  | <li>reveal file types in preferences, define editors for file types rather | 
|  | than extensions etc.</li> | 
|  | <li>editor splitting (to be synchronized with the Component Framework and multipage editor efforts)</li> | 
|  | <li>simplification/harmonizing of action contribution</li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> harmonize with potential global undo manager</li> | 
|  | <li><font class="indexsub" color="#8080ff">[>3.1]</font> colors and fonts | 
|  | <ul> | 
|  | <li>syntax color schemes</li> | 
|  | <li>integration with the colors and fonts preference page</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>gesture support/selection modes/hover configuration | 
|  | <ul> | 
|  | <li>mouse/keyboard interaction is just a different kind of "key" | 
|  | binding, i.e. a different kind of activating a command. We should | 
|  | only provide the actions (command implementations) and the rest | 
|  | should be user configurable.</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> JDT Core | 
|  | <ul> | 
|  | <li>check for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72234">bug 72234</a></li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> adoption of comment formatting</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li> text independent editor layer implementing validateEdit</li> | 
|  | <li>predefined line terminator for new files (to be specified similar | 
|  | to encoding)</li> | 
|  | <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> light weight menus: | 
|  | <ul> | 
|  | <li>Go to</li> | 
|  | <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Search</li> | 
|  | <li>Surround with</li> | 
|  | <li>...</li> | 
|  | </ul> | 
|  | <li>SWT | 
|  | <ul> | 
|  | <li>SWT rich text widget providing different fonts, font styles, and | 
|  | font sizes</li> | 
|  | <li>StyledText: allow for rendering of custom glyphs (needed for character | 
|  | based folding)</li> | 
|  | </ul> | 
|  | </li> | 
|  | <li>scripting strategy of the platform</li> | 
|  | <li><font class="indexsub" color="#8080ff">[>3.1]</font> compatibility layer for commands moved to LTK UI plug-in</li> | 
|  | </ul> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr> | 
|  | <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">3.1 | 
|  | Platform Text Milestone Plans</font></font></td> | 
|  | </tr> | 
|  |  | 
|  | <tr> | 
|  | <td WIDTH="100%"> | 
|  |  | 
|  | <h3>Previous milestones</h3> | 
|  | <p>Previous 3.1 milestones can be reviewed <a href="previous_plans.html">here</a>.</p> | 
|  | </td> | 
|  | </tr> | 
|  |  | 
|  | <tr> | 
|  | <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Bug | 
|  | Tracking</font></font></td> | 
|  | </tr> | 
|  |  | 
|  | <tr> | 
|  | <td> | 
|  | <ul> | 
|  | <li> | 
|  | <a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=REOPENED&email1=platform-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Platform&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BNew&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">newly | 
|  | reported PRs</a></li> | 
|  |  | 
|  | <li> | 
|  | <a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=ASSIGNED&email1=platform-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Platform&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BInbox&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">assigned | 
|  | PRs</a></li> | 
|  | </ul> | 
|  | </td> | 
|  | </tr> | 
|  | </table> | 
|  | <table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody><tr><td colspan="4" align="left" bgcolor="#595791" valign="top" width="100%"><font face="Arial,Helvetica"><font color="#ffffff">Legend | 
|  | </font></font></td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td valign="center"><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"></td> | 
|  | <td width="50%">item is under development.</td> | 
|  | <td valign="top"><img src="../images/glass.gif" nosave="" border="0" height="10" width="10"></td> | 
|  | <td width="50%">item is under investigation.</td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td valign="center"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"></td> | 
|  | <td width="50%">item is finished.</td> | 
|  | <td valign="top">( )</td> | 
|  | <td width="50%">item is time permitted.</td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td valign="center"><font class="indexsub" color="#8080ff">[xyz]</font></td> | 
|  | <td width="50%">item is deferred to or continues in xyz.</td> | 
|  | <td valign="top"><font class="indexsub"><img src="../images/new.gif" border="0"></font></td> | 
|  | <td width="50%">new</td> | 
|  | </tr> | 
|  | </tbody> | 
|  | </table> | 
|  |  | 
|  | <br>  | 
|  | </body> | 
|  | </html> |