summaryrefslogtreecommitdiff
path: root/src/buffer.cc
AgeCommit message (Collapse)Author
2012-03-06simplify and optimize buffer line handlingMaxime Coste
2012-02-28call compute_lines before hooks at Buffer constructionMaxime Coste
2012-02-27fix Buffer::line_length for last lineMaxime Coste
2012-02-22Fix last line handling in bufferMaxime Coste
2012-02-22Buffer: optimize line updating when applying a modificationMaxime Coste
2012-02-22fix Buffer::line_length for last lineMaxime Coste
2012-02-02Use an Editor instead of a Window as much as possibleMaxime Coste
2012-01-31Buffer: support creation of temporary windows to apply commands when no ↵Maxime Coste
windows are in context
2012-01-31Buffer: add NewFile buffer type for buffer with an non existing yet fileMaxime Coste
2012-01-23HooksManager: forward declare Context instead of including context.hhMaxime Coste
2012-01-23HooksManager: extract the Singleton version as GlobalHooksManagerMaxime Coste
2011-12-28Buffer: fix compute_lines on empty_bufferMaxime Coste
2011-12-07Filters: move from buffer to windowMaxime Coste
2011-12-07Buffer: replace insert and erase methods with modifyMaxime Coste
modify directly takes a Modification as parameter
2011-12-06Buffer: rename BufferModification to ModificationMaxime Coste
2011-12-02Buffer: call BufCreate hook on constructionMaxime Coste
2011-12-02Buffer: add filter supportMaxime Coste
filters are functions called prior to applying a modification to a buffer. They can manipulate the modification to change the editor behaviour.
2011-11-28Buffer: add iterator_at_line_{begin,end} methodsMaxime Coste
2011-11-28DynamicBufferIterator: use const_cast instead of having a mutable field in ↵Maxime Coste
Buffer
2011-11-27Buffer: refactor to remove do_{insert,erase} methodsMaxime Coste
2011-11-24Buffer: fix handling of last eolMaxime Coste
2011-11-03Buffer: fix modified handlingMaxime Coste
2011-10-24DynamicBufferIterator: add and use in SelectionsMaxime Coste
DynamicBufferIterator are a new type of BufferIterators that automatically update themselves when their buffer is modified. Selections now uses this type of iterators instead of plain ones
2011-10-24Buffer: not copyable, add destructorMaxime Coste
2011-10-19Buffer: iterator_at prevents getting iterators on end of lineMaxime Coste
2011-10-18Buffer: add support for modification listenersMaxime Coste
2011-10-17BufferIterator: move methods implementation to buffer_iterator.inl.hMaxime Coste
2011-10-17Buffer: move struct Modification out of class, as BufferModificationMaxime Coste
2011-10-07Buffer: add a type propertyMaxime Coste
2011-10-05Buffer: modification trackingMaxime Coste
2011-09-28BufferIterator: add operator>{,=}Maxime Coste
2011-09-24BufferIterator: fix operator=Maxime Coste
2011-09-22Buffer: add line_count methodMaxime Coste
2011-09-17LineAndColumn: move to it's own header and add operator[+-]=?Maxime Coste
LineAndColumn is now a template so that WindowCoords and BufferCoords cannot be added together.
2011-09-09assert: custom implementationMaxime Coste
2011-09-08Buffer is now responsible for window creationMaxime Coste
2011-09-08Window lifetime is now handled by it's buffer.Maxime Coste
A window cannot outlive it's buffer, so it makes sense to keep only a reference on it hand have the buffer manage the window lifetime.
2011-09-08Add a BufferManager singleton class, handling buffer lifetimeMaxime Coste
it also provide access to buffers by name
2011-09-06Buffer: Undo/Redo implementationMaxime Coste
Currently only a linear undo, i.e. if you undo and then make some new changes, previous undoed changes are lost. Final undo system should support an undo tree, with timestamped modifications.
2011-09-06Buffer: accept initial content in constructorMaxime Coste
2011-09-05LineAndColumn: segregate into WindowCoord and BufferCoordMaxime Coste
Having the same type to specify coordinates in window space or buffer space is error prone, now the compiler will tell if we use one for another.
2011-09-02add const BufferIterator::Buffer& buffer() methodMaxime Coste
2011-09-02Initial commitMaxime Coste