58 Commits

Author SHA1 Message Date
fbc942c4f7 add "q" command to quit 2017-01-27 21:00:52 -05:00
ee0d1e0d0e remove BufferPane::write_file() and handle writing from Window class 2017-01-27 20:58:15 -05:00
37d27d6063 get ready to handle commands entered 2017-01-27 20:44:24 -05:00
3cd988bc3a expand command buffer to multiple lines as command length grows 2017-01-19 21:06:20 -05:00
dc64b9774f add a window icon 2017-01-19 20:38:38 -05:00
12c034fb8f Add ':' command to focus command buffer pane 2017-01-18 21:46:34 -05:00
9d150524fb keep track of the focused buffer pane 2017-01-18 21:22:39 -05:00
212215bf4d Add command buffer pane 2017-01-17 23:50:24 -05:00
647b3b85f4 Add CTRL+u,d,f,b,e,y keys to scroll window by different amounts like vim 2017-01-02 11:49:18 -05:00
92d9597f2e BufferPane: add functions to move cursor up/down by screen row 2017-01-01 23:00:44 -05:00
90aa5ada70 move KEYMOD_ enums to a Keymod namespacing class 2016-12-29 18:51:00 -05:00
0295c593ab move all key handling out of BufferPane and back to Window 2016-12-29 18:44:56 -05:00
325aa5d93c remove BufferStatusPane forward declaration 2016-12-29 18:16:32 -05:00
301fbf09f1 absorb BufferStatusPane logic into BufferPane 2016-12-27 20:54:05 -05:00
e6501ec4fc use CTRL+w to write the file out for now 2016-12-27 20:41:44 -05:00
ee37616f82 Give BufferPane a reference to a Window 2016-12-13 21:48:04 -05:00
659a64b367 add Window::request_redraw() 2016-12-11 20:39:02 -05:00
1232539495 Move buffer-related keypress handling from Window to BufferPane 2016-12-11 20:29:15 -05:00
bd1d5adfab add enum type 2016-12-11 20:18:10 -05:00
8631a94a2b Add BufferStatusPane
move status bar drawing logic from Window to BufferStatusPane
2016-11-27 13:56:58 -05:00
8bffc05f09 add a BufferPane class to hold logic for rendering a buffer 2016-11-27 13:17:20 -05:00
3f573cac40 move GL logic to new GL module 2016-11-25 09:53:54 -05:00
1e2aae4136 start on gap buffer drawing 2016-11-09 23:08:33 -05:00
afd584566c avoid empty screen rows if there is buffer content to fill them 2016-11-09 22:43:04 -05:00
74b9421f30 Window: add a cursor 2016-11-09 21:40:11 -05:00
fbca1f995a remove PieceTable 2016-11-01 21:44:01 -04:00
65dea7f84f draw cursor skinner in insert mode 2016-10-29 15:11:42 -04:00
827f4efdd9 handle keys based on code point with modifier flags 2016-10-29 01:51:16 -04:00
fa752fefde begin reworking keyboard handling 2016-10-29 01:40:27 -04:00
7ba7abc029 keep track of current keymod 2016-10-29 00:43:25 -04:00
0a1bb6eb92 remove unused Window::m_start_piece 2016-09-26 20:24:16 -04:00
c2c0d6f042 add a piece table insertion test 2016-09-25 23:01:59 -04:00
7e518cd27a rename draw_text() to draw_buffer() 2016-09-13 22:55:48 -04:00
b9d7e1f93e Show cursor position in status bar 2016-09-13 22:51:51 -04:00
f9fd1dc754 Add a status bar (empty for now) 2016-09-13 22:26:56 -04:00
c852e9991b add a rectangle shader 2016-09-13 22:19:47 -04:00
6d8c8e76a9 add colrow_to_xy() and refactor to use it 2016-09-13 21:46:31 -04:00
980ec3a295 draw cursor crosshairs 2016-09-13 21:25:10 -04:00
cde71ac70a keep a target cursor column to move to when moving cursor up or down 2016-09-12 21:38:13 -04:00
f876b68bd0 Add cursor movements to move to SOL and EOL. 2016-09-07 22:31:24 -04:00
7df23e971e Unlock cursor from first screen row 2016-09-06 22:58:33 -04:00
7784024af1 remove Window::scroll_{up,down}() 2016-09-06 21:42:38 -04:00
86246385d4 Draw text based on new cursor movement system
The cursor row still locked to the first row for now
2016-09-06 21:05:24 -04:00
01bf455e68 Use an OpenGL array object to draw the cursor 2016-08-27 21:38:48 -04:00
11cac3c8b5 add a PieceTable::Cursor to Window 2016-08-01 22:02:42 -04:00
5a942a61a9 add FlatShader; draw a cursor 2016-07-31 23:08:26 -04:00
7064afc1f1 rename PieceDescriptor to just Piece 2016-07-30 09:52:46 -04:00
cef49e9e6e rename OpenGL "programs" to "shaders" 2016-07-29 21:27:32 -04:00
d043137099 Window: calculate m_rows 2016-07-29 21:12:54 -04:00
862b414c1d Window: rename m_chars_per_line -> m_columns 2016-07-29 21:06:28 -04:00