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 СМОТРЕТЬ, чтобы быть правильными вариантами, но опять же, они, кажется, не работают)

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

Ответы:

30

Для Mercurial, вы должны использовать расширение пейджера, а не пайпинг явно. Это будет хорошо сочетаться с цветными параметрами вывода других команд hg.

richq
источник
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все время.

stantonk
источник
1
Или используйте $ hg diff --color always | less -FRSXQдля лучшего меньше вариантов. Например, он будет тихо завершать работу, если его размер будет соответствовать размеру экрана.
jpbochi
1
Вы можете установить LESS = "- R" в качестве альтернативы псевдониму "less".
синеватый
-Fдолжен продолжать читать файл, как он создается, -Sне переносить строки, -Xчто-то непонятное, -Qизбегать звонка в терминальный звонок.
Евгений Сергеев
2

Если вы не хотите использовать расширение Pager для Mercurial, вы можете использовать следующую команду:

hg diff | cdiff
Хороший человек
источник
0

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

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

keturn
источник