summaryrefslogtreecommitdiffstats
path: root/kate/TODO
blob: 1f50f6b4fa90eb5ddf2231ba4788c61cd65bf3c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
TODO:
  A current todo list is available on:
    http://kate.babylon2k.com/index.php/Work_todo

**** Refactoring/Cleanups ****

* KateLineRange to become a proper class with methods etc.  Parts needed for
  bidi.

* KateViewInternal to be completely hidden from view for almost everything but
  the view itself.

  -> in progress, almost done for most parts, viewinternal only visible to friends of KateView

* Separate more functionality from KateDocument (selections moving to KateView,
  a plugin manager class, a config class, etc)

  -> in progress:
      * config classes already in place
      * selection moved to KateView

**** new features ****

* Fix EOL whitespace cleaning finally by removing whitespace at load-time and
  keeping the document consistent all the time

  -> DONE ;) whitespaces are no cleaned at load time, the magic clean on save stuff is gone

* BiDi finally, using Scribe

* Finally implement arbitrary highlighting and arbitrary input filtering

* Switch internal highlighting to use arbitrary highlighting api and thus be
  exposed (read-only)

* Buffer locking (Per-line or per-group-of-lines) for multithreaded access

* More robust history including cursor position history

* More featureful code completion including syntax highlighted entries

* Custom widgets in between lines interface (eg. so kcachegrind could use
  katepart to display its cpu usage information etc)

* KateFoldingTree* to use smart cursors

* Splitting a view over multiple columns (I want to by a 30" apple display ;)

* Modular input subsystem, to support emulation of other editors in a clean way

* Improved input modes especially in block selection

* Multiple selection support

* Better support for information overlay (eg. documentation of a function -
  switch between short / detailed descriptions)

* Whatever else is needed for multiuser editing (and perhaps put most of it
  inside the part, so eg. kate, kdevelop, quanta etc. could all use it)

* Scripting (we don't have any yet do we?)

  -> in progress, part gets kjs support, already working, but API needs to be
     finished and a clever way to let scripts register for the katecmdline needs to
     be implemented, with caching and all other cool things the world doesn'T or does
     need