Mercurial. Цветовой поток меньше


35

Операционная система: Mac OS 10.6.2

Я хотел бы видеть цвет при выводе определенных команд через меньшее.

Два примера:

У меня есть псевдоним ls ls --color=auto, поэтому я хотел бы видеть цвет, когда я делаю это:

ls -l | less

У меня также включено расширение цвета в Mercurial, поэтому я хотел бы видеть вывод цветов из:

hg diff | less

а также

hg st | less

После некоторого поиска в Google кажется, что некоторые версии менее поддерживают -r или -R, чтобы это работало, но для меня это не игра в кости. Я не вижу ничего на странице руководства, которая выглядит так, как мне нужно. (-r или -R СМОТРЕТЬ, чтобы быть правильными вариантами, но опять же, они, кажется, не работают)


1
Похоже, расширение цвета всегда отключено при передаче по каналу. Попробуйте эти команды, чтобы понять, что я имею в виду: ls --color=always | ls -Rиhg diff --config color.mode=ansi | less -R
Харви

Ответы:



13

Я считаю , что вы должны использовать --color=alwaysдля , lsесли вы хотите, чтобы сделать цвета , даже когда не собирается stdout. Тогда используйте -rпо lessкоманде

ls --color=always -l | less -r

12

В вашем ~ / .hgrc положите:

[extensions]
color =
pager =

[pager]
pager = LESS='FRSXQ' less
quiet = True
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog

Почему quiet = Trueчасть?
einpoklum - восстановить Monica

Ницца! Я рекомендую LESS='eiFRSXQ'также выйти после достижения EOF и игнорировать регистр при поиске
SEBASTIAN

11

Делать:

$ hg diff --color always | less -R

Я бы псевдоним "меньше -R" меньше. Я не уверен , если есть способ , чтобы обеспечить параметры по умолчанию для команд Mercurial, так что вам не нужно помнить , чтобы напечатать --color alwaysна hg diffвсе время.


1
Или используйте $ hg diff --color always | less -FRSXQдля лучшего меньше вариантов. Например, он будет тихо завершать работу, если его размер будет соответствовать размеру экрана.
jpbochi

1
Вы можете установить LESS = "- R" в качестве альтернативы псевдониму "less".
синеватый

-Fдолжен продолжать читать файл, как он создается, -Sне переносить строки, -Xчто-то непонятное, -Qизбегать звонка в терминальный звонок.
Евгений Сергеев


0

ls --color=autoозначает, что вы получаете цветопередачу, когда она не передается по каналу. Попробуйте, ls --colour=auto | catи вы поймете, что я имею в виду.

Я ожидаю, что HG делает аналогичные предположения.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.