High Priority ------------- Medium Priority --------------- * tweak editing model, some behaviours are not intuitive, fix append when end of line is selected (maybe we can merge some code between editor and IncrementalInserter. By the way, IncrementalInserter is now only used by InputHandler's InputMode::Insert, maybe this could be refactored). * encoding: support different encoding for files, make utf8 implementation more robust * key binding support * configurable insert mode completion support * Design an Asynchronous model for interaction with external tools. For example Kakoune should provide a way to run a completion shell command without freezing until the completer returns. * Mouse support * Crash recovery support (swap files) * Sanitize prompt history handling, hooks should not have side effects on history * Rework jump list. one DynamicSelectionList per jump is too slow when many selections are used (each buffer change makes all jumps update all their selections) * automatic line splitting/paragraph formatting