kolory git grep różnią się od niestandardowych kolorów grep

10

Skonfigurowałem kolory grep w moim ~/.bashrc:

export GREP_COLORS='ms=01;34:mc=01;34:sl=:cx=:fn=35:ln=32:bn=32:se=36'

Pracują dla

  • grep --color=auto
  • grep --color=always

Niestety te niestandardowe kolory są ignorowane przez:

  • git grep --color=auto
  • git grep --color=always

Jak zrobić, git grepaby używać powyższych $GREP_COLORSkolorów?

Grzegorz Wierzowiecki
źródło
1
Git nie wywołuje zewnętrznego grepnarzędzia, ma własne wewnętrzne polecenie, które jest wywoływane git grepi ma podobne, ale nie identyczne opcje.
Gilles 'SO - przestań być zły'

Odpowiedzi:

8

Powinieneś jawnie skonfigurować kolory w pliku konfiguracyjnym git.

Interesujące informacje znajdują się na stronie man git-config , w szczególności poszukaj zmiennej konfiguracyjnejcolor.grep.<slot>

enzotib
źródło
7

Git grep nie używa GREP_COLORSzmiennej środowiskowej. Zamiast tego powinieneś dodać niestandardowe wpisy w sobie~/.gitconfig

Na przykład:

[color "grep"]
    linenumber = yellow bold
    match = red
    filename = magenta     
nowox
źródło
1
Jak robisz tło?
letitbee,
@letitbee „Pierwszy podany kolor to pierwszy plan; drugi to tło.”, np. match 10 22 - patrz man 1 git-config„PLIK KONFIGURACYJNY”> „Wartości”> „kolor”
felixhummel
0

Możesz jednak zastąpić wartości podczas wykonywania opcją -c, na przykład:

git -c color.grep.filename="13 23" -c color.grep.match="14" grep -e "README\."

połączyć

DZet
źródło