在这篇Elixir 论坛帖子之后,我创建了一个 shell 脚本来通过运行查看 Elixir 文档IEx.Helpers.h
:
elixir -e "require IEx.Helpers; IEx.Helpers.h($1)"
($1
脚本的命令行参数在哪里)。(例如,命令
elixir -e "require IEx.Helpers; IEx.Helpers.h(List)"
提供模块的文档List
。)
这是超级好。不再需要跑来iex
查看文档。终端的默认格式工作得很好而且很漂亮。但是,如果我将输出通过管道传输到寻呼机(或者更一般地说,如果输出不是 TTY 设备),则格式会更改 - 没有 ANSI 颜色的纯 ASCII 输出。
IEx.Helper.h
问题:在非 TTY 情况下,我如何配置或直接提供相同的输出?
(看起来有IEx.configure
可以用来更改格式的功能,但我看不到任何关于非 TTY 输出的信息。另一种方法是使用一些合适的小型外部程序来创建伪 TTY,重定向stdout
到之前运行elixir
命令...但我更愿意从 Elixir 端解决输出问题。)