implement caret and selection handling

Signed-off-by: Florian Thienel <florian@thienel.org>
7 files changed