This website requires JavaScript.
8d158e4ed9
Write file to argument given to 'w' command, if present
Josh Holtrop
2018-03-20 21:19:23 -04:00
909e56d5af
Determine new cursor screen row when jumping to line by number
Josh Holtrop
2018-03-20 20:46:24 -04:00
62868e596d
Jump to line number for :<n> commands
Josh Holtrop
2018-03-19 23:20:32 -04:00
7aa3c3b17f
Add an insert-mode default command map
Josh Holtrop
2018-01-04 15:33:58 -05:00
0d9d160464
add Ctrl+Home and Ctrl+End command-mode mappings
Josh Holtrop
2018-01-03 17:05:16 -05:00
154db8dab3
Add command-mode mappings for arrow keys
Josh Holtrop
2017-11-24 19:29:02 -05:00
f5d6014c68
Add a command-mode mapping for ':' instead of handling it specially
Josh Holtrop
2017-11-24 19:16:30 -05:00
56f7fa7127
add 0/$ for sol/eol motions
Josh Holtrop
2017-11-24 13:03:05 -05:00
05f745d3f2
Implement several change commands
Josh Holtrop
2017-11-24 12:55:08 -05:00
0fcc3d3c68
Implement dt*,dT*,df*,dF*
Josh Holtrop
2017-11-24 12:42:22 -05:00
f091ee6590
Implement dd command to delete line
Josh Holtrop
2017-11-24 12:33:11 -05:00
b0fadeab98
add Buffer::Iterator::clonep()
Josh Holtrop
2017-11-24 12:26:11 -05:00
e8267b765b
BufferView: Use Buffer::Iterator functions for moving forward/backward in line
Josh Holtrop
2017-11-21 22:09:53 -05:00
3c6b3bc49e
Add Buffer::Iterator functions to move forward/backward on/up to characters in a line
Josh Holtrop
2017-11-21 22:02:53 -05:00
32b272b75c
Change Buffer::erase_range() to take a Range argument
Josh Holtrop
2017-11-21 19:10:31 -05:00
8a2bc444db
Add Buffer::beginp() and Buffer::endp()
Josh Holtrop
2017-11-21 19:07:41 -05:00
bdf7ceac4e
Add Buffer::Range
Josh Holtrop
2017-11-21 18:36:11 -05:00
c3852e950a
Add Buffer::erase_range()
Josh Holtrop
2017-11-17 16:58:00 -05:00
438a3e6960
Add default mapping for A command
Josh Holtrop
2017-11-16 16:14:50 -05:00
be84d40c29
Fix o/O commands
Josh Holtrop
2017-11-15 21:32:29 -05:00
0617229567
Add default mapping for home/end keys
Josh Holtrop
2017-11-15 21:13:08 -05:00
bf6c94ff4e
Define default mapping entries for page up/down
Josh Holtrop
2017-11-15 21:11:11 -05:00
f53f9dbf16
Define 'r' as default redo command
Josh Holtrop
2017-11-15 21:06:16 -05:00
c77be4c482
Implement X command
Josh Holtrop
2017-11-15 21:05:12 -05:00
bb5bf6a13a
Implement f/F/t/T commands
Josh Holtrop
2017-11-15 21:01:20 -05:00
917491c08b
add THIS_LINE motion and MOTION_COUNT
Josh Holtrop
2017-11-15 20:32:34 -05:00
2d559db7d0
BufferView: cursor_move() takes a character argument
Josh Holtrop
2017-11-15 20:32:01 -05:00
739edfd6f7
Add default mapping keys for scrolling window
Josh Holtrop
2017-11-15 20:19:22 -05:00
67cd0c1701
Command: fix WHOLE_SCREEN typo
Josh Holtrop
2017-11-15 19:43:49 -05:00
2fb1cf38da
CommandMap: allow adding entries with control characters
Josh Holtrop
2017-11-15 19:43:13 -05:00
928817f8e4
move key macros to core header
Josh Holtrop
2017-11-15 19:32:59 -05:00
7c65dcfaa2
Check for OpenGL libraries in configure step
Josh Holtrop
2017-11-15 19:26:31 -05:00
4b9987b119
Fix '0' being interpreted as a count prefix instead of a command
Josh Holtrop
2017-11-14 20:42:41 -05:00
c2b50a3f4f
Draw command characters as they are input
Josh Holtrop
2017-11-14 20:40:50 -05:00
2dcf13c8fa
Ignore modifier keypresses in command mode
Josh Holtrop
2017-11-05 09:45:16 -05:00
fc0ea6a2ad
Define default command 'G' to go to last line
Josh Holtrop
2017-11-05 09:42:53 -05:00
ac316193fb
Begin to use CommandMap to evaluate command-mode inputs
Josh Holtrop
2017-11-05 09:42:20 -05:00
e58d8a4500
Add several more commands
Josh Holtrop
2017-10-31 22:24:57 -04:00
7dbd9402c1
Add Jtk_SetWindowIcon()
Josh Holtrop
2017-10-31 21:10:29 -04:00
6ec8e23b7d
remove old SDL code
Josh Holtrop
2017-10-31 20:42:07 -04:00
911eda3e37
Catch window close event
Josh Holtrop
2017-10-31 20:40:46 -04:00
54bbfefcf4
CommandMap: recurse to resolve command sequences properly
Josh Holtrop
2017-10-30 20:21:51 -04:00
dd84d03b90
CommandMap: translate a command character sequence to a Command object
Josh Holtrop
2017-10-24 22:50:29 -04:00
bbc1c8d153
add Command::Unit to describe similar fields between main command and motions
Josh Holtrop
2017-10-24 22:11:57 -04:00
a07e9eb46b
start on CommandMap::get_command()
Josh Holtrop
2017-10-24 21:45:35 -04:00
25806993f9
Add DefaultCommandMap module to define the default command map.
Josh Holtrop
2017-10-24 21:23:32 -04:00
4df3f620f1
Redo Command and CommandMap again
Josh Holtrop
2017-10-24 20:59:00 -04:00
a509c4bded
Merge branch 'remove-sdl'
Josh Holtrop
2017-10-18 12:26:08 -04:00
5239f128cc
pass keyboard modifier key states in button press event
Josh Holtrop
2017-10-14 12:38:39 -04:00
7648bee12e
draw control characters in different color font
Josh Holtrop
2017-10-14 12:30:28 -04:00
7199bb56e3
adjust cursor screen row when moving cursor up/down by screen rows
Josh Holtrop
2017-10-14 12:22:38 -04:00
314c840105
add Jtk_SetWindowTitle()
Josh Holtrop
2017-10-14 12:16:16 -04:00
2d944e4a87
handle X Expose, GraphicsExpose, and MapNotify events
Josh Holtrop
2017-10-14 11:59:48 -04:00
c2323f4397
Do not queue up mouse wheel scroll events while others are still processing
Josh Holtrop
2017-10-14 11:52:27 -04:00
5e40c33eda
handle X button press events
Josh Holtrop
2017-10-14 11:48:25 -04:00
b100262a15
process multiple queued events up to a maximum time before redrawing screen
Josh Holtrop
2017-10-14 11:42:03 -04:00
49c34907f5
add Jtk_CheckEvent()
Josh Holtrop
2017-10-14 11:36:07 -04:00
3a594b5355
Avoid backlogging duplicate keypress events.
Josh Holtrop
2017-10-14 11:31:29 -04:00
34dc956272
Use modifier state from X keypress event, not current state at time of event process
Josh Holtrop
2017-10-12 21:11:27 -04:00
5999d62660
handle window resizes
Josh Holtrop
2017-10-12 21:05:39 -04:00
de31e97556
turn off custom key repeats and just use X key repeats
Josh Holtrop
2017-10-12 20:44:16 -04:00
6eeb0d5b9a
Process X events before timers
Josh Holtrop
2017-10-12 19:59:46 -04:00
07cdc5f8d0
Query for X modifier state when needed
Josh Holtrop
2017-10-05 20:16:46 -04:00
4e3050dbec
Handle key repeats in Jtk itself
Josh Holtrop
2017-10-05 20:10:59 -04:00
6ff2faf4af
Add key repeating back in with Jtk
Josh Holtrop
2017-10-01 17:46:30 -04:00
486253d0b6
Jtk: encode key modifiers in key value field for keyboard events
Josh Holtrop
2017-10-01 17:00:06 -04:00
15fcaa80fa
Do not let X translate control key combinations to key codes for us.
Josh Holtrop
2017-10-01 13:56:01 -04:00
6546508cc6
Begin replacing SDL keyboard handling with Jtk
Josh Holtrop
2017-10-01 13:48:03 -04:00
afd4b83814
service timers so they do not infinitely re-trigger
Josh Holtrop
2017-10-01 08:03:44 -04:00
b9d650d9ef
fix Jtk_RemoveTimer()
Josh Holtrop
2017-10-01 08:02:26 -04:00
f424fd573d
Filter out repeated key presses
Josh Holtrop
2017-09-30 22:46:46 -04:00
035f5805ad
Define many more keys
Josh Holtrop
2017-09-30 22:09:25 -04:00
30a38a1487
Begin handling X keyboard events
Josh Holtrop
2017-09-30 21:23:22 -04:00
52b3c9faa9
if an X event is not sent to the user, make sure to check for more X events ready to process
Josh Holtrop
2017-09-30 20:21:49 -04:00
095d8d440e
Begin processing X events
Josh Holtrop
2017-09-30 20:17:22 -04:00
2348d7ede1
Split up Jtk sources and headers by functional area
Josh Holtrop
2017-09-30 18:24:50 -04:00
8154aa84cc
begin defining GUI events
Josh Holtrop
2017-09-28 20:19:04 -04:00
ff89fc7ca7
Begin removing SDL
Josh Holtrop
2017-09-27 20:33:18 -04:00
1c673817d2
BufferPane: add ability to draw line number gutter
Josh Holtrop
2017-09-26 20:47:48 -04:00
6d310f0f14
BufferPane: remove some cursor-tracking fields that are now tracked by BufferView
Josh Holtrop
2017-09-23 16:12:52 -04:00
8f0b3e4114
add temporary key bindings to move up/down by screen row
Josh Holtrop
2017-09-23 16:08:46 -04:00
a93578288e
fix cursor column handling
Josh Holtrop
2017-09-23 16:08:34 -04:00
1d12a7fe7d
BufferView: fix more scrolling problems
Josh Holtrop
2017-09-23 16:02:34 -04:00
33377f7668
fix moving cursor screen row down with row-wrapping tab characters
Josh Holtrop
2017-09-23 10:54:30 -04:00
79aa91bf49
draw crosshair below cursor for wrapped cursor lines
Josh Holtrop
2017-09-23 10:34:00 -04:00
55dc13d729
Fix scrolling BufferView past empty lines
Josh Holtrop
2017-09-20 20:00:19 -04:00
d2fa28c5e1
Fix BufferView repeating last line for the remainder of the view
Josh Holtrop
2017-09-20 19:40:51 -04:00
22171cacf9
begin using BufferView class to control the BufferPane layout
Josh Holtrop
2017-09-20 19:34:57 -04:00
382552d25c
use a simple rectangle for insert-mode cursor
Josh Holtrop
2017-09-19 20:45:56 -04:00
5c3a095aeb
BufferView: test and fix scrolling through super long lines
Josh Holtrop
2017-09-13 20:57:42 -04:00
70aba6e2d4
BufferView: add scroll_view_{up,down}()
Josh Holtrop
2017-09-13 20:08:09 -04:00
84759d0a36
BufferView: add functions to move cursor up/down by screen row
Josh Holtrop
2017-09-11 22:43:38 -04:00
fcd198b691
Add cursor movement logic to BufferView
Josh Holtrop
2017-09-11 21:10:02 -04:00
7ad28ceb67
update BufferLineWalker unit tests for full coverage
Josh Holtrop
2017-09-04 15:57:03 -04:00
74dfb7ce78
more BufferView tests, 100% coverage
Josh Holtrop
2017-09-04 15:45:10 -04:00
f3604e1850
BufferView optimization: avoid calling calculate_rows_in_cursor_line() twice per update()
Josh Holtrop
2017-09-03 18:27:19 -04:00
359f5bed9f
BufferView updates cursor screen row to follow moved cursor
Josh Holtrop
2017-09-03 17:47:39 -04:00
14e285041e
BufferView: user must call update() after all changes and before vert_iter()
Josh Holtrop
2017-09-03 17:34:41 -04:00
5b35a35b24
BufferView stores all lines in view after update()
Josh Holtrop
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.
Josh Holtrop
2017-09-03 17:05:01 -04:00