Maxime Coste
c94b343c65
Start regex search from selection min/max depending on search direction
2014-10-09 18:55:58 +01:00
Maxime Coste
3ea690a92e
Fix finding next match when the cursor is in the middle of the only match
2014-10-01 13:54:33 +01:00
Maxime Coste
9beba90060
Finding next matches start from seleciton min/max instead of cursor
...
uses min for backward serching, max for forward searching.
2014-09-26 00:27:23 +01:00
Maxime Coste
ecf8047bcc
Fix reverse search when extending
2014-09-25 13:29:53 +01:00
Maxime Coste
dd2bdea8dd
Keep selection direction on split/select/search
2014-09-18 00:34:23 +01:00
Maxime Coste
5092494427
Add support for target column preservation
...
Fixes #64
2014-09-09 19:42:57 +01:00
Maxime Coste
9439d28028
More consistent <space> and <a-space> behaviour
...
<space> and <a-space> without count now remove all except/keep
main selection. Without reducing main selection to cursor.
Reduce to cursor is moved to ';' and flip selections to <a-;>
2014-07-05 12:10:06 +01:00
Maxime Coste
ed68d1ff28
utf8: use end of sequence iterators for more security
2014-07-05 12:10:06 +01:00
Maxime Coste
5b27b956ad
Rename utf8::utf8_iterator to utf8::iterator
2014-06-24 19:10:57 +01:00
Alex Leferry 2
d5b1605df5
add ' ' for whitespaces object
2014-06-11 20:48:38 +01:00
Maxime Coste
1ffafa8650
Merge branch 'master' into remove-buffer-change-listener
2014-06-06 00:22:46 +01:00
Maxime Coste
72d6ed3575
Add 'n' for number object (inner number does not recognise '.')
2014-05-27 09:50:12 +01:00
Maxime Coste
e1c9e42213
Merge branch 'master' into remove-buffer-change-listener
...
Conflicts:
src/normal.cc
src/selectors.cc
src/selectors.hh
2014-05-27 00:35:12 +01:00
Maxime Coste
9aa38a1ea0
Rename select_whole_.* to just select_.*
2014-05-26 21:44:57 +01:00
Maxime Coste
b2621ca140
Move insert/erase methods from normal.cc to member functions in SelectionList
...
It does look like the Editor class is attempting a sneaky comeback...
2014-05-25 20:28:32 +01:00
Maxime Coste
4e280977a2
Iterate in reversed order on selections when modifing buffer
...
This way, update only needs to be called once everything is done
as we always modify after the next selection to be used.
2014-05-14 20:56:49 +01:00
Maxime Coste
ea3e92aa5e
SelectionList know its buffer and timestamp
2014-05-13 20:09:06 +01:00
Maxime Coste
7190791927
Move some buffer related utility functions to buffer_utils.{cc,hh}
2014-04-28 19:48:23 +01:00
Maxime Coste
da9d099f3b
Remove Range struct, merge it back in Selection
2014-03-29 08:55:45 +00:00
Maxime Coste
2159fc9563
Rename selections first,last to more explicit anchor,cursor
2014-01-28 19:06:52 +00:00
Maxime Coste
e364137196
Fix compilation with clang 3.4
2014-01-27 20:28:38 +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
eb81eef03e
Move SelectMode enum as an implementation detail in normal.cc
2013-12-15 14:38:04 +00:00
Maxime Coste
d0d9717fcf
Fix select_next_match
2013-12-14 18:40:29 +00:00
Maxime Coste
ce0e71aacb
Remove Editor::select methods, add a non-const selections getter
2013-12-14 18:38:14 +00:00
Maxime Coste
0c4d523b22
Move template selectors to the header
2013-12-14 14:49:10 +00:00
Maxime Coste
77590fe2e8
Move (keep|flip|remove|clear)_selections from editor method to free selectors
2013-12-14 14:38:17 +00:00
Maxime Coste
dad27fe1a0
Remove simple selectors, always go through a multi selector
2013-12-14 14:38:17 +00:00
Maxime Coste
f53ba0baed
MultiSelectors takes a reference to the current selection and mutate it
2013-12-14 14:38:17 +00:00
Maxime Coste
db048a0792
MultiSelectors now transforms the whole selection
2013-12-14 14:38:17 +00:00
Maxime Coste
ab925686ab
Improve object selection support
...
* A count is supported for nestable objects so that we
can specify the surrounding level.
* more symetric behavior for select to end/ to begin
2013-10-08 19:28:18 +01:00
Maxime Coste
fccb954611
Use WordType enum instead of a bool punctuation_is_word for word selector
2013-10-07 18:44:22 +01:00
Maxime Coste
3862b5cbb8
LineAndColumns: always pass by value
2013-07-26 01:50:09 +02:00
Maxime Coste
c58bab0f66
Add indent object type (bound to i)
2013-07-23 19:12:53 +01:00
Maxime Coste
37807ba19b
Add support for arrow keys in normal mode
...
use a Direction enum instead of a bool forward parameter
2013-07-02 19:48:05 +01:00
Maxime Coste
b51799a2b2
Explicitly pass buffer to selectors
2013-06-01 14:22:57 +02:00
Maxime Coste
64b20729a5
Full object selection support for paragraphs and sentences
2013-05-15 14:24:09 +02:00
Maxime Coste
b69c9ea753
add paragraph (p) object
2013-04-30 14:29:18 +02:00
Maxime Coste
4bb3863f95
add sentence (s) object
2013-04-30 14:21:48 +02:00
Maxime Coste
d3961768ec
add alt-X for trimming non full lines
2013-04-16 14:30:11 +02:00
Maxime Coste
1ab8120147
refactor regex based selectors, move regex construction out of them
2013-04-05 19:28:08 +02:00
Maxime Coste
bba7152063
Add backward search support (bound to alt-/)
2013-01-08 18:46:45 +01:00
Maxime Coste
3f7bf82cde
Support for selecting to surrounding object begin/end with [ and ]
2013-01-07 18:53:27 +01:00
Maxime Coste
b764a0a63e
Selection: refactoring, move CaptureList to Selection
2012-11-30 18:32:49 +01:00
Maxime Coste
7a8366da2b
add a unicode.hh header for Codepoint related functions, s/utf8::Codepoint/Codepoint/
2012-10-09 19:15:05 +02:00
Maxime Coste
0a686573ab
utf8 awareness in selectors
2012-10-08 19:12:09 +02:00
Maxime Coste
9337938403
replace std::string references with String
2012-04-14 01:17:09 +00:00
Maxime Coste
cd615b35a2
generalize do_select_surrounding in do_select_object and add a whole word selector
2012-03-12 14:23:30 +00:00
Maxime Coste
782b557660
factor word and WORD selectors
2012-03-07 19:20:32 +00:00
Maxime Coste
d84d085cc2
Merge captures into registers, implements register insertion
2012-02-09 23:47:55 +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
8b1b1d9cd8
Selectors: add select_surrounding to select blocks
...
Alt-a followed by []()<>{}bB selects the block surrounding current
selection end.
Alt-i is similar but selects only the inside of the block.
2012-01-04 14:18:08 +00:00
Maxime Coste
7861ad9ddb
Selectors: add split_selection bound to Alt-s
2011-11-21 19:30:44 +00:00
Maxime Coste
b67c36358d
Extract RegexSelector methods as plain selectors
2011-11-21 19:08:51 +00:00
Maxime Coste
2677fa7961
Add , to fully selects lines selection is on.
2011-11-21 18:53:22 +00:00
Maxime Coste
2c8f3229c0
Selectors: add selectors for WORDs
...
WORDs are the same as vim's ones, i.e. a group of contiguous non blank
characters. They are bound as alt + word selector key.
2011-10-25 18:46:14 +00:00
Maxime Coste
80e7bac622
Selectors: remove unused move_select
2011-10-12 18:54:04 +00:00
Maxime Coste
7e84ca9ae9
gl and gh now go to first or last character of the line
...
append mode is supported through G key
2011-10-10 14:24:17 +00:00
Maxime Coste
d99bcd7f2e
bind T and F as select_to_reverse non-inclusive and inclusive
2011-10-03 14:29:44 +00:00
Maxime Coste
610acb3c0e
Selectors: add a count argument to select_to
2011-09-27 14:27:48 +00:00
Maxime Coste
52ad372adb
Selectors: support inclusive mode in select_to (bound to f key)
2011-09-23 14:06:10 +00:00
Maxime Coste
c3faeb6c05
Selectors: add select_to which selects until a given character on current line
2011-09-22 14:35:28 +00:00
Maxime Coste
cff69b2556
Selectors: add a basic select_matching selector for <([{]])> pairs
2011-09-21 19:09:49 +00:00
Maxime Coste
3af66276f0
Move selectors function to their own file
2011-09-21 14:37:09 +00:00