Hello Simon,
Your code is very short, so i'm curious which of the 16 points on your
webpage
http://aeditor.rubyforge.org/buffer2/index.html are support by
the current implementation. I mean everything except 13,15 and 16
which are independent or a side-effect of the used datastructure.
1. Bad caching: no caching at the moment.
I will add this when I add syntax coloring.
2. Optimized vertical scrolling: no caching at the moment.
I will add this when I add syntax coloring.
3. Robustness: ok. I have tested this carefully.
The model can only be modified via one function: replace.
The datastructure for the first time is rock solid.
4. Folding: ok
5. Optimized horizontal scrolling: not optimized.
I will add this when I add syntax coloring.
6. 2 Pass lexing: no lexing yet.
7. Multiple views: ok.
8. i18n: ok, this is my first editor that supports unicode.
(im interested in also adding big5 encoding).
9. prevent explosion of objects: ok.
I have reduced complex data structures to simple arrays, which are
easier to take snapshots of (for undo/redo). There is no undo/redo
implemented yet.. but things shouldn't produce that many objects.
10. live templates: not supported yet.
In both aeditor 0.x and 1.x I had editing strategies.
A similar setup which is enhanced a bit more is required.
11. Soft wordwrap: I don't want to support this.
This creates all sorts of puzzles. Maybe I will look more indepth on this
in the futurue. But don't expect anything here.
12. Rectangular Selections: not implemented yet.
Now when things are simpler then it should be easier to
implement.
13. Better GUI: undecided yet.
14. Nested Lexers: I have thought more about it.
There will be support for this, but nothing yet.
15. More Speed: ok.
maybe some caching a few places.
16. Simplify Things: ok.
things has been simplified.
[i got to goto my job]