Platform Text
Overall 3.0 Plan
The 3.0 plan below is a proto plan and input from the community is welcome.

Overall themes

  • improve navigation support
  • reduce gestures
  • smarter editing
  • improve presentation of editing and browsing related information
  • consolidate preference handling
  • consolidate code

Navigation and interaction

Planned items

  • folding
    • allow user controlled folding structures
    • vertical ruler column as folding control
  • [>3.0] editor view splitting
  • regex in Find/Replace dialog (available, needs 1.4. runtime)
  • enable reducing the number of gestures required to insert a completion proposal and to continue typing
    • e.g., auto activate content assist if completion trigger is also an auto activation trigger
  • interactive status bar
    • change overwrite mode on double click
    • change raw/smart mode on double click (see smart typing section)
    • [>3.0] change read/only flag on double click
  • provide actions to show/hide vertical ruler columns, overview ruler, etc. that can be bound to accelerators

Investigation items

  • navigation control
    • Previous element button, Selector to choose the element type, Next element button
    • navigation hover listing all possible navigation actions as hyper links
    • content assist like lightweight dialog approach listing all possible navigation actions
    • [>3.0] action hovers
  • [>3.0] support gestures

Information presentation

  • generalize hover concept to show context information of elements and allow for configurable presentation
    • control as hover or view part
    • content as text, list, or tree
  • change bar vertical ruler column
    • shows difference to a selected revision/snapshot/saved state
    • ruler hover shows original content
    • context menu offers action to revert the current difference to the original content
  • background highlighting of text to complement squiggles
  • synchronize editor dirty bit and undo manager state

Typing

Planned items

  • smart insert new line before/after cursor line
  • duplicate selection/line
  • [>3.0] transpose lines/words/characters
  • move lines
  • copy lines
  • change selection to upper/lower case
  • smart Backspace/Delete/yank line: will remove everything inserted by an auto indent strategy
  • [>3.0] delete block of empty lines (keep none or one)
  • introduce "raw" mode in which every key stroke is stripped down to its bare meaning
    • mode is shown in the status line
    • action with key binding to toggle mode
    • adapt all actions to consider the mode setting
  • template support in Default Text Editor

Investigation items

  • [>3.0] investigate macro support (requires command based text infrastructure)

Preference handling

  • support default configurations and preference inheritance
  • introduce UI for setting the Undo manager stack size

Misc

  • [>3.0] allow to specify line terminator for new files
  • editors and none resources
    • open editor on a java.io.file rather than IFile
    • [>3.0] support for more abstract editable source than IFile such as IEditableEditorInput

Architectural and implementation issues

  • [>3.0] merge interfaces with their extensions including cleanup of replaced concepts
  • integrate command based text manipulation with IDocument and related classes
    • unify with the undo manager
    • find policy of partition and position updating that fits compound text manipulation commands
  • extend partitioning
    • handle partitions of length zero
    • [>3.0] introduce nested partitions
  • move templates to text infrastructure layer
item is under development  item is finished  () item is time permitting
3.0 Development Effort - Milestone Plans

Milestone M9

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

Future 3.0 Milestones

  • This document sketches the focus items for the second half of the 3.0 development process. It provides the main input for the forthcoming update of the previously published 3.0 plan.
Bug Tracking