Esteban Küber
f1c751bc1a
Refactor emitter to better account for unicode chars when trimming
...
Change the way that underline positions are calculated by delaying using
the "visual" column position until the last possible moment, instead
using the "file"/byte position in the file, and then calculating visual
positioning as late as possible. This should make the underlines more
resilient to non-1-width unicode chars.
Unfortunately, as part of this change (which fixes some visual bugs)
comes with the loss of some eager tab codepoint handling, but the output
remains legible despite some minor regression on the "margin trimming"
logic.
2025-03-07 17:55:08 +00:00
..
2024-11-27 07:18:25 -08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-12-01 19:10:44 -03:00
2025-01-21 17:39:15 +01:00
2025-03-03 23:53:42 +00:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-11 09:36:35 -07:00
2025-01-01 15:58:29 +01:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-07-12 03:02:57 +00:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2025-02-21 15:49:44 +11:00
2024-09-23 09:14:30 +10:00
2024-02-16 20:02:50 +00:00
2023-07-25 11:12:52 +01:00
2025-01-24 01:19:50 +00:00
2025-01-24 01:19:50 +00:00
2024-07-12 18:52:52 +00:00
2024-02-16 20:02:50 +00:00
2024-10-04 09:09:20 +02:00
2024-10-04 09:09:20 +02:00
2024-02-16 20:02:50 +00:00
2024-05-20 19:55:59 -07:00
2024-05-20 19:55:59 -07:00
2023-04-10 21:16:53 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-01-15 12:48:53 +13:00
2024-02-16 20:02:50 +00:00
2025-02-04 17:02:37 +05:30
2024-02-16 20:02:50 +00:00
2024-02-29 19:06:31 +08:00
2024-11-22 16:49:10 +00:00
2024-02-29 19:06:31 +08:00
2024-11-22 16:49:10 +00:00
2024-03-18 16:25:36 +00:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-03-13 16:11:16 +08:00
2024-03-13 16:11:16 +08:00
2024-03-13 16:11:16 +08:00
2025-02-10 20:21:39 +00:00
2024-10-01 07:51:58 +00:00
2024-10-01 07:51:58 +00:00
2025-02-14 00:44:10 -08:00
2024-11-22 11:12:15 -08:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2024-11-22 11:12:15 -08:00
2024-10-01 07:51:58 +00:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2024-11-22 11:12:15 -08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-07-10 20:09:26 +00:00
2024-02-16 20:02:50 +00:00
2024-10-14 10:07:57 +08:00
2024-10-14 10:07:57 +08:00
2024-10-14 10:07:57 +08:00
2025-02-10 20:21:39 +00:00
2024-05-11 00:13:27 +08:00
2024-05-11 00:13:27 +08:00
2024-12-15 19:18:46 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-17 14:15:22 +02:00
2024-10-01 07:51:58 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-03-03 16:30:48 -03:00
2024-03-03 16:30:48 -03:00
2024-02-16 20:02:50 +00:00
2024-11-26 02:50:48 +08:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-10-01 07:51:58 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-04-20 15:06:17 -03:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-10-28 14:12:45 +11:00
2024-10-28 14:12:45 +11:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-07-24 13:16:46 -04:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-09 15:43:08 -03:00
2024-02-09 15:43:08 -03:00
2024-10-14 23:22:51 +02:00
2024-02-16 20:02:50 +00:00
2024-10-28 14:12:45 +11:00
2024-10-28 14:12:45 +11:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-06-03 07:25:32 +02:00
2024-06-03 07:25:32 +02:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-01-15 08:58:17 +00:00
2025-01-15 08:58:17 +00:00
2025-01-02 23:39:17 +00:00
2025-01-02 23:39:17 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-06-22 16:50:31 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-02-10 20:21:39 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-11-27 07:18:25 -08:00
2023-11-24 19:15:52 +01:00
2023-02-28 07:55:19 +00:00
2023-11-24 19:15:52 +01:00
2025-02-10 20:21:39 +00:00
2023-11-24 19:15:52 +01:00
2023-01-15 12:48:53 +13:00
2023-01-15 12:48:53 +13:00
2023-03-17 14:36:22 +08:00
2025-02-10 20:21:39 +00:00
2023-05-19 21:21:05 +08:00
2023-05-19 21:21:05 +08:00
2023-06-07 10:20:36 +08:00
2023-06-07 10:20:36 +08:00
2024-02-16 20:02:50 +00:00
2023-06-07 10:20:36 +08:00
2023-12-04 10:43:10 +08:00
2024-04-27 10:54:31 +03:00
2024-10-28 14:12:45 +11:00
2025-02-10 20:21:39 +00:00
2024-02-16 20:02:50 +00:00
2023-01-21 14:38:25 -06:00
2024-11-26 02:50:48 +08:00
2025-01-24 01:19:50 +00:00
2023-11-24 19:15:52 +01:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2024-02-16 20:02:50 +00:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-04-07 01:16:45 +02:00
2025-02-14 00:44:10 -08:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-05-04 11:30:38 +02:00
2024-10-28 14:12:45 +11:00
2024-10-28 14:12:45 +11:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-04-07 01:16:45 +02:00
2024-04-07 01:16:45 +02:00
2024-05-11 00:13:27 +08:00
2024-05-11 00:13:27 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-10-28 14:12:45 +11:00
2024-10-28 14:12:45 +11:00
2024-10-28 14:12:45 +11:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-01-24 01:19:50 +00:00
2025-02-10 20:21:39 +00:00
2025-02-21 15:49:46 +11:00
2025-02-21 15:49:46 +11:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-08-16 21:27:06 +08:00
2024-02-16 20:02:50 +00:00
2024-05-04 11:30:38 +02:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-07-24 13:16:46 -04:00
2024-11-28 14:32:45 -08:00
2024-11-28 14:32:45 -08:00
2024-11-28 14:32:45 -08:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-04-07 01:16:45 +02:00
2024-07-12 18:52:52 +00:00
2025-03-03 23:53:42 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-04-07 04:22:43 +01:00
2023-04-07 04:22:43 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-11-27 07:18:25 -08:00
2024-02-16 20:02:50 +00:00
2024-11-12 14:05:42 +00:00
2024-11-22 16:49:10 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-05-15 10:28:44 +08:00
2025-01-23 06:01:36 +00:00
2024-02-16 20:02:50 +00:00
2024-11-03 13:55:52 -08:00
2024-11-03 13:55:52 -08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2025-02-10 20:21:39 +00:00
2024-05-04 11:30:38 +02:00
2024-04-07 01:16:45 +02:00
2024-03-06 12:35:07 -08:00
2024-03-11 09:36:35 -07:00
2025-02-04 17:02:37 +05:30
2025-02-04 17:02:37 +05:30
2024-12-27 19:58:16 +11:00
2024-12-21 19:14:58 +00:00
2023-11-24 19:15:52 +01:00
2025-01-24 01:19:50 +00:00
2024-05-10 12:29:17 -07:00
2024-05-10 12:29:17 -07:00
2024-02-16 20:02:50 +00:00
2024-11-22 11:12:15 -08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-07-12 03:02:57 +00:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2024-05-18 18:56:12 +08:00
2024-05-18 18:56:12 +08:00
2023-03-27 21:01:23 -04:00
2023-03-27 21:01:23 -04:00
2024-05-20 19:55:59 -07:00
2024-05-20 19:55:59 -07:00
2024-02-16 20:02:50 +00:00
2023-09-04 14:21:38 +02:00
2024-02-16 20:02:50 +00:00
2024-05-20 19:55:59 -07:00
2024-05-20 19:55:59 -07:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-02-28 08:42:14 +11:00
2025-02-28 08:42:14 +11:00
2025-01-22 00:52:27 +00:00
2025-03-07 17:55:08 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-07-06 15:36:30 +03:00
2024-07-01 00:25:25 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 14:25:50 +02:00
2024-03-18 14:25:50 +02:00
2024-11-26 02:50:48 +08:00
2024-02-16 20:02:50 +00:00
2024-05-18 01:05:56 +00:00
2024-05-18 01:05:56 +00:00
2024-11-27 07:18:25 -08:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2025-02-10 20:21:39 +00:00
2024-02-16 20:02:50 +00:00
2024-11-27 07:18:25 -08:00
2025-03-07 17:55:08 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2025-01-08 07:34:59 +00:00
2025-02-21 15:49:46 +11:00
2025-02-21 15:49:46 +11:00
2024-05-04 11:30:38 +02:00
2025-02-06 22:28:44 +00:00
2025-02-28 08:36:12 +11:00
2025-02-28 08:36:12 +11:00
2024-02-16 20:02:50 +00:00
2023-12-11 09:36:40 +11:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-17 13:59:45 +01:00
2024-02-16 20:02:50 +00:00
2025-01-23 20:51:29 +08:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2023-11-24 19:15:52 +01:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2025-01-23 20:51:29 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-01-03 12:01:31 +01:00
2025-01-03 12:01:31 +01:00