Следуя этому сообщению Elixir Forum, я создал сценарий оболочки для просмотра документации 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), форматирование меняется — обычный вывод ASCII без цветов ANSI.
Вопрос: как мне настроить или указать IEx.Helper.h
для предоставления идентичного вывода в случае отсутствия TTY?
(Похоже, есть функция IEx.configure
, которую можно использовать для изменения форматирования, но я ничего не видел о выводе без TTY. Другой способ — использовать какую-нибудь подходящую крошечную внешнюю программу для создания псевдо-TTY, перенаправляя stdout
на перед запуском команды elixir
... но я бы предпочел решить проблему вывода со стороны Эликсира.)