Commit Graph
100 Commits
Author SHA1 Message Date
josh 97e01ab714 Fix Encoding detection of UTF-16. 2020-11-15 22:06:17 -05:00
josh bc21e746fb Start on some Encoding unit tests. 2020-11-15 22:01:55 -05:00
josh 047288ea3d Add some encoding test files. 2020-11-15 21:35:51 -05:00
josh 179690f177 Start on Encoding module. 2020-11-11 22:26:16 -05:00
josh 2db942f47d Replace GapBuffer with TextBuffer. 2020-11-10 19:56:58 -05:00
josh 581b83fe54 call jtk.quit() 2020-08-03 16:55:55 -04:00
josh 3f4a8709b5 pull in DerelictGL3 and load it 2020-08-03 16:53:22 -04:00
josh 56c20c4a36 jtk: indicate which Window had event; convert Event to class 2020-07-16 11:35:29 -04:00
josh a30b4b7ff8 fix Event structure alignment between C and D 2020-07-09 15:06:48 -04:00
josh acb25132e4 add jtk.quit() 2020-07-09 12:05:13 -04:00
josh d3203c7790 fix XInitThreads() error check 2020-07-09 11:04:07 -04:00
josh a0910191da add jtk.event.wait_event() 2020-07-08 14:14:29 -04:00
josh 303d387c20 add event thread and jtk.event.check_event() 2020-07-08 12:52:32 -04:00
josh 0963b80234 jtk.timer: make thread safe 2020-07-08 11:17:12 -04:00
josh 3f326a46f0 compile C sources with -Wall 2020-07-08 11:06:22 -04:00
josh ef036716b7 use a ulong instead of void * for window handle 2020-07-08 11:05:53 -04:00
josh 84b67e99b1 add jtk_wake() 2020-07-08 10:16:38 -04:00
josh 6cf36a852f jtk.c: support multiple threads 2020-07-07 16:25:12 -04:00
josh d3d6fd0fbf add jtk event functionality C backend 2020-06-30 17:16:34 -04:00
josh 7a381b87c5 compile with -Wall 2020-06-23 17:03:07 -04:00
josh 5741266dfb jes.core.gapbuffer: use D-style dynamic array syntax 2020-06-23 17:03:00 -04:00
josh 0678bd79f4 jtk: couple unsigned literals 2020-06-23 17:01:11 -04:00
josh 5119332adb jtk.timer: mark fields private 2020-06-23 16:57:51 -04:00
josh 273d0faa44 jtk.timer: specify functions with package-only access 2020-06-23 16:55:50 -04:00
josh eea524f106 jtk.timer: store times in microseconds, not milliseconds 2020-06-23 16:55:02 -04:00
josh a811a743b8 add jtk.timer module 2020-06-23 13:50:44 -04:00
josh 977b7cbf37 add jtk.time module 2020-06-23 12:34:16 -04:00
josh 09875f5d49 add jtk.Window.swap_buffers() 2020-06-23 12:25:13 -04:00
josh a51d6e2b29 add jtk/package.d 2020-06-23 12:24:28 -04:00
josh 97ab41580a add configure checks for needed libraries 2020-06-15 12:49:01 -04:00
josh 986800332c update rscons to 2.1.0 2020-06-15 12:46:28 -04:00
josh fef6a6f824 allow constructing/closing a jtk.window.Window 2019-12-30 22:35:41 -05:00
josh daf14dc4fc reorganize jtk into src/jtk 2019-12-30 22:21:10 -05:00
josh e4e280da4f add some jtk window functions 2019-12-29 20:41:48 -05:00
josh 4e6c392d44 add jtk.c 2019-12-16 22:23:02 -05:00
josh 18ed74615a update rscons to v2.0.2 2019-12-16 21:51:32 -05:00
josh 6349423329 add gapbuffer 2019-12-06 22:17:37 -05:00
josh f650256986 mv src/jes.d -> src/main.d 2019-12-03 12:38:06 -05:00
josh 3e5165361e fix Rsconscript 2019-12-03 12:32:05 -05:00
josh 846d81b60e Merge branch 'master' into d
switch from waf to rscons
2019-12-02 21:06:44 -05:00
josh ddb905351a switch from waf to rscons 2019-12-02 20:54:06 -05:00
josh 5d6c6b0e0f start on jtk module 2018-07-25 22:05:11 -04:00
josh e7acf05cc4 add src/jes.d 2018-07-25 21:33:41 -04:00
josh 663ed8c465 add Rsconsfile 2018-07-25 21:30:14 -04:00
josh 50cd9efd86 mv src src-c 2018-07-25 20:47:02 -04:00
josh a0b2f660a2 Refactor BufferView move cursor up/down by screen row to remove reference to current cursor row offset 2018-03-31 09:54:32 -04:00
josh 7637c3ae21 Add unit tests for BufferView moving cursor to top/middle/bottom of screen 2018-03-26 11:17:34 -04:00
josh c72308c9c3 For short files that fit entirely in the window, adjust H/M/L jump points to within the file 2018-03-26 11:04:56 -04:00
josh 65be7c3a6f Add Buffer::n_lines() 2018-03-26 10:34:19 -04:00
josh 8fbd7252de Default Buffer::write_to_file statistic output pointers to nullptr 2018-03-26 10:26:58 -04:00
josh 5d4ed598eb Add H, M, L commands to move cursor within screen 2018-03-26 10:25:07 -04:00
josh 785801a315 add INSTALL file 2018-03-24 10:18:43 -04:00
josh 93719bf042 Print number of lines and bytes written to file 2018-03-23 20:40:20 -04:00
josh 68b2c7e0e7 Show status errors in red 2018-03-23 20:19:41 -04:00
josh 14fd4b96f7 Add status message functionality 2018-03-23 20:13:35 -04:00
josh ec6d0eb8b7 Expand "~/" in paths to $HOME/ 2018-03-20 22:07:40 -04:00
josh d93953a929 Set buffer filename if it has none and it is written with an explicit filename 2018-03-20 21:23:11 -04:00
josh 8d158e4ed9 Write file to argument given to 'w' command, if present 2018-03-20 21:19:23 -04:00
josh 909e56d5af Determine new cursor screen row when jumping to line by number 2018-03-20 20:46:24 -04:00
josh 62868e596d Jump to line number for :<n> commands 2018-03-19 23:20:32 -04:00
josh 7aa3c3b17f Add an insert-mode default command map 2018-01-04 15:33:58 -05:00
josh 0d9d160464 add Ctrl+Home and Ctrl+End command-mode mappings 2018-01-03 17:05:16 -05:00
josh 154db8dab3 Add command-mode mappings for arrow keys 2017-11-24 19:29:02 -05:00
josh f5d6014c68 Add a command-mode mapping for ':' instead of handling it specially 2017-11-24 19:16:30 -05:00
josh 56f7fa7127 add 0/$ for sol/eol motions 2017-11-24 13:03:05 -05:00
josh 05f745d3f2 Implement several change commands 2017-11-24 12:55:08 -05:00
josh 0fcc3d3c68 Implement dt*,dT*,df*,dF* 2017-11-24 12:42:22 -05:00
josh f091ee6590 Implement dd command to delete line 2017-11-24 12:33:11 -05:00
josh b0fadeab98 add Buffer::Iterator::clonep() 2017-11-24 12:26:11 -05:00
josh e8267b765b BufferView: Use Buffer::Iterator functions for moving forward/backward in line 2017-11-21 22:09:53 -05:00
josh 3c6b3bc49e Add Buffer::Iterator functions to move forward/backward on/up to characters in a line 2017-11-21 22:02:53 -05:00
josh 32b272b75c Change Buffer::erase_range() to take a Range argument 2017-11-21 19:10:31 -05:00
josh 8a2bc444db Add Buffer::beginp() and Buffer::endp() 2017-11-21 19:07:41 -05:00
josh bdf7ceac4e Add Buffer::Range 2017-11-21 19:01:59 -05:00
josh c3852e950a Add Buffer::erase_range() 2017-11-17 16:58:28 -05:00
josh 438a3e6960 Add default mapping for A command 2017-11-16 16:15:08 -05:00
josh be84d40c29 Fix o/O commands 2017-11-15 21:32:29 -05:00
josh 0617229567 Add default mapping for home/end keys 2017-11-15 21:13:08 -05:00
josh bf6c94ff4e Define default mapping entries for page up/down 2017-11-15 21:11:11 -05:00
josh f53f9dbf16 Define 'r' as default redo command 2017-11-15 21:06:16 -05:00
josh c77be4c482 Implement X command 2017-11-15 21:05:12 -05:00
josh bb5bf6a13a Implement f/F/t/T commands 2017-11-15 21:01:20 -05:00
josh 917491c08b add THIS_LINE motion and MOTION_COUNT 2017-11-15 20:32:34 -05:00
josh 2d559db7d0 BufferView: cursor_move() takes a character argument 2017-11-15 20:32:01 -05:00
josh 739edfd6f7 Add default mapping keys for scrolling window 2017-11-15 20:19:22 -05:00
josh 67cd0c1701 Command: fix WHOLE_SCREEN typo 2017-11-15 19:43:49 -05:00
josh 2fb1cf38da CommandMap: allow adding entries with control characters 2017-11-15 19:43:13 -05:00
josh 928817f8e4 move key macros to core header 2017-11-15 19:32:59 -05:00
josh 7c65dcfaa2 Check for OpenGL libraries in configure step 2017-11-15 19:26:31 -05:00
josh 4b9987b119 Fix '0' being interpreted as a count prefix instead of a command 2017-11-14 20:42:41 -05:00
josh c2b50a3f4f Draw command characters as they are input 2017-11-14 20:40:50 -05:00
josh 2dcf13c8fa Ignore modifier keypresses in command mode 2017-11-05 09:45:16 -05:00
josh fc0ea6a2ad Define default command 'G' to go to last line 2017-11-05 09:42:53 -05:00
josh ac316193fb Begin to use CommandMap to evaluate command-mode inputs 2017-11-05 09:42:20 -05:00
josh e58d8a4500 Add several more commands 2017-10-31 22:24:57 -04:00
josh 7dbd9402c1 Add Jtk_SetWindowIcon() 2017-10-31 21:10:29 -04:00
josh 6ec8e23b7d remove old SDL code 2017-10-31 20:42:07 -04:00
josh 911eda3e37 Catch window close event 2017-10-31 20:40:46 -04:00
josh 54bbfefcf4 CommandMap: recurse to resolve command sequences properly 2017-10-30 20:21:51 -04:00
josh dd84d03b90 CommandMap: translate a command character sequence to a Command object 2017-10-24 22:50:29 -04:00