Maxime Coste
|
3b9f40fd58
|
Fix split selecting the buffer end
Fixes #241
|
2014-12-17 13:21:20 +00:00 |
|
Maxime Coste
|
b167c11671
|
Use StringViews for some helper functions in selectors.cc
|
2014-11-04 13:14:48 +00:00 |
|
Maxime Coste
|
fa85f0fc32
|
Refactor regex uses, do not reference boost except in regex.hh
|
2014-10-13 13:14:23 +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
|
fc53a80395
|
Small refactor
|
2014-10-01 23:41:06 +01:00 |
|
Maxime Coste
|
dd2bdea8dd
|
Keep selection direction on split/select/search
|
2014-09-18 00:34:23 +01:00 |
|
Maxime Coste
|
c18e2ac90e
|
Target end of line on line selectors
|
2014-09-09 23:41:32 +01:00 |
|
Maxime Coste
|
42611aef1e
|
Fix select_number
|
2014-07-10 19:22:14 +01:00 |
|
Maxime Coste
|
ed68d1ff28
|
utf8: use end of sequence iterators for more security
|
2014-07-05 12:10:06 +01:00 |
|
Maxime Coste
|
df3bf7445d
|
Replace boost::optional with our own implementation
|
2014-06-27 21:10:09 +01:00 |
|
Maxime Coste
|
fa5b6b716d
|
Fix crash in paragraph selection
|
2014-06-14 14:07:21 +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
|
c1a7759e7f
|
Tweak inner indent object code
Inner indent is now the set of lines whose indent is >= current
line indent, triming lines containing only whitespaces at start
and end.
Fixes #140
|
2014-05-26 21:41:51 +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
|
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
|
11d9b60766
|
Make it harder to have an invalid SelectionList
|
2014-05-13 23:22:54 +01:00 |
|
Maxime Coste
|
ea3e92aa5e
|
SelectionList know its buffer and timestamp
|
2014-05-13 20:09:06 +01:00 |
|
Maxime Coste
|
db8a4ca318
|
SelectionList no longer inherit from std::vector
|
2014-05-12 18:59:00 +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
|
e92e6c775a
|
Paragraph selection selects next paragraph when on previous end
|
2014-05-04 11:21:19 +01:00 |
|
Maxime Coste
|
30bdc8936b
|
Fix select_whole_lines on empty buffer
|
2014-04-10 20:14:11 +01:00 |
|
Maxime Coste
|
ac90839c3d
|
Select previous sentence or paragraph if selecting backward from the first char
[s and [p on the first char of a sentence or paragraph will select the
previous sentence or paragraph.
|
2014-03-31 21:46:47 +01:00 |
|
Maxime Coste
|
c3a1318ffd
|
When selecting forward paragraph and we are on an end of line, select the next one.
Fixes #62. Thanks to alexherbo2.
|
2014-03-30 11:13:45 +01:00 |
|
Maxime Coste
|
5079d78747
|
minor cleanup in select_whole_sentence
|
2014-03-30 11:13:37 +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
|
1e6fbf548b
|
Fix some tabs in the code
|
2014-01-05 14:30:26 +00:00 |
|
Maxime Coste
|
8168cba1a3
|
Fix small misbehaviour in split_selections
|
2014-01-04 14:23:08 +00:00 |
|
Maxime Coste
|
3be77842db
|
fix select_to_eol behaviour when on empty line
fixes #3
|
2014-01-03 19:00:19 +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
|
c4de866903
|
Fix select_to_previous_word when cursor is on last buffer char
|
2013-11-12 18:59:19 +00:00 |
|
Maxime Coste
|
70e94cb00a
|
Fix select_next_match that would select the end of the buffer in some circumstances
|
2013-11-04 21:59:28 +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
|
0267540985
|
Do not select the first line indent in inner indent select
|
2013-07-27 15:37:28 +02: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
|
245e68e26e
|
utf8_iterators: rename underlying_iterator to base
|
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
|
9fb4d42408
|
remove BufferIterator::is_{begin,end}
|
2013-06-04 18:53:56 +02:00 |
|
Maxime Coste
|
cc70e3ed70
|
selectors.cc: avoid dereferencing buffer end
|
2013-06-04 14:21:07 +02:00 |
|
Maxime Coste
|
4ef1bfa4db
|
Use coord instead of iterators for selections
|
2013-06-04 14:21:07 +02:00 |
|
Maxime Coste
|
b198f6a5fb
|
Fix select_whole_paragraph so that buffer end is not selected
|
2013-06-03 14:27:51 +02:00 |
|
Maxime Coste
|
b51799a2b2
|
Explicitly pass buffer to selectors
|
2013-06-01 14:22:57 +02:00 |
|
Maxime Coste
|
93dd1ff3c7
|
Remove begin/end from Ranges, replace with min/max
Ranges should not be utf8 aware (needed for end), and a lot of
uses for end() were in fact looking for max.
|
2013-05-30 13:59:38 +02:00 |
|
Maxime Coste
|
9a80a58ff4
|
buffer end should not be in a selection
|
2013-05-30 13:59:38 +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
|
86f6282cbe
|
selecting a surrounding object goes up one level if what we find is already selected
|
2013-04-22 14:18:49 +02:00 |
|
Maxime Coste
|
d3961768ec
|
add alt-X for trimming non full lines
|
2013-04-16 14:30:11 +02:00 |
|
Maxime Coste
|
270e950cf1
|
sort includes directives
|
2013-04-09 20:05:40 +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
|
ee800ad778
|
select_to_{,reverse}: search on other lines if needed
|
2013-03-18 23:47:18 +01:00 |
|
Maxime Coste
|
9230667c11
|
Add " and ' support to object selection
|
2013-02-27 19:08:13 +01: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
|
2195d59b49
|
refactoring selectors
|
2013-01-03 14:30:14 +01:00 |
|
Maxime Coste
|
8bfb7da674
|
fix splitting with inverted selection
|
2012-12-27 18:56:06 +01:00 |
|
Maxime Coste
|
ac778c8aa2
|
select_matching: fix when matching is the first character
|
2012-12-27 13:41:45 +01:00 |
|
Maxime Coste
|
b764a0a63e
|
Selection: refactoring, move CaptureList to Selection
|
2012-11-30 18:32:49 +01:00 |
|
Maxime Coste
|
dfafcdb6e6
|
utf8::codepoint: configurable invalid byte policy
|
2012-10-13 19:05:14 +02:00 |
|
Maxime Coste
|
c92077762c
|
Makefile: add -Wall to CXXFLAGS
|
2012-10-11 01:17:29 +02: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
|
430765e132
|
extract is_alpha to string.hh
|
2012-09-30 16:23:18 +02:00 |
|
Maxime Coste
|
e86e3bda4d
|
select_all_matches: reject match that start at the end of originating selection
|
2012-09-19 14:04:09 +02:00 |
|
Maxime Coste
|
ec57990060
|
whine when a search selected nothing so that the user knows
|
2012-09-12 19:09:10 +02:00 |
|
Maxime Coste
|
bbce6b22a3
|
remove regex.hh, define Regex directly in string.hh
|
2012-08-29 21:49:36 +02:00 |
|
Maxime Coste
|
0c596a9d64
|
Add a ShellManager which handles executing shell commands
ShellManager provides shell commands with environement variable
to retrieve some internal values in the shell parameters.
|
2012-05-03 07:25:13 +00: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
|
0a385885ff
|
correctly handle boost::regex_error in selectors
|
2012-03-04 20:11:22 +00:00 |
|
Maxime Coste
|
1f854bc0cc
|
fix select_surrounding when selection is on the closing char
|
2012-02-29 14:27:25 +00:00 |
|
Maxime Coste
|
46c614c4a2
|
fix skip_while
|
2012-02-16 14:28:22 +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
|
e02cb4e5bd
|
Selectors: select_next_match starts from cursor+1
so searching effectively starts on the character after current
selection end. Which makes repeating 'n' on a one character match
work.
|
2012-01-09 14:22:52 +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
|
b1daf8de16
|
Selectors: fix select_line on the last line
|
2011-12-02 18:56:18 +00:00 |
|
Maxime Coste
|
2549a63c0b
|
Selectors: fix corner cases on first/last buffer char
|
2011-11-24 18:46:35 +00:00 |
|
Maxime Coste
|
7b09b34cab
|
Selectors: fix select_whole_lines
|
2011-11-22 18:58:05 +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
|
fbe8eed3e4
|
Selectors: select_line selects next line when cursor is on eol
|
2011-10-27 18:57:31 +00:00 |
|
Maxime Coste
|
5bd61a3f38
|
Filters: correct select_to_previous_WORD
|
2011-10-27 14:09:57 +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 |
|