控制台输出的 FreeMarker ansi 颜色

FreeMarker ansi colors for console output

我正在使用 Freemarker 模板为 cli 工具生成输出。

是否可以将 \u001B[34m 之类的 ANSI 颜色添加到模板中?

我想问题是关于 \u001B (ESC)。您可以通过直接将其包含在模板中或使用 ${'\x1B'} 来打印它。当然手动插入转义序列还是没什么意思,所以你可以写一些宏给它,例如:

<#macro fg color>${'\x1B'}[${30 + color}m</#macro>

<@fg 4 />This is blue. <@fg 2 />This is green.