| <!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">Combined   | 
 |       Platform Text and JDT Text 3.2 Plan</font></font></td> | 
 | </tr> | 
 |  | 
 |   <tr>  | 
 |     <td WIDTH="100%">  | 
 |     <p>Last revised 18:50 CET June 19, 2006 | 
 |  | 
 |      | 
 |       <p>This plan is under continuous refinement. Please send comments about this draft plan to the <a href="mailto:platform-text@eclipse.org">platform-text@eclipse.org</a> developer mailing list.</p> | 
 |       <h2><a NAME="Overall_Planning"></a>Overall Goals </h2> | 
 |       <p>This section defines the goals for Eclipse 3.2 for the Platform  | 
 |         Text and the JDT Text component. Each goal is annotated with the overall  | 
 |         3.2 Eclipse theme (see <a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_2.html">Eclipse Project Draft 3.2 Plan</a> for details). | 
 |         </p> | 
 |       <h3>Platform</h3> | 
 |       <ul> | 
 |         <li> | 
 |           <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Continue to monitor overall performance and memory consumption. This  | 
 |           includes the addition of new performance tests for new features. | 
 |           <b>[Scaling up]</b>  | 
 |           <p></p> | 
 |         </li> | 
 |         <li> | 
 |           <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Increase correctness test coverage of the text infrastructure. Besides providing tests for new | 
 |           features new tests are needed for existing areas where we have few or no tests at all. | 
 |           <b>[Scaling up]</b> | 
 |           <p></p> | 
 |         </li> | 
 |         <li>Innovate the existing editor look and feel. <b>[Simple to use, Scaling up]</b><br> | 
 |          The list of feature will change over time. The initial set includes: | 
 |         <ul> | 
 | 			<li><font class="indexsub" color="#8080ff">[>3.2]</font> finish roll-over annotation work that was kicked off during 3.0</li> | 
 | 			<li><font class="indexsub" color="#8080ff">[>3.2]</font> rework Find / Replace: get rid of the dialog, allow highlight all matches,  offer in-place rename of the highlighted matches</li> | 
 | 			<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> show the change history together with change comments in the text editor<br> | 
 | 			⇒ the text side is ready and a patch has been submitted to Platform CVS. | 
 | 			</li> | 
 | 			<li><font class="indexsub" color="#8080ff">[>3.2]</font> enhance folding presentation: show nesting, place the icon on caption line and eventually add animation | 
 | 			<li><font class="indexsub" color="#8080ff">[>3.2]</font> investigate action hovers i.e. allow to click into hovers in order to click links and buttons</li> | 
 | 			<li><font class="indexsub" color="#8080ff">[>3.2]</font> investigate auto-wrapping in text editor</li> | 
 | 			<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> investigate triple and 1 1/2 click<br> | 
 | 			⇒ 1 1/2 click has been improved (it no longer jumps back to the word). Triple click has been deferred on the SWT side. | 
 | 			</li> | 
 | 			<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10">investigate to add text drag and drop (cross team issue) | 
 | 			</li> | 
 | 		</ul> | 
 |          <p></p> | 
 |         </li> | 
 |         <li><font class="indexsub" color="#8080ff">[partially >3.2]</font> | 
 |           	Provide better text editor support for RCP.<b>[Rich client platform, Design for Extensibility: Be a Better Platform]</b><br> | 
 |           	The list of functions  | 
 |             to add will grow over time. The initial set includes: annotation presentation  | 
 |             and navigation, user assigned colors and fonts, spell checking, user  | 
 |             defined, persistent folding, quick diff, templates and investigate to | 
 |             make file buffers work with RCP.<br> | 
 |             ⇒ parts of this have been delivered: annotation presentation and navigation, template support when writting an editor | 
 |           <p></p> | 
 |         </li> | 
 |         <li><font class="indexsub" color="#8080ff">[partially >3.2]</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, spell checking, user defined, persistent folding, templates. | 
 |             <b>[Simple to use, Scaling up]</b> | 
 |             <br>⇒ parts of this have been delivered: annotation presentation and navigation, template support when writting an editor | 
 |         <p></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>[Broader community, Design for Extensibility: Be a Better Platform]</b></li> | 
 |           <p></p> | 
 |         </li> | 
 |       </ul> | 
 |       <h3>JDT</h3> | 
 |       <ul> | 
 |         <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Open up the Java editor. <b>[Design for Extensibility: Be a Better Platform]</b><br> | 
 |           The components that become extensible might grow over time. The initial set includes: | 
 |           <ul> | 
 |             <li>allow additions to the reconciling process such as running audits</li> | 
 |             <li>allow additions to the content assist and template proposals</li> | 
 |           </ul> | 
 |           <p></p> | 
 |         </li> | 
 |          | 
 |         <li>(<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">) Enhance the Java editor. Push Java coding to the next level by polishing existing features and adding new ones. <b>[Simple to use, Scaling up]</b><br> | 
 |         The currently planned improvements are: | 
 |         	<ul> | 
 |         		<li>(<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">) code assist | 
 |         		<ul> | 
 |         			<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> polish and fine tune existing features</li> | 
 |         			<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> integrate word completion into code assist popup</li> | 
 |         			<li><font class="indexsub" color="#8080ff">[>3.2]</font> automatically add imports while typing</li> | 
 | 					<li><font class="indexsub" color="#8080ff">[>3.2]</font> allow to auto-open code assist while typing i.e. not rely on special trigger characters</li> | 
 | 					<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> use browser widget for Javadoc hovers</li> | 
 | 					<li><font class="indexsub" color="#8080ff">[>3.2]</font> [investigate] allow to click into additional hover window and allow navigation</li> | 
 | 					<li><font class="indexsub" color="#8080ff">[>3.2]</font> [investigate] allow to use without opening a popup</li> | 
 |         		</ul> | 
 |         		</li> | 
 |         		<li><font class="indexsub" color="#8080ff">[>3.2]</font> Quick views | 
 |         		<ul> | 
 | 					<li>show additional info (e.g. Javadoc) for Quick views</li> | 
 | 					<li>allow to open Quick views for Java elements (e.g. from the Package Explorer or Outline view)</li> | 
 | 					<li>[investigate] context menu in Quick views</li> | 
 |         		</ul> | 
 |         		</li> | 
 | 				<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add support for categories (@category tag)</li> | 
 | 				<li><font class="indexsub" color="#8080ff">[>3.2]</font> show horizontal lines between members</li> | 
 | 				<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add more occurrence markings, for example for 'break', 'continue', etc. </li> | 
 | 				<li><font class="indexsub" color="#8080ff">[>3.2]</font> improve Javadoc view by adding support for links (relative URLs, @see, @link,...) and add navigation and history support</li> | 
 | 				<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add support to extract Javadoc from attached Javadoc (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41421">bug 41421</a>) (JDT UI?)</li> | 
 | 				<li><font class="indexsub" color="#8080ff">[>3.2]</font> color schemes for syntax highlighting (cross team issue)</li> | 
 | 				<li><font class="indexsub" color="#8080ff">[>3.2]</font> Declaration and Javadoc view should allow to navigate to other members in hierarchy (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=82709">bug 82709</a>)</li> | 
 | 				<li><font class="indexsub" color="#8080ff">[>3.2]</font> [investigate] better surface quick assists</li> | 
 | 				<li><font class="indexsub" color="#8080ff">[>3.2]</font> [investigate] improve support for code blocks</li> | 
 |         	</ul> | 
 |           <p></p> | 
 |         </lu> | 
 |          | 
 |         <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> | 
 |         Improve the existing NLS tooling.<b>[Simple to use, Scaling up]</b><br> | 
 |         The improvements added in 3.1 need also be provided for the new Eclipse string externalization | 
 |    		  	   pattern. Additional tooling like a builder that reports NLS problems for unused keys and unused property file entries should | 
 |    	   		  be added. Further possible items are listed <a href=../development/String_Externalization_Improvements.html>here</a>. | 
 |    	    <br> | 
 |    	   	<em>Note:</em> A builder was be too expensive (took too long to complete) we added a <code>Source > Find Broken NLS Keys</code action. | 
 |           <p></p> | 
 |         </li> | 
 |       </ul> | 
 |       <h2><a NAME="Work_Items"></a>Possible Work Items</h2> | 
 |       <p>This section is a collection of work items collected over time. | 
 |       Items on which the Text team plans to work in the course of the 3.2 development are marked with <font class="indexsub" color="#8080ff">[3.2]</font> (t.b.d). | 
 | 		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>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>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> | 
 |           file buffers  | 
 |           <ul> | 
 |             <li>provide file buffer level undo and composite changes</li> | 
 |             <li>allow buffers for non-existing files that get automatically created  | 
 |               when committing the file buffer</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] have only one for all open Java editors | 
 | 			<li>[investigate] use job infrastructure instead of own thread</li> | 
 |             <li>[investigate] adaptive reconciler timing</li> | 
 |           </ul> | 
 |         </li> | 
 |         <li> | 
 |           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> | 
 |           </ul> | 
 |         </li> | 
 |         <li> | 
 |           encoding (cross team issue)  | 
 |           <ul> | 
 |             <li>transfer encoding upon Save As...</li> | 
 |           </ul> | 
 |         </li> | 
 |         <li>folding  | 
 |           <ul> | 
 |             <li>introduce structured folding change events</li> | 
 |             <li>improve annotation summaries  | 
 |               <ul> | 
 |                 <li>allow for customization of 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>[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> | 
 |           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> | 
 |           Open External File  | 
 |           <ul> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> improve opening of external files (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58179">bug 58179</a>)</li> | 
 | 			<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10">make it work for OLE documents, e.g. MS Word (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74194">bug 74194</a>)</li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> support vertical ruler, overview ruler etc.; provide annotation model that is not resource dependent</li> | 
 | 			<li>provide 'Open With' (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=98002">bug 98002</a>)</li> | 
 |           </ul> | 
 |         </li> | 
 |         <li> | 
 |           undo  | 
 |           <ul> | 
 |             <li>introduce UI independent undo manager, see also file buffers (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=89599">bug 89599</a>)</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><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> 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> | 
 |           preferences  | 
 |           <ul> | 
 |             <li>adapt to the core settings API, smoothly integrate with the workbench vision (cross team issue)</li> | 
 |             <li>always split color settings in foreground/background, always allow system/default color</li> | 
 |           </ul> | 
 |         </li> | 
 |         <li>annotations / annotation presentation  | 
 |           <ul> | 
 |           	<li>add annotation (selection) events (helps to finish the roll-over annotation work)</li> | 
 |             <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> | 
 |             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>typing  | 
 |           <ul> | 
 |             <li>smart typing  | 
 |               <ul> | 
 |                 <li>improve smart backspace</li> | 
 |                 <li>consolidate smart typing infrastructure</li> | 
 |               </ul> | 
 |             </li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> 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>introduce light weight "Surround with" and "Search"  | 
 |               menu (cross team issue)</li> | 
 |             <li>[investigate] provide a "Source" > "Surround with" command (support for surround with is hidden) | 
 |             <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> | 
 |           text manipulation  | 
 |           <ul> | 
 |             <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> | 
 |           Quick diff  | 
 |           <ul> | 
 | 			<li><font class="indexsub" color="#8080ff">[3.2]</font> [investigate] add next / prev change buttons (button list might be activated manually)</li> | 
 |           	<li>[investigate] rewrite Quick Diff to use equivalence class | 
 |             <li>[investigate] character level diff in hover</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>comment formatter</li> | 
 |         <ul> | 
 |           <li>provide support for custom tags</li> | 
 |           <li>improve HTML support</li> | 
 |           <li>split general "comment" into Javadoc and code comments</li> | 
 |           <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> push down to JDT Core (cross team issue)</li> | 
 |           <li>[investigate] define formatting preference by providing an example</li> | 
 |         </ul> | 
 |         <li> | 
 |           hovering  | 
 |           <ul> | 
 |             <li>support @inherit  | 
 |               <ul> | 
 |                 <li>support inherited Javadoc even without @inherit</li> | 
 |               </ul> | 
 |             </li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> inform user how to correctly setup Javadoc and source hovers if no hover can be extracted (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69623">bug 69623</a>)</li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> extract information from external Javadoc (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41421">bug 41421</a>) (JDT UI?)</li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> use <code>Browser</code> widget for Javadoc hover</li> | 
 |             <li>[investigate] allow to reach hover via mouse (i.e. F2 via mouse)</li> | 
 |           </ul> | 
 |         </li> | 
 |         <li>folding  | 
 |           <ul> | 
 |           	<li>make folding more stable in case of typing errors: do not expand or collapse if errors get introduced</li> | 
 |           </ul> | 
 |         </li> | 
 |         <li>content assist  | 
 |           <ul> | 
 |             <li>support case-sensitive filtering</li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> 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><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> <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>[investigate] get support from JDT Core for parameter guessing, e.g. lazy for the selected proposal</font></li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> [investigate] propose textual completion  | 
 |               based on file contents</font></li> | 
 |             <li>[investigate] re-establish linked mode for  | 
 |               method calls on Show context info</font></li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> [investigate] code assist remembers previous choices in its rating (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32960">bug 32960</a>) (cross team issue)</font></li> | 
 |           </ul> | 
 |         </li> | 
 |         <li> | 
 |           syntax coloring  | 
 |           <ul> | 
 |           	<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add semantic highlighting for types (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=84769">bug 84769</a>)</li> | 
 |           	<li>add semantic highlighting for component boundaries (project, working set)</li> | 
 |             <li>improve preference page: preview should background highlight all occurrences of the selected type, also support backward coupling</li> | 
 |             <li>improve preference page: find a way that users don't have to expand the nodes each time</li> | 
 |             <li>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>spell checking | 
 |           <ul> | 
 |             <li>improve spell checking to ignore defined Java symbols or mark spelling errors in symbols differently</li> | 
 |             <li>rerun spell checking on dictionary change</li> | 
 |             <li>provide spell checking on file, folder, projects</li> | 
 |           </ul> | 
 |         </li> | 
 |         <li> | 
 |           editor  | 
 |           <ul> | 
 |             <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> | 
 |           navigation  | 
 |           <ul> | 
 |           	<li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> subclassed/implemented/overriden member indicator in vertical ruler and allow to navigate to them</li> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> 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>reconciler  | 
 |           <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>preferences | 
 |         	<ul> | 
 | 		        <li>move tab to spaces to Platform Text preferences (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=82296">bug 82296</a>)</li> | 
 | 		        <li>allow to export syntax color preference on their own</li> | 
 | 	            <li>improve syntax coloring preference page: preview should background highlight all occurrences of the selected type, also support backward coupling</li> | 
 | 	            <li>improve syntax coloring preference page: find a way that users don't have to expand the nodes each time</li> | 
 | 		         | 
 | 		    </ul> | 
 |         </li> | 
 |         <li>Quick Assist and Quick Fix | 
 |           <ul> | 
 |             <li>generalize Quick Assist and Quick Fix infrastructure to become part of Platform Text</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>Platform UI | 
 | 	      <ul> | 
 | 	      	<li>continue simplification/harmonizing of action contribution</li> | 
 | 	        <li>synchronized blocks compared to ILock</li> | 
 | 	        <li>editor splitting (to be synchronized with the Component Framework and multipage editor efforts)</li> | 
 | 	        <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> compatibility layer for commands moved to LTK UI plug-in<br> | 
 | 	        	⇒ Platform UI decided that they do not want to provide such a layer/infrastructure (too complicated) | 
 | 	        </li> | 
 |             <li>[investigate] support coloring schemes, scheme switch on tool bar</li> | 
 | 			<li>enhanced 'Colors and Fonts preference' page support needed to show syntax and annotation coloring preferences</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>light weight menus: | 
 | 	        	<ul> | 
 | 	        		<li>Go to</li> | 
 | 	        		<li>Surround with</li> | 
 | 	        		<li>...</li> | 
 | 	        	</ul> | 
 | 	        </li> | 
 | 	       </ul> | 
 | 	     </li> | 
 |         <li>JDT Core  | 
 |           <ul> | 
 |             <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> adopt JDT Core handling CUs without *.java ending (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71460">bug 71460</a>)</li> | 
 |             <li>check for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72234">bug 72234</a></li> | 
 |           </ul> | 
 |         </li> | 
 |         <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> 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> text independent editor layer implementing validateEdit</li> | 
 |         <li>scripting strategy of the platform</li> | 
 |         <li> [investigate] contribute to the resolution of the "many errors"  | 
 |            <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> | 
 |     </td> | 
 | </tr> | 
 |  | 
 | <tr> | 
 |     <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">3.2  | 
 |       Platform Text Milestone Plans</font></font></td> | 
 | </tr> | 
 | <tr><td>The 3.2 milestones can be reviewed <a href="previous_plans.html">here</a>.</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="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=JDT&product=Platform&component=Text&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=inbox&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=400d&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">new bug reports</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">accepted Platform Text bug reports</a></li> | 
 | <li><a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=ASSIGNED&email1=jdt-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=JDT&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">accepted JDT Text bug reports</a></li> | 
 | <li><a href="https://bugs.eclipse.org/bugs/query.cgi?short_desc_type=allwordssubstr&short_desc=&product=JDT&product=Platform&component=Text&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&namedcmd=Assigned&newqueryname=&field0-0-0=noop&type0-0-0=noop&value0-0-0=">find a bug report</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 (>) from xyz 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> |