blob: 8c1a2792a93ff040f264b8083b7f2d945119dd08 [file] [log] [blame]
<!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">
&nbsp;
<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>
&rArr; 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 &gt;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 &gt;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 &quot;information at your finger tips&quot; and &quot;non-intrusive
UI&quot; 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 &gt;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 &lt; bracket support,
auto insertion of closing &gt;, 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 &quot;many errors&quot;
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 &quot;Go to&quot; 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 &lt;annotation type&gt;)</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 &#224; 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 &quot;Remove block of empty lines&quot;</li>
<li>revisit &quot;raw&quot; 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 &quot;Surround with&quot; and &quot;Search&quot;
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 &quot;Convert line delimiter&quot; 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">[&gt;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 &lt;code&gt;Te|
or &lt;tt&gt;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">[&gt;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 &lt;code&gt;&nbsp; &lt;/code&gt;</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">[&gt;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 &quot;key&quot;
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">[&gt;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>&nbsp;
</body>
</html>