Actuellement, j'ai une application de ligne de commande en C appelée btcwatch
. Il a une -C
option qu'il peut recevoir comme argument qui compare le prix actuel de Bitcoin avec un prix qui a été préalablement enregistré avec -S
. Exemple de sortie avec cette option:
$ btcwatch -vC # -v = verbose
buy: UP $ 32.000000 USD (100.000000 -> 132.000000)
sell: UP $ 16.000000 USD (100.000000 -> 116.000000)
Le dilemme est de savoir s'il faut utiliser la couleur pour la chaîne UP
ou DOWN
(vert et rouge, respectivement). La plupart des applications en ligne de commande que je connais (à l'exception de git) restent éloignées de la couleur dans leur sortie. Dans mon désir btcwatch
de regarder et d'être assez "standard" (utilisation de getopt
, Makefiles, etc.), je ne sais pas si la couleur ne serait pas à sa place dans cette situation.
coding-standards
command-line
bash
color
Marco Scannadinari
la source
la source
git diff
,git pull
, etc.Réponses:
La chose appropriée à faire est de rendre la coloration facultative, par défaut à "off" et de la contrôler via un drapeau de ligne de commande. De cette façon, les personnes qui ne l'aiment pas ou dont le terminal ne la prend pas en charge ne sont pas affectées, les personnes qui l'aiment peuvent l'utiliser et les personnes qui l'aiment vraiment peuvent vraiment définir un alias ou un raccourci pour prédéfinir l'option. Tout le monde est content.
la source
ls
(l'ls --color
option est requise pour l'activer).--color
./bin/ls
est simple,/bin/ls -G
est coloré (bien que si CLICOLOR soit défini dans l'environnement, cette option agit par défaut sur). Dans les distributions influencées par GNU , on voit--color
et ses variables d'environnement associées.alias ls='ls --color=auto'
vient dans la valeur par défaut.bashrc
(ou si ce n'est plus le cas, il a fait environ 8.04 donner ou prendre un an, et je viens de porter mon .bashrc à travers les installations)Je considérerais approprié d'utiliser la couleur lorsque:
Il existe des «groupes» d'articles et des groupes de couleurs aideront à regrouper visuellement les articles.
Il existe des ensembles de champs «étiquette: valeur» et vous voulez que les étiquettes (ou valeurs) se démarquent.
Il y a des éléments qui gagneraient à être affichés en rouge / vert, par exemple stop / go, bon / mauvais, etc.
La plupart des informations sont de fond, mais un élément clé doit ressortir.
la source
Un autre facteur important à considérer est que la coloration, selon la plate-forme, peut ajouter des séquences d'échappement de caractères. Pour les versions sur ces plates-formes, si le mode actuel / par défaut est de sortir la couleur, il est habituel de détecter si la sortie du programme est un TUYAU et de supprimer la couleur si c'est le cas.
C'est ainsi que les séquences d'échappement de couleur ne jettent pas les programmes en aval qui lisent sa sortie.
la source
--colour
(ou--no-colour
) sera plus conviviale pour de tels programmes