Maxime Coste
|
557128b641
|
IncrementalInsert::move_cursors: use overloaded for LineCount/CharCount editor implementation
|
2012-11-26 19:38:07 +01:00 |
|
Maxime Coste
|
cad4d3c01e
|
fix InsertMode::OpenLineBelow behaviour in prepare_insert
|
2012-11-26 19:24:38 +01:00 |
|
Maxime Coste
|
cee0a2d128
|
Append on end of line now appends to current line
|
2012-11-26 19:23:50 +01:00 |
|
Maxime Coste
|
e77ca7a4be
|
minor code simplification
|
2012-11-26 18:50:34 +01:00 |
|
Maxime Coste
|
84db1e2b8c
|
Editor: fix replacement beheviour just before end of line
|
2012-11-23 19:13:47 +01:00 |
|
Maxime Coste
|
11e885e5a5
|
Cleanups and minor refactoring on Buffer
|
2012-11-22 18:54:37 +01:00 |
|
Maxime Coste
|
3e53ebb5d6
|
alt-space without numeric parameter now flips selections, inverting first and last char
|
2012-11-19 19:03:56 +01:00 |
|
Maxime Coste
|
45bd3dbe5a
|
Pass the selection instead of only point of insertion to filters
|
2012-11-19 13:40:23 +01:00 |
|
Maxime Coste
|
14f980e4e0
|
move overlaps function to selection.hh
|
2012-11-12 20:27:56 +01:00 |
|
Maxime Coste
|
39932f7ea2
|
Fix IncrementalInserter::insert(memoryview<String>) so that inserting registers works as intended
|
2012-11-12 13:40:07 +01:00 |
|
Maxime Coste
|
3a34fae9a7
|
Editor: avoid end of lines when moving selection
|
2012-11-08 13:37:29 +01:00 |
|
Maxime Coste
|
42315c4b5c
|
Editor: store a safe_ptr to buffer instead of reference
|
2012-11-04 23:39:25 +01:00 |
|
Maxime Coste
|
dfafcdb6e6
|
utf8::codepoint: configurable invalid byte policy
|
2012-10-13 19:05:14 +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
|
a04d1e3a1f
|
Editor merge selections when they overlap
|
2012-10-10 19:11:24 +02:00 |
|
Maxime Coste
|
5bb37ad755
|
Support Append mode for Editor::select and use it for 'N' key
|
2012-10-10 13:59:55 +02:00 |
|
Maxime Coste
|
b48d639976
|
Editor::insert handle all InsertModes
|
2012-10-10 13:59:55 +02:00 |
|
Maxime Coste
|
d574ae864d
|
Editor::insert takes an InsertMode param, remove Editor::{append,replace}
|
2012-10-09 19:25:20 +02:00 |
|
Maxime Coste
|
ba50d853b3
|
Editor: fix move_selection(LineCount) for utf8
|
2012-10-09 14:29:59 +02:00 |
|
Maxime Coste
|
7e046e3f0b
|
utf8 awareness in editor, highlighters and ncurses
|
2012-10-08 14:27:43 +02:00 |
|
Maxime Coste
|
9ae8f5e47b
|
Editor::move_selection now either takes a LineCount or a CharCount
|
2012-10-02 14:10:00 +02:00 |
|
Maxime Coste
|
79d8d082bd
|
Store capture groups with selections in editor, and access them through dynamic registers
|
2012-09-26 20:43:42 +02:00 |
|
Maxime Coste
|
a8d2482eb6
|
Editor now stores selections as SelectionAndCapturesList
|
2012-09-26 20:33:47 +02:00 |
|
Maxime Coste
|
efc069b531
|
Extract IncrementalInserter::Mode as InsertMode
move ClientMode classes in a namespace due to InsertMode name collisions
|
2012-09-26 14:22:24 +02:00 |
|
Maxime Coste
|
730f39aaa0
|
remove selection stack from editor
|
2012-09-24 20:47:06 +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
|
287628ec19
|
Editor::{select,move_cursor} takes a enum SelectMode parameter instead of a boolean
|
2012-09-07 14:29:29 +02:00 |
|
Maxime Coste
|
69bebdb44e
|
fix open line above for first line and add a unit test
|
2012-09-03 23:46:04 +02:00 |
|
Maxime Coste
|
96c6adad78
|
IncrementalInserter: Fix avoid_eol behavior
|
2012-08-27 14:26:16 +02:00 |
|
Maxime Coste
|
a2aefa2998
|
avoid keeping end of lines selected in Editor::erase
|
2012-08-15 18:20:02 +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
|
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
|
a3cb9bfc5e
|
editor.cc: remove unused id_not_unique
|
2012-07-30 13:39:38 +02:00 |
|
Maxime Coste
|
c915e18950
|
Move selection to last modification position in editor::{undo,redo}
|
2012-07-16 21:53:00 +02:00 |
|
Maxime Coste
|
fe988868e5
|
IncrementalInserter preserves selections
|
2012-07-16 21:21:56 +02:00 |
|
Maxime Coste
|
06dd3f8aad
|
Add Editor::replace(memoryview) and bind alt-P to replace paste
|
2012-07-11 14:15:27 +02:00 |
|
Maxime Coste
|
5b2ef1da6a
|
IncrementalInsertor::insert takes a memoryview<String> rather than a Register
|
2012-06-29 18:35:48 +02:00 |
|
Maxime Coste
|
c0987ebacc
|
Add a FilterGroup, and cleanup HighlighterGroup
FilterGroup is similar to HighlighterGroup, it permits grouping
together filters for easy removal.
|
2012-06-12 18:24:29 +00:00 |
|
Maxime Coste
|
2c4bc5582a
|
Alt-Space permits to remove a selection by index
|
2012-05-29 11:15:43 +00:00 |
|
Maxime Coste
|
9337938403
|
replace std::string references with String
|
2012-04-14 01:17:09 +00:00 |
|
Maxime Coste
|
df0f7b4689
|
rename BufferString to String
|
2012-03-08 21:23:29 +00:00 |
|
Maxime Coste
|
7e01867d55
|
'I' now inserts before the first non blank character of the line instead of the first character of the line
|
2012-03-07 19:19:33 +00:00 |
|
Maxime Coste
|
0352ad7983
|
Editor: replace all captures if one capture is present
before, selecting with 2 captures after selecting with 3 captures
would keep the third capture from the first selection.
|
2012-02-10 13:58:29 +00:00 |
|
Maxime Coste
|
d84d085cc2
|
Merge captures into registers, implements register insertion
|
2012-02-09 23:47:55 +00:00 |
|
Maxime Coste
|
04a37d8895
|
Editor refactoring, merge undo and batch management
|
2012-02-07 23:41:10 +00:00 |
|
Maxime Coste
|
9b5e9ffee2
|
selectors now take a Selection as parameter instead of a BufferIterator
|
2012-02-07 14:26:51 +00:00 |
|
Maxime Coste
|
96b167859a
|
batches support in Editor, used by IncrementalInserter and exec_string
Editor groups all modification together in one undo group when batching.
nested batches are supported.
|
2012-02-03 13:55:22 +00:00 |
|
Maxime Coste
|
69d96c90da
|
extract an Editor class from Window and refactor
|
2012-01-31 19:12:06 +00:00 |
|