Obecnie mam aplikację wiersza polecenia w języku C o nazwie btcwatch
. Ma -C
opcję, którą może otrzymać jako argument, który porównuje aktualną cenę Bitcoin z ceną, która była wcześniej przechowywana -S
. Przykładowe dane wyjściowe z tą opcją to:
$ btcwatch -vC # -v = verbose
buy: UP $ 32.000000 USD (100.000000 -> 132.000000)
sell: UP $ 16.000000 USD (100.000000 -> 116.000000)
Dylemat polega na tym, czy użyć koloru dla łańcucha UP
lub DOWN
łańcucha (odpowiednio zielony i czerwony). Większość aplikacji wiersza poleceń, które znam (oprócz git), z dala od koloru w swoich wynikach. W moim pragnieniu, btcwatch
aby wyglądać i być „standardowym” (używaniem getopt
, Makefile itp.), Nie jestem pewien, czy kolor wyglądałby nie na miejscu w tej sytuacji.
coding-standards
command-line
bash
color
Marco Scannadinari
źródło
źródło
git diff
,git pull
, itd.Odpowiedzi:
Właściwe jest, aby kolorowanie było opcjonalne, domyślnie „wyłączone” i sterować nim za pomocą flagi wiersza polecenia. W ten sposób nie ma to wpływu na ludzi, którzy go nie lubią lub których terminal go nie obsługuje, którzy lubią to, a także osoby, które naprawdę lubią to, mogą zdefiniować alias lub skrót, aby wstępnie zdefiniować opcję. Wszyscy są szczęśliwi.
źródło
ls
(ls --color
wymagana jest opcja, aby ją włączyć).--color
./bin/ls
jest gładki,/bin/ls -G
jest kolorowy (chociaż jeśli w środowisku zdefiniowano CLICOLOR, ta opcja działa domyślnie). W dystrybucjach wpływających na GNU widać--color
i powiązane z nim zmienne środowiskowe.alias ls='ls --color=auto'
jest w domyślnym.bashrc
(lub jeśli nie już, to jednak gdzieś około 8,04 lub dać rocznie, a ja właśnie przeprowadza moje .bashrc całej instalacji)Uznałbym za stosowne użycie koloru, gdy:
Istnieją „grupy” przedmiotów, a grupy kolorów pomogą wizualnie pogrupować przedmioty.
Istnieją pola pól „etykieta: wartość” i chcesz, aby etykiety (lub wartości) wyróżniały się.
Są przedmioty, które powinny być wyświetlane w kolorze czerwonym / zielonym, np. Stop / go, good / bad itp.
Większość informacji stanowi tło, ale jeden kluczowy element powinien się wyróżniać.
źródło
Innym ważnym czynnikiem, który należy wziąć pod uwagę, jest to, że kolorowanie, w zależności od platformy, może dodawać sekwencje specjalne znaków. W przypadku kompilacji na tych platformach Jeśli bieżącym / domyślnym trybem jest kolor wyjściowy, zwyczajowo wykrywane jest, czy wyjściem programu jest PIPE, a jeśli tak, to kolor usuwania.
Jest tak, aby sekwencje specjalne koloru nie wyrzucały dalszych programów, które czytają jego dane wyjściowe.
źródło
--colour
(lub--no-colour
) opcji będzie bardziej przyjazne dla takich programów