| Age | Commit message (Collapse) | Author |
|
when avoid_eol is true, clamping does avoid end-of-line if possible
|
|
|
|
|
|
|
|
* Filters now only works on insertion and take directly the
iterator and content
* use Buffer::insert and Buffer::erase to modify a buffer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Let copy elision and move semantics kick in
|
|
|
|
|
|
|
|
|
|
creating a new file
|
|
window hooks also executes buffer hook which also execute global hooks
|
|
|
|
|
|
This permits to fix a bug in BufferIterator::upgrade, replaced by
BufferIterator::on_insert and BufferIterator::on_erase. ModificationListener
was only used to updating iterators anyway.
|
|
|
|
OptionManager map names to options, and may delegate option resolution
to it's parent if it does not contains the asked for option. That way
Buffers can override global options, and Windows can override Buffer
options.
|
|
|
|
|
|
Instead of a big std::string, buffer now store it's content in a
list of lines. In order to achieve O(log(n)) random access, lines
contains both their content and their offset since the start of
the file, making binary search usable.
BufferIterator now have a LineAndColumn coordinate into the buffer
instead of an offset so that access is still O(1).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
windows are in context
|
|
|
|
|
|
|
|
|
|
|
|
modify directly takes a Modification as parameter
|
|
|
|
|