我可以用颜色输出Elixir术语吗?

Rog*_*mbe 3 elixir

在中iex,术语颜色很好。我可以在自己的程序中利用此功能吗?有类似的东西IO.color_inspect吗?

Dog*_*ert 6

双方IO.inspectinspect允许你通过syntax_colors选项,你可以指定你想要的颜色为每种类型的术语的记录在这里。不幸的是,看起来IEx使用的配置未公开,因此您必须复制粘贴或自行制作。

iex(1)> syntax_colors = [number: :yellow, atom: :cyan, string: :green, boolean: :magenta, nil: :magenta]
[number: :yellow, atom: :cyan, string: :green, boolean: :magenta, nil: :magenta]
iex(2)> IO.inspect [1, :a, "b", nil], syntax_colors: syntax_colors; :ok
[1, :a, "b", nil]
:ok
Run Code Online (Sandbox Code Playgroud)

进出口


Den*_*nis 6

请参阅IO.ANSI渲染 ANSI 转义序列的库以控制格式、颜色等。

ExUnit 的 CLI 格式化程序有一些很好的使用示例

使用它就像连接或插入 ANSI 字符作为前景色或背景色并重置一样简单。例如

使用前景色的 IO.ANSI 示例