Maxime Coste
|
ea3e92aa5e
|
SelectionList know its buffer and timestamp
|
2014-05-13 20:09:06 +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
|
e1a9d5f71e
|
Fix clang compilation
|
2014-04-02 22:33:52 +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
|
4aed32d152
|
Store timestamp of last content modification in buffer lines
That means that lines that move around keep their timestamp.
|
2014-01-12 16:26:31 +00:00 |
|
Maxime Coste
|
ba5b21d43e
|
Clear buffer values explicitely in destructor
Buffer values could be registered as a listener, so we need to
get rid of them before asserting that all listeners have been
unregistered.
|
2014-01-11 19:05:09 +00:00 |
|
Maxime Coste
|
b247a05e43
|
Buffer: maintain a per line timestamp
|
2014-01-09 22:51:50 +00:00 |
|
Maxime Coste
|
560b4ab0b5
|
Fix DynamicSelectionList selecting buffer end on Buffer::reload
|
2014-01-08 19:36:18 +00:00 |
|
Maxime Coste
|
1e6fbf548b
|
Fix some tabs in the code
|
2014-01-05 14:30: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
|
0e6bbbb8c4
|
remove useless code in Buffer constructor
|
2013-12-16 23:53:04 +00:00 |
|
Maxime Coste
|
9b6639eb27
|
Remove Editor::move_selections
|
2013-12-15 14:14:52 +00:00 |
|
Maxime Coste
|
563f62b467
|
Fix Buffer::char_next when the line ends with an invalid utf8 sequence
|
2013-12-12 13:45:14 +00:00 |
|
Maxime Coste
|
1b1031627c
|
Add Buffer::run_hook_in_own_context helper method
|
2013-12-11 13:57:10 +00:00 |
|
Maxime Coste
|
ad275d1d1c
|
Extract InputHandler from Client
|
2013-11-14 18:09:15 +00:00 |
|
Maxime Coste
|
04ae48c346
|
indent cleanup, correct erroneous 3 spaces indent
|
2013-11-14 00:12:15 +00:00 |
|
Maxime Coste
|
db5050fab0
|
Add BufSetOption hook support
|
2013-11-12 20:36:42 +00:00 |
|
Maxime Coste
|
a11bccaa12
|
fix Buffer constructor exception safety
|
2013-11-07 21:43:18 +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
|
3862b5cbb8
|
LineAndColumns: always pass by value
|
2013-07-26 01:50:09 +02:00 |
|
Maxime Coste
|
5b4ef23b9d
|
more tolerant Buffer::string
|
2013-06-27 23:49:34 +02:00 |
|
Maxime Coste
|
bd8daac3a1
|
Fix UndoGroupOptimizer
|
2013-06-12 00:14:05 +02:00 |
|
Maxime Coste
|
7306f6b33b
|
Buffer: always use {line_count(), 0} as end in Modifications
|
2013-06-06 20:02:20 +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
|
cf454ef904
|
UndoGroupOptimizer: fix count_byte_to
|
2013-06-06 19:44:08 +02:00 |
|
Maxime Coste
|
357799c966
|
replace remaining plain assert with kak_assert
|
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
|
ee22596d61
|
tweak Buffer::{,char_}prev
|
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
|
fb41e1fdf9
|
tweak Buffer::do_insert
|
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
|
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 |
|
Maxime Coste
|
d5b190369a
|
DisplayBuffer: use coords rather than iterators
|
2013-05-30 13:59:38 +02:00 |
|
Maxime Coste
|
6c290eff9a
|
Buffer::do_{erase,insert} takes coord parameters rather than iterators
BufferChangeListeners do as well use coord rather than iterators
|
2013-05-29 18:58:20 +02:00 |
|
Maxime Coste
|
f23f48172f
|
Buffer: add some method to work directly with coord instead of iterators
|
2013-05-29 18:58:20 +02:00 |
|
Maxime Coste
|
d238707e6d
|
Fix UndoGroupOptimizer
|
2013-04-30 19:01:20 +02:00 |
|