OCaml 颜色控制台输出

OCaml color console output

是否可以在 Windows 上使用 OCaml 为控制台输出着色?

似乎可以在 linux 终端上实现:print_string "7[31m blabla" 但我找不到有关 Windows 控制台的任何信息。

使用 Vanilla windows 工具..

默认情况下无法使用命令 (ms dos) 控制台仿真进行颜色管理。

开箱即用,最好的方法是改用 PowerShell 命令行界面并按照 in this page 所述配置颜色。

在打开的终端中:

write-host -foregroundcolor Red "Hello"

将导致 Hello 打印成 Red ...

但是这样一点都不方便..

外部工具提供的更好的解决方案

最简单的方法是使用外部工具来完成这项工作,但您需要安装一种 windows 命令行扩展。 可以找到一个不错的项目 HERE it's called ANSICON,它将像 Linux 现代终端仿真器一样直接解释 ANSI 代码。

如果您在 cmd.exe 中寻找 ANSI 颜色支持(以及更多),您可以使用 clink

您可能对 ANSITerminal 感兴趣 。我不记得 Windows 版本有多好——我个人不使用那个平台——但请毫不犹豫地填写问题或提交拉取请求。