Mercurial. Colour output piped to less
Solution 1
For mercurial, you should use the pager extension rather than piping explicitly to less. This will play nicely with the colored output options of other hg commands.
Solution 2
Do:
$ hg diff --color always | less -R
I would alias "less -R" to less. I'm not sure if there's a way to provide default options to mercurial's commands so that you don't have to remember to type --color always
for hg diff
all the time.
Solution 3
In your ~/.hgrc put:
[extensions]
color =
pager =
[pager]
pager = LESS='FRSXQ' less
quiet = True
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog
Solution 4
I believe you have to use --color=always
for ls
if you want it to do colors even when not going to stdout
. Then use -r
on the less
command
ls --color=always -l | less -r
Solution 5
If you don't want to use the Pager Extension for mercurial you can use the following command:
hg diff | cdiff
Related videos on Youtube
mmacaulay
I like a variety of technologies. Have an open mind.
Updated on September 17, 2022Comments
-
mmacaulay almost 2 years
Operating system: Mac OS 10.6.2
I'd like to be able to see colour output when piping certain commands through less.
Two examples:
I've got ls aliased to
ls --color=auto
, so I'd like to be able to see colour when I do this:ls -l | less
I've also got the color extension turned on in Mercurial, so I'd like to see colour output from:
hg diff | less
and
hg st | less
After some googling, it seems like some versions of less support either -r or -R to make this work, but no dice for me. I can't see anything in the man page that looks like what I need. (-r or -R SEEM to be the right options, but again, they don't seem to work)
-
jpbochi almost 12 yearsOr use
$ hg diff --color always | less -FRSXQ
for better less options. It will silently quit if diff fits the screen, for example. -
blueyed almost 12 yearsYou can setup LESS="-R" alternatively to aliasing "less" itself.
-
Evgeni Sergeev over 10 years
-F
is to keep reading file as it's being produced,-S
is to not line-wrap,-X
something obscure,-Q
avoids ringing terminal bell. -
einpoklum over 7 yearsWhy the
quiet = True
part? -
sebastian over 7 yearsNice! I recommend
LESS='eiFRSXQ'
to also quit after reaching EOF and ignore case during search