Elixir 我可以用颜色输出长生不老药术语吗?

Elixir 我可以用颜色输出长生不老药术语吗?,elixir,Elixir,在iex中,术语的颜色很好。我可以在自己的程序中利用这一点吗?是否有类似于IO.color\u inspect的功能?IO.inspect和inspect都允许您传递syntax\u colors选项,您可以在其中为记录的每种术语指定所需的颜色。不幸的是,IEx使用的配置似乎没有公开,因此您必须复制粘贴或制作自己的配置 iex(1)> syntax_colors = [number: :yellow, atom: :cyan, string: :green, boolean: :magen

在iex中,术语的颜色很好。我可以在自己的程序中利用这一点吗?是否有类似于
IO.color\u inspect
的功能?

IO.inspect
inspect
都允许您传递
syntax\u 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

请参阅用于呈现ANSI转义序列以控制格式、颜色等的库

使用它可以像连接或插入ANSI字符作为前景或背景色和重置一样简单。比如说


假设您没有使用Windows。Windows不支持任何这些功能:(@OnorioCatenacci不一定是真的……颜色在带有ConEmu终端的Windows上工作正常