Maxime Coste
|
fc4142178f
|
Port more code to StringView instead of const String&
|
2014-10-20 19:18:38 +01:00 |
|
Maxime Coste
|
b097bbbf52
|
WordDB: Use interned strings pointing directly into the buffer line data
|
2014-10-07 09:16:19 +01:00 |
|
Maxime Coste
|
d4a84125ef
|
Use InternedStrings for buffer contents
|
2014-10-03 13:39:13 +01:00 |
|
Maxime Coste
|
d55d041c6a
|
Add support for interned strings
Use interned strings for Modification contents and word database.
Interned strings are guaranteed not to move in memory and are
reference counted.
|
2014-10-01 00:20:12 +01:00 |
|
Maxime Coste
|
e440adbcf4
|
add a 'buffers' debug command to get info on alive buffers
|
2014-09-22 19:19:34 +01:00 |
|
Maxime Coste
|
5092494427
|
Add support for target column preservation
Fixes #64
|
2014-09-09 19:42:57 +01:00 |
|
Maxime Coste
|
d356ae2419
|
Make safe_ptr able to track callstacks
The code stays disabled, as the performance penalty is quite
high, but can be enabled to help debugging safe pointers.
|
2014-08-12 19:18:10 +01:00 |
|
Maxime Coste
|
50abc18c8e
|
Add some more force inlines to some buffer methods
|
2014-07-19 00:18:16 +01:00 |
|
Maxime Coste
|
b6b646e9a2
|
Remove use of 'offset' in buffer iterators, lines are just String
No need to maintain line offsets anymore.
|
2014-05-24 17:08:01 +01:00 |
|
Maxime Coste
|
03e5264df4
|
Remove per lines timestamp in Buffer
|
2014-05-17 12:17:05 +01:00 |
|
Maxime Coste
|
c3f4ef9ba2
|
Remove BufferChangeListener
|
2014-05-14 19:49:04 +01:00 |
|
Maxime Coste
|
67a251ffd5
|
Pass a at_end param to BufferChangeListener::on_{insert,erase}
|
2014-05-13 19:01:27 +01:00 |
|
Maxime Coste
|
ddd8f8d392
|
LineChangeWatcher uses Buffer::changes_since rather than listening
|
2014-05-13 19:01:27 +01:00 |
|
Maxime Coste
|
a510276025
|
Maintain an append-only list of changes in Buffer
|
2014-05-12 19:03:13 +01:00 |
|
Maxime Coste
|
05b79921a9
|
Minor code cleanups in buffer.{cc,hh}
|
2014-05-10 16:25:07 +01:00 |
|
Maxime Coste
|
8546788b43
|
Refactor LineAndColumn coordinates
BufferCoord -> ByteCoord
DisplayCoord -> CharCoord
Moved their definition along with LineAndColumn into coord.hh
|
2014-05-07 19:53:45 +01:00 |
|
Maxime Coste
|
33de42610d
|
Add g. command to go to the last buffer modification position
|
2014-04-07 23:47:50 +01:00 |
|
Maxime Coste
|
84c30c4b8a
|
Minor formatting changes
|
2014-04-01 18:54:46 +01:00 |
|
Maxime Coste
|
3248829f5b
|
rename buffer_iterator.inl.hh as buffer.inl.hh and inline some more methods
|
2014-01-12 17:19:05 +00:00 |
|
Maxime Coste
|
b247a05e43
|
Buffer: maintain a per line timestamp
|
2014-01-09 22:51:50 +00:00 |
|
Maxime Coste
|
85387b3efe
|
Buffers can hold arbitrary values for for other systems
|
2014-01-09 21:01:29 +00:00 |
|
Maxime Coste
|
e6884f989c
|
Style changes, replace typedefs with usings
|
2014-01-09 19:59:26 +00:00 |
|
Maxime Coste
|
c0973075fa
|
Get rid of Editor for good
ClientManager now stores only the free windows, clients take
ownership of its own.
|
2013-12-20 20:14:57 +00:00 |
|
Maxime Coste
|
9b6639eb27
|
Remove Editor::move_selections
|
2013-12-15 14:14:52 +00:00 |
|
Maxime Coste
|
1b1031627c
|
Add Buffer::run_hook_in_own_context helper method
|
2013-12-11 13:57:10 +00:00 |
|
Maxime Coste
|
db5050fab0
|
Add BufSetOption hook support
|
2013-11-12 20:36:42 +00:00 |
|
Maxime Coste
|
2c09da50be
|
Add key mapping support
|
2013-10-25 00:30:46 +01:00 |
|
Maxime Coste
|
60dbec4949
|
Add Buffer::reload for reloading buffers without loosing options and hooks
|
2013-10-21 18:57:19 +01:00 |
|
Maxime Coste
|
44281c8fed
|
More robust Buffer filesystem timestamp handling
|
2013-10-17 18:47:09 +01:00 |
|
Maxime Coste
|
03c74b7a88
|
Detect file external modification and ask the user whether to reload or not
* Buffer now store a m_fs_timestamp field.
* Client in Normal mode checks current buffer file every 500 ms, or
each time it goes back to Normal mode.
|
2013-10-15 18:51:31 +01:00 |
|
Maxime Coste
|
a2577b4180
|
buffer: move Buffer::Flags operator as friends defined inside Buffer
|
2013-08-01 00:28:01 +02:00 |
|
Maxime Coste
|
3862b5cbb8
|
LineAndColumns: always pass by value
|
2013-07-26 01:50:09 +02:00 |
|
Maxime Coste
|
2a74b0e9e2
|
Buffer: insert and erase go back to taking iterators, and return iterators
|
2013-06-06 19:44:08 +02:00 |
|
Maxime Coste
|
bd504058d9
|
remove unused Buffer::char_at
|
2013-06-06 19:44:07 +02:00 |
|
Maxime Coste
|
70bf71e51f
|
remove Buffer:char_{distance,advance} use line access instead
|
2013-06-06 19:44:07 +02:00 |
|
Maxime Coste
|
580749a91d
|
Buffer: remove line_length and replace line_content with operator[]
|
2013-06-06 19:44:07 +02:00 |
|
Maxime Coste
|
6b667bc803
|
remove BufferIterator conversion to/from BufferCoord
|
2013-06-06 19:44:07 +02:00 |
|
Maxime Coste
|
777158e86d
|
remove BufferIterator::is_valid()
|
2013-06-04 18:56:28 +02:00 |
|
Maxime Coste
|
a23aa10797
|
remove BufferIterator::buffer()
|
2013-06-04 18:55:06 +02:00 |
|
Maxime Coste
|
9fb4d42408
|
remove BufferIterator::is_{begin,end}
|
2013-06-04 18:53:56 +02:00 |
|
Maxime Coste
|
51acd456cc
|
remove BufferIterator::{line,column}()
|
2013-06-04 18:53:28 +02:00 |
|
Maxime Coste
|
c4f9253634
|
Remove Buffer::iterator_at_line_{begin,end}, use iterator_at(line{,+1})
|
2013-06-04 14:21:07 +02:00 |
|
Maxime Coste
|
02b33c7d8f
|
Buffer: add methods for char access instead of byte access
|
2013-06-03 18:56:48 +02:00 |
|
Maxime Coste
|
3453ebbd52
|
BufferChangeListener: pass buffer to on_{inser,erase}
|
2013-06-01 00:48:46 +02:00 |
|
Maxime Coste
|
28e127a48a
|
remove avoid_eol parameter from Buffer::{iterator_at,clamp}
|
2013-05-30 14:23:25 +02:00 |
|
Maxime Coste
|
07c8379313
|
BufferIterator are Random Access iterators
|
2013-05-30 14:05:05 +02:00 |
|
Maxime Coste
|
d2df6a9f15
|
remove BufferIterator::clamp
|
2013-05-30 14:00:41 +02:00 |
|
Maxime Coste
|
ae947b456d
|
remove BufferIterator::offset
|
2013-05-30 13:59:38 +02:00 |
|
Maxime Coste
|
a07fde181a
|
Add Buffer::{next,prev,at}(BufferCoord) methods and use them in iterators
|
2013-05-30 13:59:38 +02:00 |
|
Maxime Coste
|
7f17644a6b
|
Buffer insert and erase takes coord rather than iterators
|
2013-05-30 13:59:38 +02:00 |
|