Maxime Coste
ff730380ed
Window: empty_selections -> clear_selections
...
clear_selections also reset select_mode to Normal,
most editing operations now do a clear_selections.
2011-10-05 14:24:52 +00:00
Maxime Coste
4ce349fa02
Buffer: modification tracking
2011-10-05 14:21:24 +00:00
Maxime Coste
f4743e08bd
Filters: tweaks colorize_cplusplus
2011-10-04 19:08:34 +00:00
Maxime Coste
c8cf7bbaa9
Window: add a basic status line
2011-10-04 18:49:41 +00:00
Maxime Coste
4f771b084a
escape-key force return to normal mode
2011-10-03 18:41:05 +00:00
Maxime Coste
945426f47a
File: fix write_buffer_to_file
2011-10-03 18:40:12 +00:00
Maxime Coste
6a0b570e50
Filters: add a colorize_cplusplus filter and use it by default in Window
2011-10-03 14:30:14 +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
01ac17ed04
Filters: add a colorize_regex filter
2011-09-30 19:16:23 +00:00
Maxime Coste
36c3bb6ae3
ncurses: quick'n'dirty color support
2011-09-30 19:15:14 +00:00
Maxime Coste
e351acd997
Window: fix blink_void
2011-09-29 14:23:46 +00:00
Maxime Coste
834e2d2fe3
DisplayBuffer: check_invariant method to assert atoms consistency
2011-09-29 09:10:27 +00:00
Maxime Coste
e659ea2dab
DisplayBuffer: add a split method to split an atom
2011-09-29 08:55:08 +00:00
Maxime Coste
822fc0f822
Window: add a test filter to make 'void' blink
2011-09-29 08:37:27 +00:00
Maxime Coste
ba2800ddac
Window: refactor DisplayBuffer generation
2011-09-28 20:54:11 +00:00
Maxime Coste
7746c78ccc
BufferIterator: add operator>{,=}
2011-09-28 20:53:29 +00:00
Maxime Coste
a30b7c1e9f
Window: fix scrolling when select_mode == Append
2011-09-28 19:21:49 +00:00
Maxime Coste
e619a81375
IncrementalInserter: Append, Insert or Change mode specified at construction
2011-09-28 19:14:39 +00:00
Maxime Coste
43fb64a913
Window: selection behaviour now depends on a window state
...
more vi-like behaviour, hit the v key to toggle append selection mode,
this means much more keys become available for mapping, as caps are now
longer reserved to append mode.
2011-09-28 14:23:43 +00:00
Maxime Coste
309b722df9
Window: cursors are now implicit, taken from current selections
...
Window hence guarantees that there is always at least one selection.
2011-09-27 18:45:22 +00:00
Maxime Coste
610acb3c0e
Selectors: add a count argument to select_to
2011-09-27 14:27:48 +00:00
Maxime Coste
01018a5eac
Handle paste before and paster after with p and P
2011-09-27 14:15:20 +00:00
Maxime Coste
924a85d14f
erase, change: yank current selection before erasing
2011-09-26 08:59:32 +00:00
Maxime Coste
6ff06ca985
DisplayBuffer: cleanup
2011-09-25 23:51:12 +00:00
Maxime Coste
639897517a
Word selectors: better handling of line breaks
2011-09-25 23:50:13 +00:00
Maxime Coste
dc54e7f09c
% key selects whole buffer
2011-09-24 13:45:25 +00:00
Maxime Coste
0cad8ed34b
gh and gl to move to first/last character of line
2011-09-24 13:08:04 +00:00
Maxime Coste
d4933daba0
BufferIterator: fix operator=
2011-09-24 13:06:35 +00:00
Maxime Coste
53c9021857
Search: save last search to '/' register and bind n to repeat last search
2011-09-24 12:48:58 +00:00
Maxime Coste
1f0b06a855
Window: undo group cleanup and fix of append method
2011-09-24 12:39:40 +00:00
Maxime Coste
9b865cea39
Basic support for yanking and pasting
2011-09-23 14:31:57 +00:00
Maxime Coste
838ceb5958
Window: add selection_content method
...
it returns the content of the last selection, or the character under the
cursor if there are no selections.
2011-09-23 14:31:15 +00:00
Maxime Coste
8f70192875
CommandManager: now a singleton
2011-09-23 14:29:42 +00:00
Maxime Coste
c2cbd69c1a
main: using namespace std::placeholders
2011-09-23 14:27:34 +00:00
Maxime Coste
26537d7028
Utils: Singleton template and migration of the BufferManager
...
Singletons are not autocreating, the application needs to create
exactly one instance (I want to avoid implicit initialization order
hell)
2011-09-23 14:26:53 +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
662ba0c904
Selection: do not use [begin, end) semantics but [first, last]
...
selections are now defined with inclusive iterators, which means that
Selection(cursor, cursor) is a valid selection of the charateter pointed
by cursor.
On the user interface side, that means that the cursor is now part of
the selection, selectors were adapted to this behavior (and word
selectors are now much more intuitive)
2011-09-23 09:17:19 +00:00
Maxime Coste
5ca901644f
Completion: add complete_buffername completer
2011-09-22 18:55:45 +00:00
Maxime Coste
429536d0f4
BufferManager: allow iteration on Buffers with begin/end methods
2011-09-22 18:55:23 +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
0f4f201b6d
Selectors: fix select_matching
2011-09-22 14:18:26 +00:00
Maxime Coste
03c199420e
basic g (go) command, gg/gt goes to first line, gb goes to last
2011-09-22 14:02:07 +00:00
Maxime Coste
a8cac32fe0
Selectors: more vi-like words movements
2011-09-22 14:00:31 +00:00
Maxime Coste
5a46ad49ea
Window: add move_cursor_to method
2011-09-22 14:00:04 +00:00
Maxime Coste
3012f69c4d
Selection: fix canonicalize
2011-09-22 13:59:07 +00:00
Maxime Coste
948443a077
Buffer: add line_count method
2011-09-22 13:58:35 +00:00
Maxime Coste
2efa120612
o key to open a line after the current one
2011-09-22 09:24:16 +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
Maxime Coste
3c06846aa3
RegexSelector: wrap on top if needed
2011-09-20 12:00:06 +00:00