summaryrefslogtreecommitdiff
path: root/src/buffer_manager.hh
AgeCommit message (Collapse)Author
2025-07-08Replace std::unique_ptr with a custom implementationMaxime Coste
<memory> is a costly header we can avoid by just implementing UniquePtr ourselves, which is a pretty straightforward in modern C++, this saves around 10% of the compilation time here.
2025-07-08Remove uses of Regex in BufferManager by taking a more general filterMaxime Coste
2024-04-27Ensure re-used fifo buffers makes that buffer the latest openedMaxime Coste
2024-04-27Add buffer -matching switchMaxime Coste
2021-07-20Remove unnecessary forward declarationMaxime Coste
2021-05-28Support opening files bigger than 2 GiBMaxime Coste
The real technical limit is with lines bigger than 2 GiB and buffers with more than 2 Gi lines, refactor buffer loading to make it possible to load those files. Fix an overflow with the hash_data function at the same time
2020-02-24Add a new 'arrange-buffers' to let users change the order of the buflistOlivier Perret
2016-11-29Small cleanup in BufferManager codeMaxime Coste
2016-11-28Add more memory domains to certain dataMaxime Coste
2016-10-11Only create a default *scratch* when we dont have any non debug buffersMaxime Coste
Fixes #852 Closes #856
2016-05-14BufferManager now owns the Buffers instead of registering themMaxime Coste
2016-03-02BufferManager should outlive ClientManager in the endMaxime Coste
If not, clients end up keeping references on a buffer while it it being deleted.
2016-03-02Ensure ClientManager is always outliving the BufferManagerMaxime Coste
2015-11-07Store the last used buffer in clientsMaxime Coste
Fixes #474
2015-04-23Fix :open bug that could set a deleted buffer as the last used oneMaxime Coste
2015-02-19Rename safe_ptr and ref_ptr to SafePtr and RefPtrMaxime Coste
2015-01-12replace all std::vector with VectorMaxime Coste
2014-12-23Extract complete_buffer_name as a free function in commands.ccMaxime Coste
2014-12-11Remove unneeded includesMaxime Coste
2014-10-13Do not assert on SIGTERM and backup modified buffers on signal induced ↵Maxime Coste
termination
2014-08-12Defer deletion of buffers to after the event loopMaxime Coste
We can have SelectionList in flights on the buffer, so mark it for deletion by moving it in a buffer trash, and effectively delete it later, at a point where there should not be any further access to it.
2014-08-12Make safe_ptr able to track callstacksMaxime Coste
The code stays disabled, as the performance penalty is quite high, but can be enabled to help debugging safe pointers.
2014-04-19Use StringView in BufferManagerMaxime Coste
2014-04-18Use StringView for completion functionsMaxime Coste
2014-04-07rename BufferManager::complete_buffername to complete_buffer_nameMaxime Coste
2013-04-10Use the buffer manager to delete buffer, throw when a client is insertingMaxime Coste
2013-03-21BufferManager: replace Buffer* get_buffer with Buffer& get_bufferMaxime Coste
2012-10-11use ByteCount instead of CharCount when we are really counting bytesMaxime Coste
(that is most of the time when we are not concerned with displaying)
2012-09-28Change buffer order based on the last one usedMaxime Coste
2012-08-23use a strongly typed int CharCount for character countsMaxime Coste
2012-08-08Refactor BufferManagerMaxime Coste
2012-06-28BufferManager use safe_ptr to reference the BuffersMaxime Coste
2012-06-14BufferManager deletes remaining buffers in his destructorMaxime Coste
2012-05-28Add a delbuf (db) command which delete an existing bufferMaxime Coste
2012-04-14replace std::string references with StringMaxime Coste
2012-03-26BufferManager no longer owns buffers, only register themMaxime Coste
2011-11-12Completion: decentralise, move buffer name completion to BufferManagerMaxime Coste
2011-09-23Utils: Singleton template and migration of the BufferManagerMaxime Coste
Singletons are not autocreating, the application needs to create exactly one instance (I want to avoid implicit initialization order hell)
2011-09-22BufferManager: allow iteration on Buffers with begin/end methodsMaxime Coste
2011-09-08Add a BufferManager singleton class, handling buffer lifetimeMaxime Coste
it also provide access to buffers by name