summaryrefslogtreecommitdiff
path: root/src/selection.cc
AgeCommit message (Collapse)Author
2017-01-01Refactor SelectionList::insert a bitMaxime Coste
2016-10-11More transform(...) filter cleanup using mem_fn when possibleMaxime Coste
2016-10-01Support codepoints of variable widthMaxime Coste
Add a ColumnCount type and use it in place of CharCount whenever more appropriate, take column size of codepoints into account for vertical movements and docstring wrapping. Fixes #811
2016-08-27Support merging consecutive selections with <a-m>Maxime Coste
Fixes #773
2016-07-30Support sorting and merging overlapping separately, fix bug in moveMaxime Coste
Fixes #754
2016-07-27Rework SelectionList::check_invariantMaxime Coste
2016-07-26Rework compute_modified_rangesMaxime Coste
Fixes #743
2016-07-14Ensure selections are sorted and non overlapping in selections_list_from_stringMaxime Coste
2016-07-13Clamp selection generated in selection_list_from_stringMaxime Coste
Fixes #733
2016-07-08Keep modified selections in non-draft exec/eval -iterselMaxime Coste
Fixes #727
2016-06-06Diagnose empty selection desc stringMaxime Coste
Fixes #690
2016-04-13Fix modified range computation when erasing multiple times past current ↵Maxime Coste
buffer end Fixes #654
2016-03-25Add a SplitView container viewMaxime Coste
2016-03-16Use ByteCoords directly for buffer insert/erase/replaceMaxime Coste
2016-03-16Avoid the spurious newline insertion when replacing at end of bufferMaxime Coste
Add a Buffer::replace method to handle the replacements properly Fixes #633
2016-03-08Rework container helpers, use pipe syntax and cleanup implementationMaxime Coste
use 'container | filter(func) | reverse() | transform(func)' instead of 'transform(reverse(filter(container), func), func)' to express container transformations.
2015-12-17Slight refactor in selection update codeMaxime Coste
2015-11-04Fix double check_invariant in SelectionList construction, and set main ↵Maxime Coste
selection to last
2015-09-23Refactor utf8::iterator to be on the safe sideMaxime Coste
utf8::iterator now knows the iterator valid range, and pass it to utf8 functions.
2015-08-03Enable more invariant checking in selection listsMaxime Coste
2015-07-24Fix warningMaxime Coste
2015-06-28Merge overlapping selections before erasingMaxime Coste
Overlapping selections on erase confuse the ForwardChangeTracker and will confuse the user, Fixes #298
2015-06-27Initial selection saving/restoring support bound to ^ and alt-^Maxime Coste
2015-06-05Avoid buffer end in compute_modified_rangesMaxime Coste
2015-05-21Merge branch 'diff'Maxime Coste
2015-05-20Remove clamping in compute_modified_rangeMaxime Coste
It can result in a non ordered range list.
2015-05-13Small cleanup in selections.ccMaxime Coste
2015-04-21Comment out update_erase function (keeped for reference)Maxime Coste
Fixes #254
2015-04-13Add support for string <-> selection list serializationMaxime Coste
2015-03-09ArrayView content is not const anymoreMaxime Coste
As in upcoming std c++ array_view, ArrayView<T> points to mutable data, use ArrayView<const T> or alias ConstArrayView<T> for const data.
2015-02-09Fix selecting of insert text in SelectionList::insertMaxime Coste
2015-01-23Fix bug when deleting end of buffer text using multiple selectionsMaxime Coste
2015-01-12replace all std::vector with VectorMaxime Coste
2015-01-06Rename memoryview to ArrayViewMaxime Coste
2014-12-19Restore some special behaviours, I missed them in interactive mode.Maxime Coste
2014-12-13Remove special case when appending at eolMaxime Coste
2014-10-12Preserve selection orientation when replacingMaxime Coste
Fixes #31
2014-10-03Use InternedStrings for buffer contentsMaxime Coste
2014-09-22Use std:move for selection parametersMaxime Coste
2014-07-25Fix Selection::insert when replacing with empty string at the end of the bufferMaxime Coste
2014-07-05Add 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-05utf8: use end of sequence iterators for more securityMaxime Coste
2014-06-12Fix selection updateMaxime Coste
2014-06-05Fix handling of empty insertMaxime Coste
2014-06-05Rework and fix corner cases in selection updating codeMaxime Coste
2014-06-02Fix selection updating, avoid overlapping selectionsMaxime Coste
2014-06-02Move compute_modified_ranges to selection.cc and use an optimized approachMaxime Coste
2014-06-02Optimize SelectionList::update in the case where changes are backwardMaxime Coste
This case arise on undo, reverse sorted changes that are not overlapping.
2014-06-01Extract merge_overlapping as a free function templateMaxime Coste
2014-05-31formatting fixMaxime Coste