summaryrefslogtreecommitdiff
path: root/src/buffer.hh
AgeCommit message (Collapse)Author
2017-02-06Small layout tweak for Buffer::HistoryNodeMaxime Coste
2017-01-28Make BufferIterator only a bidirectional iteratorMaxime Coste
Distance computation is too expensive on BufferIterators to treat them as random access.
2017-01-08Apply clang-tidy modernize to the codebaseMaxime Coste
2016-11-24Forward client name to contexts created for write-allMaxime Coste
Fixes #937
2016-11-14Propagate the hooks disabled state through prompt, menu, and command executionMaxime Coste
Maintain it as well during buffer creation even if the hooks are not executed in client context. Fixes #818
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-07-27BufferIterator is random access, not just bidirectionalMaxime Coste
2016-07-27Revert "Try to disambiguate timespec as a struct"Maxime Coste
This reverts commit 17d2dc9477444786b3db8ea834a45abbcb88abfd.
2016-07-27Try to disambiguate timespec as a structMaxime Coste
2016-07-27Add missing <time.h> header so that timespec is well definedMaxime Coste
2016-07-24Support for going backward/forward in buffer history with <a-u>/<a-U>Maxime Coste
2016-07-24Support counts for undo/redoMaxime Coste
2016-07-24Support moving between arbitrary history nodesMaxime Coste
2016-07-24Store creation timepoint in HistoryNodeMaxime Coste
2016-07-24Set memory domains for Buffer::HistoryNodeMaxime Coste
2016-07-24Store buffer undo/redo information in a tree instead of a vectorMaxime Coste
2016-07-24Merge remote-tracking branch 'lenormf/readonly-mode'Maxime Coste
2016-07-23Implement a `readonly` modeFrank LENORMAND
This commit introduces the `readonly` variable as well as the `-ro` command line option which prevent buffers from being overwritten on disk when the `write` command is used without arguments. Some buffers can selectively be put in readonly mode by setting the `readonly` variable on the `buffer` scope, the `global` mode will affect all buffers (even those who will be open subsequently), using the `window` scope will have no effect. Closes #685
2016-07-15Make buffer iterator iteration/dereference fasterMaxime Coste
2016-07-10Ensure buffer create/close hooks are run at appropriate timesMaxime Coste
They used to be ran before the buffer was added to the buffer list we now run them afterwards.
2016-04-21Fix BufferIterator::difference_type, it should be signedMaxime 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-12Do not include the debug buffer in word completionMaxime Coste
2016-01-27Make BufferIterator::operator* return a const ref to be more compatibleMaxime Coste
2015-12-06Change eolformat and BOM options to be enums instead of stringsMaxime Coste
2015-12-01Update buffer display names after changing working directoryMaxime Coste
Fixes #501
2015-11-12Faster BufferIterator::operator++/--Maxime Coste
2015-11-07Optimize BufferIterator to avoid a lot of pointer chasingMaxime Coste
2015-11-07Avoid useless StringDataPtr copyMaxime Coste
2015-11-04Do not tag BufferIterator as random accessMaxime Coste
Boost regex considers that random access means fast distance computation, which is not the case for BufferIterator where Buffer::distance is O(num lines between them) which can get big on large files. Fixes #462
2015-10-17Move line parsing and to Buffer.cc directlyMaxime Coste
2015-09-27Store timespec for buffer fs timestamps, not just time_tMaxime Coste
time_t has a resolution of one second, which cause troubles when a file changes multiple time during that same second.
2015-09-01Cache buffer display nameMaxime Coste
2015-07-27Small formatting fixMaxime Coste
2015-06-25Minor reorganisation in buffer.hhMaxime Coste
2015-04-18UndoGroupOptimizer disappeared long time agoMaxime 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-03-05Use a IdMap for storing hooksMaxime Coste
The number of hook names is small (<20), using an UnorderedMap is overkill, and prevents using StringView for key searching.
2015-03-01Use StringDataPtr alias for RefPtr<StringData>Maxime Coste
2015-03-01rename StringStorage to StringDataMaxime Coste
2015-02-19Rename safe_ptr and ref_ptr to SafePtr and RefPtrMaxime Coste
2015-01-29Tweak Buffer::Change layoutMaxime Coste
2015-01-27Store direct ref_ptr<StringStorage> for WordDB linesMaxime Coste
Storing a SharedString is a waste, we want the whole line.
2015-01-22Avoid temporary strings on buffer load/reloadMaxime Coste
Pass directly a Vector<ref_ptr<StringStorage>> to the buffer
2015-01-19rename SharedString::Storage to StringStorage and use directly in BufferMaxime Coste
2015-01-18buffer updates are in BufferMeta memory domainMaxime Coste
2015-01-15Replace InternedStrings with SharedString, shared_ptr basedMaxime Coste
2015-01-12replace all std::vector with VectorMaxime Coste
2015-01-10Track buffer lines memoryMaxime Coste