Я на OSSierra, использую iterm2.

У меня есть небольшой проект, который выполняет простой анализ уценки в golang, который затем печатает определенные строки в цвете на терминал https://github.com/deltaskelta/readme. Я использую эту библиотеку для цвета https://github.com/fatih/color

Все выглядит великолепно, когда я запускаю свою программу самостоятельно, но я хочу иметь возможность передать ее в less -R и получить свой цветной вывод в пейджер, чтобы было легче просматривать длинные файлы ...

Я теряю весь цвет, когда пытаюсь передать less , должна быть некоторая проблема с базовыми цветовыми кодами, но я не знаю достаточно об этом, чтобы преследовать проблему ...

Есть идеи?

1 ответ1

2

Некоторые программы могут определить, пишут ли они в канал, обычный файл или в терминал (tty); они производят красочный вывод только в этом последнем случае.

Пример: ls делает что-то подобное с ls --color=auto . Вы можете форсировать цвет с помощью ls --color=always .

Вы должны увидеть, что происходит, когда вы передаете свой инструмент на less (без -R или -r). Есть ли вообще коды? Сравните с ls --color=auto | less и ls --color=always | less

Если кодов нет, возможно, вы можете заставить инструмент генерировать их, даже если он используется в конвейере (эквивалентно опции --color=always of ls). Проверьте документацию на инструмент, если она имеется.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .