| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2014-10-12 | Preserve selection orientation when replacing | Maxime Coste | |
| Fixes #31 | |||
| 2014-10-03 | Use InternedStrings for buffer contents | Maxime Coste | |
| 2014-09-22 | Use std:move for selection parameters | Maxime Coste | |
| 2014-07-25 | Fix Selection::insert when replacing with empty string at the end of the buffer | Maxime Coste | |
| 2014-07-05 | Add support for paste all (on <a-[pP]>) | Maxime Coste | |
| Paste all pastes all yanked text at all selections, selecting each pasted text. Replace paste moves to R, and concat yank/concat delete (Y and D) are removed. Fixes #161 | |||
| 2014-07-05 | utf8: use end of sequence iterators for more security | Maxime Coste | |
| 2014-06-12 | Fix selection update | Maxime Coste | |
| 2014-06-05 | Fix handling of empty insert | Maxime Coste | |
| 2014-06-05 | Rework and fix corner cases in selection updating code | Maxime Coste | |
| 2014-06-02 | Fix selection updating, avoid overlapping selections | Maxime Coste | |
| 2014-06-02 | Move compute_modified_ranges to selection.cc and use an optimized approach | Maxime Coste | |
| 2014-06-02 | Optimize SelectionList::update in the case where changes are backward | Maxime Coste | |
| This case arise on undo, reverse sorted changes that are not overlapping. | |||
| 2014-06-01 | Extract merge_overlapping as a free function template | Maxime Coste | |
| 2014-05-31 | formatting fix | Maxime Coste | |
| 2014-05-29 | Use forward iteration on selections, and take advantage of it when updating | Maxime Coste | |
| SelectionList::update now is optimized for the common case where changes are sorted, the algorithm is O(m*n) with m the number of sorted ranges in the changes. In the common case, m should be very small. | |||
| 2014-05-26 | Go back to Buffer::Change based implementation for SelectionList::update | Maxime Coste | |
| However take into account the ordering of selections in insert and erase methods, so that we update selection position cheaply. | |||
| 2014-05-25 | Use SelectionList::insert in InputModes::Insert | Maxime Coste | |
| 2014-05-25 | Move insert/erase methods from normal.cc to member functions in SelectionList | Maxime Coste | |
| It does look like the Editor class is attempting a sneaky comeback... | |||
| 2014-05-24 | Clamp modified coord in Selection as it could be buffer end | Maxime Coste | |
| 2014-05-24 | Fix, cleanup and refactor compute_modifications | Maxime Coste | |
| 2014-05-21 | Add initial (and probably buggy) compute_modifications code | Maxime Coste | |
| compute_modifications compiles a list of buffer change into a list of Modifications that can be used for updating BufferCoord | |||
| 2014-05-14 | Iterate in reversed order on selections when modifing buffer | Maxime Coste | |
| This way, update only needs to be called once everything is done as we always modify after the next selection to be used. | |||
| 2014-05-14 | Use a plain SelectionList for Context, remove DynamicSelectionList | Maxime Coste | |
| 2014-05-14 | utf8::is_character_start takes directly the char value | Maxime Coste | |
| 2014-05-13 | Make it harder to have an invalid SelectionList | Maxime Coste | |
| 2014-05-13 | SelectionList know its buffer and timestamp | Maxime Coste | |
| 2014-05-13 | Pass a at_end param to BufferChangeListener::on_{insert,erase} | Maxime Coste | |
| 2014-05-07 | Refactor LineAndColumn coordinates | Maxime Coste | |
| BufferCoord -> ByteCoord DisplayCoord -> CharCoord Moved their definition along with LineAndColumn into coord.hh | |||
| 2014-04-08 | Minor formatting fixes (very long lines) | Maxime Coste | |
| 2014-03-29 | Remove Range struct, merge it back in Selection | Maxime Coste | |
| 2014-01-28 | Rename selections first,last to more explicit anchor,cursor | Maxime Coste | |
| 2013-12-14 | SelectionList should never be empty | Maxime Coste | |
| 2013-12-14 | Move main selection index to SelectionList | Maxime Coste | |
| 2013-07-26 | LineAndColumns: always pass by value | Maxime Coste | |
| 2013-06-04 | Use coord instead of iterators for selections | Maxime Coste | |
| 2013-06-01 | BufferChangeListener: pass buffer to on_{inser,erase} | Maxime Coste | |
| 2013-05-30 | reorganize check_invariant in SelectionList | Maxime Coste | |
| 2013-05-30 | Remove Range::content | Maxime Coste | |
| 2013-05-30 | Remove begin/end from Ranges, replace with min/max | Maxime Coste | |
| Ranges should not be utf8 aware (needed for end), and a lot of uses for end() were in fact looking for max. | |||
| 2013-05-30 | buffer end should not be in a selection | Maxime Coste | |
| 2013-05-29 | Remove Selection::avoid_eol, move as static func in editor.cc | Maxime Coste | |
| Conflicts: src/editor.cc | |||
| 2013-05-14 | tweak Range::merge_with behaviour | Maxime Coste | |
| 2013-05-03 | add SelectionList::check_invariant | Maxime Coste | |
| 2013-05-02 | Move selection update code to SelectionList | Maxime Coste | |
| 2013-04-09 | rename assert to kak_assert to avoid collisions | Maxime Coste | |
| 2013-02-27 | Add String Range::content() const | Maxime Coste | |
| 2013-02-27 | Add a debug option to Makefile, and use KAK_DEBUG define to remove debug code | Maxime Coste | |
| 2013-01-23 | add more asserts | Maxime Coste | |
| 2012-12-13 | move selection updating code out of selection, to DynamicSelectionList | Maxime Coste | |
| this avoids a lot of unnecessary (add|remove)_change_listener as creating temporary Selections do not call that anymore. Use can choose between a SelectionList which or a DynamicSelectionList depending on wethear the buffer will be modified or not during the selections lifetime. | |||
| 2012-11-30 | Selection: refactoring, move CaptureList to Selection | Maxime Coste | |
