* Improve unicode text edition

  - support reading/writing non utf8 encoded files

  - more robust utf8 implementation

  - support multi column chars

  - right-to-left, bidirectional text

* Detect crash recovery files when restarting

* improve highlighters

  - folding support

* improve info boxes

  - Move info handling to client

    . remove direct ui access from context

    . Add support for 'transient' info, displayed for a certain
      amount of time

* improve insert completion

  - Use some kind of ranking to sort completions

  - Detect when the following text is matching the inserted completion

  - Support multiple completion points
    (1.1@0:comp1:comp2:comp3:1.5@0:comp1:comp2:comp3)

  - smarter behaviour to keep completion available longer

    . keep per line timestamps

    . update completion options when lines are added/deleted

* spelling support

* investigate 'kakdiff'

* Tree based undo

* configurable evaluated (%sh{...}) strings ? use an option to define
  the interpreters.

* User defined text objects

* multiple parameters support for normal mode commands ?

  - 10,20g -> goto line 10, column 20

  - 1,2,3<a-space> remove selections 1, 2 and 3

* Make kakoune self-documenting

  - Improve in source doc strings, add minimal markup so that they
    display nicely with different width (paragraph rewrapping and
    explicit line break would go a long way)

  - Generate documentation from Kakoune source

    . Write asciidoc from internal documentation

    . make doc compiles kakoune, and run doc generation:
      +./kak -help commands > ../doc/commands.asciidoc+
      with README.asciidoc including commands ?

* Comments and strings should be more integrated than just highlighting, matching chars
  for example should be strings and comments aware (should they ?)

* Diff buffer on reload and only store the diff modifications

* change command parsing to be more shell like
  (support -option="value with spaces" instead of requiring "-option=value with spaces")