Ryan Liptak
337f09e932
Add File.getOrEnableAnsiEscapeSupport and use it
...
On Windows, the console mode flag `ENABLE_VIRTUAL_TERMINAL_PROCESSING` determines whether or not ANSI escape codes are parsed/acted on. On the newer Windows Terminal, this flag is set by default, but on the older Windows Console, it is not set by default, but *can* be enabled (since Windows 10 RS1 from June 2016).
The new `File.getOrEnableAnsiEscapeSupport` function will get the current status of ANSI escape code support, but will also attempt to enable `ENABLE_VIRTUAL_TERMINAL_PROCESSING` on Windows if necessary which will provide better/more consistent results for things like `std.Progress` and `std.io.tty`.
This type of change was not done previously due to a mistaken assumption (on my part) that the console mode would persist after the run of a program. However, it turns out that the console mode is always reset to the default for each program run in a console session.
2024-06-02 16:46:21 -07:00
..
2024-05-31 18:59:53 -04:00
2024-04-18 17:49:05 -07:00
2024-05-09 15:51:42 -07:00
2024-05-09 15:04:15 +02:00
2024-03-19 11:45:09 -07:00
2024-03-29 22:15:17 -07:00
2024-06-02 16:46:21 -07:00
2024-04-28 21:12:55 +12:00
2024-05-18 11:46:37 +02:00
2024-04-28 00:20:30 -07:00
2024-06-02 16:46:21 -07:00
2024-05-27 20:56:48 -07:00
2024-05-30 09:58:05 +00:00
2023-09-07 21:56:57 +03:00
2024-03-21 14:11:46 -07:00
2024-02-23 02:37:11 -07:00
2024-05-28 10:41:07 -07:00
2024-05-29 10:20:15 -07:00
2024-05-27 20:56:49 -07:00
2024-03-19 11:45:09 -07:00
2023-11-19 09:55:07 +00:00
2024-05-01 12:03:05 -07:00
2024-05-08 19:37:28 -07:00
2023-09-06 19:06:32 +03:00
2024-05-03 20:58:02 -07:00
2024-03-21 14:11:46 -07:00
2023-06-24 16:56:39 -07:00
2024-03-26 14:00:13 +02:00
2024-05-27 20:56:48 -07:00
2024-05-03 16:58:53 -04:00
2024-03-21 19:40:56 -07:00
2024-04-02 13:46:51 -07:00
2024-03-21 14:11:46 -07:00
2024-03-15 02:28:50 -04:00
2024-03-10 18:13:30 -07:00
2024-03-21 14:11:46 -07:00
2023-07-21 19:56:46 -04:00
2024-05-21 13:46:05 +03:00
2023-11-19 09:55:07 +00:00
2024-02-26 15:18:31 -08:00
2024-05-27 20:56:48 -07:00
2024-05-11 02:17:11 -07:00
2024-05-09 15:04:15 +02:00
2024-03-29 20:34:28 +01:00
2024-03-10 18:13:30 -07:00
2024-03-11 18:48:08 -07:00
2024-05-31 01:25:49 +03:00
2024-05-11 02:17:11 -07:00
2024-05-09 15:04:15 +02:00
2024-03-10 18:13:30 -07:00
2024-05-26 16:13:54 -04:00
2024-03-21 14:11:46 -07:00
2024-05-27 20:56:48 -07:00
2024-05-03 13:27:30 -07:00
2024-02-05 11:55:14 +03:30
2024-05-27 13:22:50 +03:00
2023-10-17 13:55:01 -05:00
2024-03-19 11:45:09 -07:00
2024-02-23 02:58:02 -07:00
2024-05-03 16:58:53 -04:00
2024-05-03 13:27:30 -07:00
2023-11-12 03:21:52 -05:00
2023-11-24 22:33:50 -07:00
2024-05-27 20:56:48 -07:00
2024-04-18 20:08:03 -07:00
2024-06-01 13:28:16 +03:00
2024-05-11 02:17:24 -07:00
2024-05-03 13:27:30 -07:00
2024-03-11 07:09:07 -07:00
2024-04-28 00:20:30 -07:00
2024-04-15 15:24:30 -07:00
2024-05-09 15:04:15 +02:00
2024-04-17 13:41:25 +01:00
2024-03-19 11:45:09 -07:00
2024-05-11 23:34:40 +02:00
2024-02-26 15:18:31 -08:00
2024-05-20 12:04:20 -04:00
2024-05-27 20:56:49 -07:00
2024-06-02 16:46:21 -07:00
2024-02-08 15:39:28 +01:00
2024-03-10 18:17:23 +11:00
2024-02-26 15:18:31 -08:00
2024-02-26 15:18:31 -08:00
2024-05-03 13:27:30 -07:00
2024-05-28 20:44:42 -04:00
2023-06-24 16:56:39 -07:00
2024-05-11 02:17:24 -07:00
2024-05-02 22:09:03 -07:00
2024-06-02 13:03:29 -04:00
2024-05-01 12:03:05 -07:00
2024-05-20 09:25:52 -04:00
2024-05-29 10:20:15 -07:00
2024-05-09 15:04:15 +02:00
2024-05-09 15:04:15 +02:00
2024-02-26 15:18:31 -08:00
2023-10-31 21:37:35 -04:00
2024-04-23 03:20:38 -07:00
2024-04-12 22:37:07 -07:00
2023-10-21 21:24:55 +00:00
2024-02-26 15:18:31 -08:00
2024-06-02 17:35:34 -04:00
2024-05-03 16:58:53 -04:00