На основе manatwork
блестящий мало "или ничто" не взламывает в другом вопросе, я предлагаю это, которое добавляет способность получить два цвета подсветки:
$ myprogram | \
GREP_COLORS='mt=01;32' egrep --color=always '\[OK\]|' | \
GREP_COLORS='mt=01;31' egrep --color=always '\[FAIL\]|'
Таким образом, Вы работаете grep
по выводу дважды, с другим GREP_COLORS
переменная среды каждый раз.
'01; 32' значения означают, что "полужирный зеленый" и другой означают "полужирный красный". См. статью Wikipedia о кодах ANSI для большего количества идей.
Увы, это требует GNU grep версия 2.5.3 или выше. Более старые версии GNU grep поддерживали другой механизм окраски, но те версии имеют ошибку, которая препятствует тому, чтобы Вы использовали функцию в конвейере несколько раз. BSD grep эмулирует более старый GNU grep окраска механизма, и это будет работать дважды в конвейере, но это вопит о "пустом подвыражении" из-за manatwork
взлом.
Можно удалить обратные косые черты в конце первых двух строк для создания всего этого одной строкой. Я только что разделил его здесь для ясности и играть по правилам с форматом страниц SE.
Команда, которую Вы получаете, когда Вы работали which
функция, вызванная prompt
. Вывод является своим определением.
Вы видите, что он использует эту команду также:
$ declare -f prompt
Это немного более хитро. Необходимо будет обратиться к использованию инструмента такой как grep
найти строку"prompt ()
". Обычные места для взгляда следующие:
(N.B. не используйте which
в ударе использовать type
вместо этого)
$ grep -R "prompt ()" .bashrc .bash_profile /etc/bashrc /etc/profile*
$ grep -R "prompt ()" <files>
Из страницы справочника это файлы это zsh
использует:
$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
${TMPPREFIX}* (default is /tmp/zsh*)
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin
/etc/zlogout (installation-specific - /etc is the default)
Это должно быть в одном из тех местоположений. Если это не обнаружится ни в одном из тех мест затем, то необходимо будет развернуть поиск. Я предложил бы искать просто строку"prompt
".
prompt
отдельно не полезно: это вызывает другую вызванную функцию set_prompt
, Вам нужен этот также (и все его зависимости).
Первой вещью искать была бы автоматически загруженная функция.
print -rl $fpath/prompt(N)
Запрет этого, поиска в Ваших файлах инициализации и в файлах на функциональной загрузке соединяет каналом для функционального определения.
grep -E '^ *function +prompt($|[^0-9A-Z_a-z])|^ *prompt *\(' ~/.z* /etc/zsh/*(.N) /etc/z*(.N) $fpath/*(.)
prompt
функция определяется …/Prompts/promptinit
: это - часть быстрого компонента тем. В дополнение к promptinit
, Вам будет нужно prompt_*_setup
файл для Вашей выбранной быстрой темы. Загляните Ваш ~/.zshrc
для Вашего выбора быстрой темы — вызов к prompt
функция.
type
вместоwhich
. Я предполагаю, что ArchLinux переопределяетwhich
так или иначе. Я не знал бы. Но я предполагаю, что настоящая проблема OP определяет, который файл определяетprompt
функция. – Joseph R. 08.11.2013, 00:09which
встроенное и может использоваться без раскаяния. – Gilles 'SO- stop being evil' 08.11.2013, 00:43