Mercuriel. Sortie couleur passe à moins

35

Système d'exploitation: Mac OS 10.6.2

J'aimerais pouvoir voir la sortie couleur lorsque certaines commandes sont acheminées vers moins.

Deux exemples:

J'ai aliasé sur ls --color=auto, alors j'aimerais pouvoir voir la couleur quand je fais ceci:

ls -l | less

L'extension de couleur est également activée dans Mercurial. J'aimerais donc que les couleurs soient imprimées à partir de:

hg diff | less

et

hg st | less

Après quelques recherches sur Google, il semble que certaines versions de moins prennent en charge -r ou -R pour que cela fonctionne, mais pas de dés pour moi. Je ne vois rien dans la page de manuel qui ressemble à ce dont j'ai besoin. (-r ou -R semblent être les bonnes options, mais encore une fois, elles ne semblent pas fonctionner)

mmacaulay
la source
1
Il semble que l’extension de couleur soit toujours désactivée lorsqu’elle est raccordée. Essayez ces commandes pour voir ce que je veux dire: ls --color=always | ls -Rethg diff --config color.mode=ansi | less -R
Harvey

Réponses:

30

Pour mercurial, vous devez utiliser l' extension de pagineur plutôt que de rediriger explicitement vers moins. Cela jouera bien avec les options de sortie colorées des autres commandes hg.

richq
la source
13

Je crois que vous devez utiliser --color=alwayspour lssi vous voulez qu'il fasse des couleurs, même lorsque vous n'allez pas stdout. Puis utilisez -rsur la lesscommande

ls --color=always -l | less -r
Brandon Bodnar
la source
12

Dans votre ~ / .hgrc, mettez:

[extensions]
color =
pager =

[pager]
pager = LESS='FRSXQ' less
quiet = True
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog
Joe HG
la source
Pourquoi la quiet = Truepartie?
einpoklum - réintègre Monica
Agréable! Je recommande LESS='eiFRSXQ'également de cesser de fumer après avoir atteint EOF et d'ignorer le cas lors de la recherche
sebastian
11

Faire:

$ hg diff --color always | less -R

Je voudrais alias "moins -R" à moins. Je ne sais pas s'il y a un moyen de fournir des options par défaut aux commandes de mercure de sorte que vous n'avez pas à vous rappeler de taper --color alwayspour hg difftout le temps.

Stantonk
la source
1
Ou utilisez $ hg diff --color always | less -FRSXQpour mieux moins d'options. Il quittera silencieusement si diff correspond à l'écran, par exemple.
jpbochi
1
Vous pouvez configurer LESS = "- R" alternativement pour créer un alias "moins" lui-même.
blueyed
-Fest de continuer à lire le fichier au fur et à mesure de sa production, -Sde ne pas faire de saut de ligne, -Xquelque chose d’obscur, d’ -Qéviter de sonner.
Evgeni Sergeev
2

Si vous ne souhaitez pas utiliser l' extension Pager pour mercurial, vous pouvez utiliser la commande suivante:

hg diff | cdiff
Bonne personne
la source
0

ls --color=autosignifie que vous obtenez une sortie couleur quand il n'est pas affecté à quelque chose. Essayez ls --colour=auto | catet vous verrez ce que je veux dire.

Je m'attends à ce que hg fasse des hypothèses similaires.

retour
la source