| Summary: | [Article] A detailed article on how to write good text editors and also explaining the steps and objects that deal with writing text editors | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Community | Reporter: | Alex Le <unbonnevie> | ||||
| Component: | Articles | Assignee: | community.articles-inbox <community.articles-inbox> | ||||
| Status: | RESOLVED WONTFIX | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | jin.phd, moritz.eysholdt, thatnitind, wayne.beaton | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | stalebug | ||||||
| Attachments: |
|
||||||
|
Description
Alex Le
+1 I'm looking forward to the TOC or draft. I forgot to mention the main reason of wanting to write this article. While there are articles out there discussing on writing text editors on the Eclipse platform, using the text editing framework, a lot of which cover things either quickly or with not enough features, such as, how to spelling checking, change the color palette on the fly and see that updated instantly on all editor instances, pair-matching, task-tag annotation (such as, "FIXME", etc), and browseable hover content, etc., besides outline view and content assistant, etc. So, hopefully this article will provide some knowledge in writing editors. Long live Eclipse! :-) Please feel to comment on the below TOC. If there is a feature that is worth adding, I would be glad to hear of. Please note that the purpose of this article is to give more depth, as well as covering more text editing features that other articles do not covering. For example, text folding would be redundant to cover here; however, there could be additional depth (code wise or explanation of the code) on text folding.
All items in the TOC are discussed with code that ultimately produces a working editor.
Table of Contents
I. Introduction of the Eclipse Framework
* Text Editing Classes and Interfaces
* Important Text Editing Objects and Terminologies Associated to Them
* Text Editing Util Plug-ins & Classes
II. Editor Features
* Built-in Features
* Benefits of Extending the TextEditor Class
* Support Editing of Non-Workspace Resources
* Syntax Highlighting
* Support Different Text Attributes (Bold, Italicized, etc.)
* Support Dynamic Change of Palette
* Outline View
* Support Tooltip on Items on Mouse Hover
* Content Assistant with Simple Code Template Completion
* Text Hovering
* Support Browsable Content on Activation (i.e. via 'F2')
* Annotations
* Support Spelling Checking on non-Code Partitions
* Support Configurable Task Tags
* Discussion on other Annotations
* Editing Strategies/Features
* Support Hyperlink Dectector/Activator
* Double-click
* Auto-edit
* Reconciling Strategy (Part of Spelling Checking)
* Pair-like Character Matching with Configurable Coloring
* Text Formatting
* Text Folding (Note: There is an article on this already,
but I could do something fancy or cover
more depth.)
III. Preferences and Help
* Preference Coverage for the Features
IV. Conclusions
* ???
Created attachment 131457 [details]
TOC for the article
Hi,
Please comment or give feedback on the TOC. Thank you.
+1, although I'd expand "Palette" to "Color Palette" and point out that there's no consensus on how to handle Task Tags. I'd be willing to pitch in on parts of this. (In reply to comment #5) > +1, although I'd expand "Palette" to "Color Palette" and point out that there's > no consensus on how to handle Task Tags. > Ok. > I'd be willing to pitch in on parts of this. Great! Thank you. Let me get out a rough draft first and perhaps you can help me build more on the mentioned parts. For this article, I am planning to write an editor the for the AVR Assembly Language. I figure, I might make the stuff from the article useful. AVR is a technology for micro-controllers from Atmel. I have NO intention of creating any commercial vibes out of this article by writing an AVR editor as an example for the article. Question: There is no violation of any sort that would prevent the submission of this article? Thanks. More on AVR assembly language is at: http://www.atmel.com/dyn/resources/prod_documents/doc1022.pdf (In reply to comment #7) > There is no violation of any sort that would prevent the submission > of this article? Nope. Should be okay. Mostly to let you folks know that code is in place and writing the draft still. This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie. Feel free to reopen. |