Maxime Coste
|
3d430e14c4
|
Buffer: small fix in apply_modification
|
2013-01-28 13:45:32 +01:00 |
|
Maxime Coste
|
54725ebcca
|
Buffer::do_insert: fix on_insert call when inserting at the end
|
2013-01-24 14:08:24 +01:00 |
|
Maxime Coste
|
410067282a
|
Buffer: end is either one past last character, or one past last line
|
2013-01-23 18:52:42 +01:00 |
|
Maxime Coste
|
72cc61c987
|
add undo unit_test and fix Buffer
|
2013-01-23 14:39:33 +01:00 |
|
Maxime Coste
|
3404366b65
|
add more asserts
|
2013-01-23 14:39:33 +01:00 |
|
Maxime Coste
|
f14bc5e310
|
Buffer: small style fixes
|
2013-01-23 13:47:45 +01:00 |
|
Maxime Coste
|
1b53b92267
|
Buffer: check that newlines are at the end of lines
|
2013-01-22 14:28:15 +01:00 |
|
Maxime Coste
|
621be2ceab
|
Hooks now takes a non-const context
|
2013-01-17 13:45:43 +01:00 |
|
Maxime Coste
|
914ede7a82
|
Add and use a Set template class for recuring small sets
|
2013-01-11 14:28:13 +01:00 |
|
Maxime Coste
|
9531fd5915
|
Buffer loses the 'New' flag when written
|
2012-12-28 13:52:19 +01:00 |
|
Maxime Coste
|
6c901e9152
|
Buffer: close undo group when saved
|
2012-12-19 18:56:20 +01:00 |
|
Maxime Coste
|
f1b15ef86b
|
fix buffer creation on empty file
|
2012-11-27 13:39:35 +01:00 |
|
Maxime Coste
|
c32a7b9b74
|
Buffer takes a vector of lines as initial content
|
2012-11-23 18:42:07 +01:00 |
|
Maxime Coste
|
2523c4955b
|
buffer: increment timestamp on notify saved
|
2012-11-23 13:41:07 +01:00 |
|
Maxime Coste
|
11e885e5a5
|
Cleanups and minor refactoring on Buffer
|
2012-11-22 18:54:37 +01:00 |
|
Maxime Coste
|
08ad8e8a40
|
move Window ownership to the ClientManager instead of the Buffer
|
2012-11-22 14:08:55 +01:00 |
|
Maxime Coste
|
3b5530ac09
|
rename (hook|option)_manager to (hook|option)s.
And Global(Hook|Option)Manager to Global(Hook|Option)s
|
2012-11-22 13:50:29 +01:00 |
|
Maxime Coste
|
d1fade5c9e
|
Buffer: replace reset_undo_data with a NoUndo flag
|
2012-11-21 13:43:10 +01:00 |
|
Maxime Coste
|
ac6171686d
|
minor fixes to buffer constructor
|
2012-11-21 13:37:36 +01:00 |
|
Maxime Coste
|
8bbfbc8c72
|
Buffer: replace Buffer::Type with Buffer::Flags
|
2012-11-20 19:47:56 +01:00 |
|
Maxime Coste
|
77272db0fd
|
make Buffer::{add,remove}_change_listener const and the listener list mutable
|
2012-11-12 20:11:27 +01:00 |
|
Maxime Coste
|
fedabb4176
|
Rework Window creation, avoid using the same window in multiple clients
|
2012-11-05 19:15:42 +01:00 |
|
Maxime Coste
|
c947819154
|
Fix buffer iterator_at_line_{begin,end}(LineCount)
|
2012-10-31 14:28:03 +01:00 |
|
Maxime Coste
|
c92077762c
|
Makefile: add -Wall to CXXFLAGS
|
2012-10-11 01:17:29 +02:00 |
|
Maxime Coste
|
0ce6bd9bf5
|
use ByteCount instead of CharCount when we are really counting bytes
(that is most of the time when we are not concerned with displaying)
|
2012-10-11 00:41:48 +02:00 |
|
Maxime Coste
|
194bf6ac98
|
Buffer: add some utf8 sanity checks
|
2012-10-08 19:25:17 +02:00 |
|
Maxime Coste
|
9ec10daf69
|
move clamp to utils.hh
|
2012-10-02 14:08:09 +02:00 |
|
Maxime Coste
|
e39086cd5f
|
Buffer: reset undo data after executing hooks in constructor
|
2012-09-11 19:03:37 +02:00 |
|
Maxime Coste
|
f9e31856cf
|
Buffer: Allow inserting at the end when the inserted text ends with an end of line
Adapted other code in consequence and added unit tests so that this behavior
is maintained.
|
2012-09-10 19:26:17 +02:00 |
|
Maxime Coste
|
e4fd839dda
|
use a strongly typed int CharCount for character counts
|
2012-08-23 23:56:35 +02:00 |
|
Maxime Coste
|
0d8cce2728
|
use a strongly typed int LineCount for line counts
|
2012-08-22 23:33:52 +02:00 |
|
Maxime Coste
|
0eaf39b725
|
Add Buffer::iterator_at_line{begin,end}(size_t line) overloads
|
2012-08-21 20:52:49 +02:00 |
|
Maxime Coste
|
390d4ccdfc
|
Buffer::{iterator_at,clamp} takes an optional avoid_eol parameter
when avoid_eol is true, clamping does avoid end-of-line if possible
|
2012-08-15 18:06:59 +02:00 |
|
Maxime Coste
|
260b30e6d9
|
misc cleanups
|
2012-08-15 17:55:58 +02:00 |
|
Maxime Coste
|
5393e9e78b
|
Buffer: add a timestamp
|
2012-08-15 17:07:53 +02:00 |
|
Maxime Coste
|
4e34f777b0
|
Buffer: stronger invariant, a buffer is never empty and all lines finish by '\n'
|
2012-08-14 14:13:10 +02:00 |
|
Maxime Coste
|
759319ca44
|
Buffer: move back Modification as an implementation detail
* Filters now only works on insertion and take directly the
iterator and content
* use Buffer::insert and Buffer::erase to modify a buffer
|
2012-08-10 19:12:43 +02:00 |
|
Maxime Coste
|
54b599c1a7
|
Buffer: fix corner case in insert
|
2012-08-10 14:22:57 +02:00 |
|
Maxime Coste
|
c7fc2a9317
|
Buffer: add reset_undo_data method
|
2012-08-10 14:21:32 +02:00 |
|
Maxime Coste
|
ce99856bfa
|
Refactor BufferManager
|
2012-08-08 19:36:40 +02:00 |
|
Maxime Coste
|
18ca422306
|
Context: only buffer context are not allowed, an editor is always needed
|
2012-08-05 20:12:43 +02:00 |
|
Maxime Coste
|
23f72851e4
|
Buffer: fix insert at end of buffer
|
2012-08-02 07:04:04 +02:00 |
|
Maxime Coste
|
4908b2c3ef
|
Fix end_it computation in Buffer::insert, avoid clamping in iterator_at
|
2012-07-18 14:12:41 +02:00 |
|
Maxime Coste
|
31c0931dff
|
Go back to a generic BufferChangeListener interface for selection update
|
2012-07-16 21:51:37 +02:00 |
|
Maxime Coste
|
49e1d91804
|
Buffer: pass by value instead of by reference when object will be copied anyway
Let copy elision and move semantics kick in
|
2012-06-29 13:19:29 +02:00 |
|
Maxime Coste
|
36e4dacdf5
|
Fix BufferIterator::on_erase and tweak Buffer
|
2012-06-28 14:26:01 +02:00 |
|
Maxime Coste
|
ccec35f88c
|
code cleanups in buffer
|
2012-06-25 19:05:32 +02:00 |
|
Maxime Coste
|
eb34f6db73
|
execute BufClose hook in Buffer destructor
|
2012-06-14 17:44:28 +00:00 |
|
Maxime Coste
|
fd8517f91e
|
fix some warnings detected with clang
|
2012-06-05 13:33:02 +00:00 |
|
Maxime Coste
|
bc359d7c90
|
BufCreate hook is always called for every buffer, BufNew is called when creating a new file
|
2012-06-12 18:27:57 +00:00 |
|