251 Commits

Author SHA1 Message Date
32b272b75c Change Buffer::erase_range() to take a Range argument 2017-11-21 19:10:31 -05:00
8a2bc444db Add Buffer::beginp() and Buffer::endp() 2017-11-21 19:07:41 -05:00
bdf7ceac4e Add Buffer::Range 2017-11-21 19:01:59 -05:00
c3852e950a Add Buffer::erase_range() 2017-11-17 16:58:28 -05:00
438a3e6960 Add default mapping for A command 2017-11-16 16:15:08 -05:00
be84d40c29 Fix o/O commands 2017-11-15 21:32:29 -05:00
0617229567 Add default mapping for home/end keys 2017-11-15 21:13:08 -05:00
bf6c94ff4e Define default mapping entries for page up/down 2017-11-15 21:11:11 -05:00
f53f9dbf16 Define 'r' as default redo command 2017-11-15 21:06:16 -05:00
bb5bf6a13a Implement f/F/t/T commands 2017-11-15 21:01:20 -05:00
917491c08b add THIS_LINE motion and MOTION_COUNT 2017-11-15 20:32:34 -05:00
2d559db7d0 BufferView: cursor_move() takes a character argument 2017-11-15 20:32:01 -05:00
739edfd6f7 Add default mapping keys for scrolling window 2017-11-15 20:19:22 -05:00
67cd0c1701 Command: fix WHOLE_SCREEN typo 2017-11-15 19:43:49 -05:00
2fb1cf38da CommandMap: allow adding entries with control characters 2017-11-15 19:43:13 -05:00
928817f8e4 move key macros to core header 2017-11-15 19:32:59 -05:00
4b9987b119 Fix '0' being interpreted as a count prefix instead of a command 2017-11-14 20:42:41 -05:00
fc0ea6a2ad Define default command 'G' to go to last line 2017-11-05 09:42:53 -05:00
ac316193fb Begin to use CommandMap to evaluate command-mode inputs 2017-11-05 09:42:20 -05:00
e58d8a4500 Add several more commands 2017-10-31 22:24:57 -04:00
54bbfefcf4 CommandMap: recurse to resolve command sequences properly 2017-10-30 20:21:51 -04:00
dd84d03b90 CommandMap: translate a command character sequence to a Command object 2017-10-24 22:50:29 -04:00
bbc1c8d153 add Command::Unit to describe similar fields between main command and motions 2017-10-24 22:11:57 -04:00
a07e9eb46b start on CommandMap::get_command() 2017-10-24 21:45:35 -04:00
25806993f9 Add DefaultCommandMap module to define the default command map. 2017-10-24 21:23:32 -04:00
4df3f620f1 Redo Command and CommandMap again 2017-10-24 20:59:00 -04:00
7199bb56e3 adjust cursor screen row when moving cursor up/down by screen rows 2017-10-14 12:22:38 -04:00
1d12a7fe7d BufferView: fix more scrolling problems 2017-09-23 16:02:34 -04:00
33377f7668 fix moving cursor screen row down with row-wrapping tab characters 2017-09-23 10:54:30 -04:00
55dc13d729 Fix scrolling BufferView past empty lines 2017-09-20 20:00:19 -04:00
d2fa28c5e1 Fix BufferView repeating last line for the remainder of the view 2017-09-20 19:40:51 -04:00
5c3a095aeb BufferView: test and fix scrolling through super long lines 2017-09-13 20:57:42 -04:00
70aba6e2d4 BufferView: add scroll_view_{up,down}() 2017-09-13 20:08:09 -04:00
84759d0a36 BufferView: add functions to move cursor up/down by screen row 2017-09-11 22:43:38 -04:00
fcd198b691 Add cursor movement logic to BufferView 2017-09-11 21:10:02 -04:00
f3604e1850 BufferView optimization: avoid calling calculate_rows_in_cursor_line() twice per update() 2017-09-03 18:27:19 -04:00
359f5bed9f BufferView updates cursor screen row to follow moved cursor 2017-09-03 18:15:37 -04:00
14e285041e BufferView: user must call update() after all changes and before vert_iter() 2017-09-03 17:34:41 -04:00
5b35a35b24 BufferView stores all lines in view after update() 2017-09-03 17:31:56 -04:00
4b3e1ea7e7 Change BufferView and BufferLineWalker to return iterator objects for iteration instead of using lambdas for callbacks. 2017-09-03 17:05:01 -04:00
b89f348602 add some initial BufferView unit tests 2017-08-29 23:20:42 -04:00
8e0796decf move much of the buffer layout code from BufferPane to BufferView 2017-08-29 23:03:49 -04:00
545e73bd07 use BufferLineWalker from BufferView 2017-08-24 22:03:56 -04:00
67e4419d86 fix CharacterWidthDeterminer to be an abstract class 2017-08-24 21:44:01 -04:00
3d4e8230fe move character iteration logic from BufferView to BufferLineWalker 2017-08-24 20:57:59 -04:00
65df0c2320 more work on BufferView 2017-05-07 19:52:21 -04:00
e243dd654c add BufferView::iter_cols() 2017-05-07 19:33:37 -04:00
12e5a99e17 add CharacterWidthDeterminer 2017-05-07 19:28:57 -04:00
43052321c4 add initial BufferView class 2017-05-07 19:10:00 -04:00
c071c43c5c add CommandMap class 2017-02-04 16:16:48 -05:00