Commit Graph

130 Commits

Author SHA1 Message Date
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
bf98b38afd Use a plain SelectionList for Context, remove DynamicSelectionList 2014-05-14 19:49:04 +01:00
Maxime Coste
fbf7856e3e use plain SelectionList for regex_prompt 2014-05-14 00:27:41 +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
8ab1f58594 Use a Buffer::changes_since based implementation for undo/redo 2014-05-13 19:01:27 +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
db8a4ca318 SelectionList no longer inherit from std::vector 2014-05-12 18:59:00 +01:00
Maxime Coste
e4e609a35c Catch std::runtime_errors that can be thrown by regex_search
This handle the case where a regex matching gets too complex.
2014-05-08 19:33:14 +01:00
Maxime Coste
4010117c98 fix tabs_to_space on consecutive tabs 2014-05-08 19:30:10 +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
24f6471431 Add '$' for keeping selections that passes a shell command
'$' pipes each selections through a given shell command, and
only keeps the one that have an exit code of 0

Fixes #36
2014-05-05 18:09:03 +01:00
Maxime Coste
e6bda60ca4 Use c++ code for 'gf' command rather than running a user :edit command 2014-05-05 13:09:59 +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
b370f91025 Add -init switch to :prompt to set the initial text
Fixes #97
2014-04-27 12:37:41 +01:00
Maxime Coste
33de42610d Add g. command to go to the last buffer modification position 2014-04-07 23:47:50 +01:00
Jimmy Thrasher
d2e9486f2d Fix some more constexpr issues for clang 2014-04-03 13:56:03 -04:00
Maxime Coste
0fe9683c0f Fix indent/deindent when only empty lines are selected 2014-03-29 09:02:09 +00:00
Maxime Coste
da9d099f3b Remove Range struct, merge it back in Selection 2014-03-29 08:55:45 +00:00
Maxime Coste
159e0d049d rotate selection content count parameter groups selections
the count parameter does not specify the rotation count, but
the size of the rotation groups. with 2 for exemple, selection
contents will be swapped for each pair (1 and 2, 3 and 4, ...)
2014-03-27 00:11:30 +00:00
Maxime Coste
e6f5b3c038 Display command info only when the autoinfo option is true 2014-03-02 01:08:11 +00:00
Maxime Coste
9451782648 Add command switches information, and automatically display it 2014-03-02 01:08:11 +00:00
Maxime Coste
bd331742d2 Add @ command for tabs to spaces and alt-@ for spaces to tabs 2014-03-02 01:06:13 +00:00
Maxime Coste
0cd82d0ebe Rename align indent to more correct copy indent 2014-03-02 01:06:05 +00:00
Maxime Coste
daeefe2f33 Add support for strings
fixes #53
2014-02-15 00:36:00 +00:00
Maxime Coste
14f91e7132 Use a scoped edition when pasting 2014-02-12 00:03:01 +00:00
Maxime Coste
2159fc9563 Rename selections first,last to more explicit anchor,cursor 2014-01-28 19:06:52 +00:00
Maxime Coste
dbd194cea8 Fix autoinfo for angle bracket object 2014-01-27 21:11:45 +00:00
Maxime Coste
e364137196 Fix compilation with clang 3.4 2014-01-27 20:28:38 +00:00
Maxime Coste
bbf48e1d39 Honor incsearch option for select/split/keep
fixes #37
2014-01-27 19:51:58 +00:00
Maxime Coste
f6e5deae5a Add 'a' alias to angle brackets text object
fixes #39
2014-01-23 19:45:09 +00:00
Maxime Coste
aadbd390c7 Use wide character function for categorizing codepoints
Previously we used the is... rather than isw...
These functions were not supporting non ascii characters correctly
2014-01-05 15:14:58 +00:00
Maxime Coste
6c4c32eb59 Rewrite join_select_spaces
Stop using regex for selecting spaces at the begining of the line
2014-01-03 20:41:47 +00:00
Maxime Coste
ad7145dda4 Minor code cleanup in normal.cc 2014-01-01 18:45:28 +00:00
Maxime Coste
bcb53d8417 Add q and Q alias for single quote and double quote text object 2014-01-01 13:59:25 +00:00
Maxime Coste
0b509735ca Extract shell_complete lambda as a proper function 2013-12-30 14:20:05 +00:00
Maxime Coste
257f589e22 Add D for erasing with concatenated yanking 2013-12-26 10:40:22 +00:00
Maxime Coste
983abefc30 Add alt-| for piping and appending rather than replacing 2013-12-24 16:48:52 +00:00
Maxime Coste
bcba5287ad Add complete_command for completing commands in PATH
use it for pipe completion
2013-12-23 20:43:55 +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
ae75594d25 Window: refactor center_selection/display_selection_at
Take the line we are intersted in as a parameter rather than getting
the main selection last char line.
2013-12-16 19:08:19 +00:00
Maxime Coste
94c9e4e99b Fix select_coord that could select invalid positions 2013-12-16 13:39:02 +00:00
Maxime Coste
f83d5672f8 Fix replace_with_char behaviour, keep the same selections 2013-12-15 20:52:57 +00:00
Maxime Coste
ea95632709 Move Editor::selections_content to Context 2013-12-15 20:37:07 +00:00
Maxime Coste
8047cc97d3 Move Editor::{undo,redo} to free functions in normal.cc 2013-12-15 20:23:02 +00:00
Maxime Coste
7267b8281f Move insert and erase to normal.cc, and move edition management to context 2013-12-15 20:23:02 +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
39b43f4c3c Less uses of Editor, in favor of Context 2013-12-15 14:33:09 +00:00
Maxime Coste
935bc3cec9 Add Context::selections method, and use it in priority to the Editor's one 2013-12-15 14:25:23 +00:00
Maxime Coste
9b6639eb27 Remove Editor::move_selections 2013-12-15 14:14:52 +00:00