Commit Graph

  • 90d250a3ba Rebase Mitchell Hashimoto 2022-09-05 11:41:40 -07:00
  • 480d262bc1 Calculate grid_width properly, use that instead of wide mask in shader Mitchell Hashimoto 2022-08-30 10:06:26 -07:00
  • 3231b84927 Ligatures Mitchell Hashimoto 2022-08-29 21:51:33 -07:00
  • d839257c04 Merge pull request #11 from mitchellh/graphemes Mitchell Hashimoto 2022-09-05 11:36:38 -07:00
  • 9e8d00f140 attach zero-width joiners to cells Mitchell Hashimoto 2022-09-05 11:32:14 -07:00
  • 8ef31aaaf9 Disable Mitchell Hashimoto 2022-09-05 11:22:29 -07:00
  • 802f230fa2 handle graphemes with more than 1 joiner Mitchell Hashimoto 2022-09-05 10:35:22 -07:00
  • 47242ad12a test writing graphemes Mitchell Hashimoto 2022-09-05 10:29:52 -07:00
  • 7ceff79ea9 various methods on Row are grapheme-aware and tested Mitchell Hashimoto 2022-09-05 09:47:35 -07:00
  • b3ec7028fb detect and attach grapheme to grapheme data Mitchell Hashimoto 2022-09-04 21:57:07 -07:00
  • a605ff07e1 setup flags, storage for graphemes Mitchell Hashimoto 2022-09-04 11:17:41 -07:00
  • eb0913d1b4 update TODO Mitchell Hashimoto 2022-09-04 09:47:49 -07:00
  • e6564dfd11 fix some resize crashes Mitchell Hashimoto 2022-09-04 09:43:20 -07:00
  • f417659368 on resize, if rows increasing, handle that first Mitchell Hashimoto 2022-09-03 22:33:20 -07:00
  • ac9f9b29d6 bump render to 144hz, slowest 120hz Mitchell Hashimoto 2022-09-03 22:17:25 -07:00
  • 1d5edb25b5 New Screen Storage Mitchell Hashimoto 2022-09-03 21:50:24 -07:00
  • f3f60e47d1 clearHistory Mitchell Hashimoto 2022-09-03 21:40:03 -07:00
  • 6373900dfa comment on screen struct Mitchell Hashimoto 2022-09-03 21:35:43 -07:00
  • c0e36bedd6 remove dirty for now Mitchell Hashimoto 2022-09-03 21:26:49 -07:00
  • 3d0ec16ad4 resize with shrinking cols Mitchell Hashimoto 2022-09-03 21:25:06 -07:00
  • 7134ddec4e resize less rows Mitchell Hashimoto 2022-09-03 17:59:24 -07:00
  • 1121438d8a maybe clean up resize more cols Mitchell Hashimoto 2022-09-03 17:50:04 -07:00
  • d6e243cde1 resize with reflow more cols Mitchell Hashimoto 2022-09-03 17:28:26 -07:00
  • 2583b8cb65 fix y pos on resize Mitchell Hashimoto 2022-09-03 12:25:26 -07:00
  • 41f2b756ae fix scrolling and new row calculation Mitchell Hashimoto 2022-09-03 12:18:45 -07:00
  • d22a323896 clean up some assertions Mitchell Hashimoto 2022-09-01 23:25:21 -07:00
  • 81b805b8c2 use an arena allocator for tty allocs Mitchell Hashimoto 2022-09-01 22:48:33 -07:00
  • 8d6e8eb0aa asserts not being optimized away, use comptime gate Mitchell Hashimoto 2022-09-01 22:21:54 -07:00
  • 57725cf3a4 cache row iterator max value Mitchell Hashimoto 2022-09-01 22:05:42 -07:00
  • 5aa6d79519 screen: cache history offset Mitchell Hashimoto 2022-09-01 21:36:59 -07:00
  • 73581eee0b small optimizations Mitchell Hashimoto 2022-09-01 18:36:27 -07:00
  • 30a14d230e process ASCII events manually to avoid function call overhead Mitchell Hashimoto 2022-09-01 17:53:40 -07:00
  • d404be2993 grow our scrollback much faster Mitchell Hashimoto 2022-09-01 01:15:20 -07:00
  • dba027d307 resize should maintain minimum of screen rows Mitchell Hashimoto 2022-09-01 01:09:06 -07:00
  • 77c8ec0a20 the big screen switchover Mitchell Hashimoto 2022-09-01 00:58:47 -07:00
  • 2f2b12a32f resize without reflow preserves cursor better Mitchell Hashimoto 2022-08-31 21:51:01 -07:00
  • 89e931e468 our new resize without reflow supports scrollback so test that Mitchell Hashimoto 2022-08-31 21:29:28 -07:00
  • 4056f2abf9 new screen supports resize without reflow Mitchell Hashimoto 2022-08-31 20:48:48 -07:00
  • 621b067e83 update overlay but we still can't use master Mitchell Hashimoto 2022-08-31 19:58:44 -07:00
  • cf969b27eb screen2: dynamically allow scrollback when its needed Mitchell Hashimoto 2022-08-31 19:54:10 -07:00
  • a192249c77 circbuf rotateToZero does nothing if its already at zero Mitchell Hashimoto 2022-08-31 19:33:28 -07:00
  • 50612002a8 circbuf resize operation Mitchell Hashimoto 2022-08-31 17:17:43 -07:00
  • b7b83db119 fix some circbuf bugs (add tests) and add rotation Mitchell Hashimoto 2022-08-31 17:08:02 -07:00
  • cb06bf4873 use non-extern unions so we get safety checks Mitchell Hashimoto 2022-08-31 16:01:16 -07:00
  • 10ec5f509e circbuf doesn't use zeroes, it takes a default value Mitchell Hashimoto 2022-08-31 15:27:45 -07:00
  • e8009f89cf add cursor to new screen Mitchell Hashimoto 2022-08-31 15:13:30 -07:00
  • c7b7e3cb44 screen2: selection Mitchell Hashimoto 2022-08-31 14:58:43 -07:00
  • f6f8fee804 screen2: scrolling (to a certain extent), copying in tests Mitchell Hashimoto 2022-08-31 11:44:39 -07:00
  • 001ec979a2 big API surface for screen2, can test write/read now Mitchell Hashimoto 2022-08-30 17:33:25 -07:00
  • 19b46b6084 starting the new screen implementation Mitchell Hashimoto 2022-08-30 16:39:49 -07:00
  • f2af0983cf dedicated circular buffer Mitchell Hashimoto 2022-08-30 16:35:44 -07:00
  • 953f1aeb29 pkg/harfbuzz: fixing some APIs Mitchell Hashimoto 2022-08-30 10:02:40 -07:00
  • 36140d3ee9 TODO Mitchell Hashimoto 2022-08-29 20:26:02 -07:00
  • 39376feae0 font: shape API, calls shape and outputs some debug Mitchell Hashimoto 2022-08-29 20:15:29 -07:00
  • 5a232e0c3e utf8proc: add grapheme break API Mitchell Hashimoto 2022-08-29 20:13:13 -07:00
  • dafc99746d font: Face initializes a hb_font alongside every face Mitchell Hashimoto 2022-08-29 16:46:53 -07:00
  • 0505018186 Line segmentation into text runs Mitchell Hashimoto 2022-08-29 16:39:48 -07:00
  • f73783a521 pkg/harfbuzz: add guessSegmentProperties Mitchell Hashimoto 2022-08-29 14:52:16 -07:00
  • 2cab94e64d move cell metrics calculation out into src/font Mitchell Hashimoto 2022-08-29 11:44:05 -07:00
  • bd9c048c02 use new font.GroupCache, remove unused font structs Mitchell Hashimoto 2022-08-29 11:34:21 -07:00
  • a0aa100815 font: GroupCache is like Group, but with caching... Mitchell Hashimoto 2022-08-29 11:10:50 -07:00
  • a75035c042 font: introduce Group which will eventually replace FallbackSet Mitchell Hashimoto 2022-08-29 10:16:53 -07:00
  • 985b329c8a src/font: change Face to require font to init Mitchell Hashimoto 2022-08-29 08:48:40 -07:00
  • f1abca51f7 convert src/font to use new pkg/freetype Mitchell Hashimoto 2022-08-28 22:22:16 -07:00
  • 28e9619361 allow non-printables even if modifiers are pressed Mitchell Hashimoto 2022-08-28 21:12:58 -07:00
  • 672f6e720c pkg/freetype: finish APIs we need Mitchell Hashimoto 2022-08-28 21:06:36 -07:00
  • 8ef3018189 pkg/freetype: loading glyphs Mitchell Hashimoto 2022-08-28 21:02:39 -07:00
  • a2b06d7705 pkg/freetype: more face APIs Mitchell Hashimoto 2022-08-28 17:18:23 -07:00
  • 7af9091497 pkg/freetype: Library and Face Mitchell Hashimoto 2022-08-28 17:07:27 -07:00
  • 483bb90cf9 shader: only downsample glyph if its bigger than width plus padding Mitchell Hashimoto 2022-08-28 16:57:30 -07:00
  • d8a06e7768 clean up some imports Mitchell Hashimoto 2022-08-28 14:50:22 -07:00
  • f42bac6bc4 pkg/harfbuzz: use extern funcs for freetype interop Mitchell Hashimoto 2022-08-28 14:47:47 -07:00
  • c377e19bd0 pkg/harfbuzz: shape Mitchell Hashimoto 2022-08-28 12:11:26 -07:00
  • 1f2d2e926c pkg/harfbuzz: buffer get glyph positions and info Mitchell Hashimoto 2022-08-28 12:05:00 -07:00
  • 0b4344693a pkg/harfbuzz: buffer set direction, script, and language Mitchell Hashimoto 2022-08-28 11:54:38 -07:00
  • 3c077ee19b pkg/harfbuzz: buffer init, add Mitchell Hashimoto 2022-08-28 11:42:57 -07:00
  • 5d42e2711f pkg/harfbuzz: face, font, freetype Mitchell Hashimoto 2022-08-28 11:21:35 -07:00
  • 3d68c72912 pkg/harfbuzz: some blob APIs Mitchell Hashimoto 2022-08-28 10:54:42 -07:00
  • 44dfe54fe8 output harfbuzz version on startup Mitchell Hashimoto 2022-08-28 10:26:49 -07:00
  • 755760a79e pkg/harfbuzz: some functions and tests Mitchell Hashimoto 2022-08-28 10:24:07 -07:00
  • 367aba62c4 Add harfbuzz build (not used yet) Mitchell Hashimoto 2022-08-28 10:09:39 -07:00
  • 8ff98446a9 sgr parsing bright colors now sets color properly Mitchell Hashimoto 2022-08-27 10:55:10 -07:00
  • 1609c8e775 hook up scroll down and up CSI codes (SD/SU) Mitchell Hashimoto 2022-08-27 10:46:11 -07:00
  • cd74902f89 Charsets Mitchell Hashimoto 2022-08-27 10:33:38 -07:00
  • 1be4626726 update TODO Mitchell Hashimoto 2022-08-27 10:29:52 -07:00
  • 312d589a2e implement locking shift Mitchell Hashimoto 2022-08-27 10:20:54 -07:00
  • 4a247e3bb8 single shift 2/3 Mitchell Hashimoto 2022-08-27 10:16:21 -07:00
  • bee82d58dc Shift Out/Shift In (invoke charset into GL) Mitchell Hashimoto 2022-08-27 10:08:01 -07:00
  • 7626f194e9 basic charset mapping, support configuration, print tests Mitchell Hashimoto 2022-08-27 09:42:05 -07:00
  • 75b63f3df3 british charset Mitchell Hashimoto 2022-08-27 08:41:06 -07:00
  • 40ca2a69fb starting charset tables Mitchell Hashimoto 2022-08-26 20:00:25 -07:00
  • 1f4572b3d2 update TODO Mitchell Hashimoto 2022-08-26 15:20:21 -07:00
  • 50409271a3 Mouse Reporting #8 Mitchell Hashimoto 2022-08-26 15:10:14 -07:00
  • ff460887b5 fix miscompilation around sgr mode Mitchell Hashimoto 2022-08-26 15:07:22 -07:00
  • fe6ba02709 sgr pixels mouse report format Mitchell Hashimoto 2022-08-26 14:59:44 -07:00
  • 1039ad76bf urxvt reporting format Mitchell Hashimoto 2022-08-26 14:57:35 -07:00
  • f551c0ef66 SGR reporting Mitchell Hashimoto 2022-08-26 14:55:18 -07:00
  • b46fe522d5 UTF-8 mouse reporting Mitchell Hashimoto 2022-08-26 14:42:20 -07:00
  • ab305add6c any event mouse tracking Mitchell Hashimoto 2022-08-26 14:26:42 -07:00
  • bd5dd69538 normal event (motion) mouse tracking Mitchell Hashimoto 2022-08-26 14:17:42 -07:00