Saat ini saya memiliki aplikasi command-line di C disebut btcwatch
. Ini memiliki -C
opsi yang dapat diterima sebagai argumen yang membandingkan harga Bitcoin saat ini dengan harga yang disimpan sebelumnya -S
. Contoh output dengan opsi ini adalah:
$ btcwatch -vC # -v = verbose
buy: UP $ 32.000000 USD (100.000000 -> 132.000000)
sell: UP $ 16.000000 USD (100.000000 -> 116.000000)
Dilema adalah apakah akan menggunakan warna untuk string UP
atau DOWN
(masing-masing hijau dan merah). Sebagian besar aplikasi baris perintah yang saya tahu (terlepas dari git) tinggal jauh dari warna dalam output mereka. Dalam keinginan saya untuk btcwatch
melihat dan menjadi cukup "standar" (penggunaan getopt
, Makefiles, dll), saya tidak yakin apakah warna akan terlihat tidak pada tempatnya dalam situasi ini.
coding-standards
command-line
bash
color
Marco Scannadinari
sumber
sumber
git diff
,,git pull
dll.Jawaban:
Hal yang tepat untuk dilakukan adalah menjadikan pewarnaan opsional, default ke "off" dan mengendalikannya melalui flag baris perintah. Dengan begitu, orang yang tidak suka atau yang terminalnya tidak mendukungnya tidak terpengaruh, orang yang suka bisa menggunakannya, dan orang yang benar-benar menyukainya dapat menentukan alias atau pintasan untuk menentukan pilihan. Semua orang senang.
sumber
ls
(ls --color
opsi diperlukan untuk menyalakannya).--color
./bin/ls
polos,/bin/ls -G
diwarnai (meskipun jika Anda memiliki CLICOLOR yang didefinisikan di lingkungan, opsi itu bertindak sebagai default aktif). Dalam distribusi dipengaruhi gnu , orang melihat--color
dan variabel lingkungan yang terkait.alias ls='ls --color=auto'
datang dalam keadaan default.bashrc
(atau jika tidak lagi, itu terjadi sekitar 8.04 memberi atau membutuhkan waktu satu tahun, dan saya baru saja membawa .bashrc melintasi instalasi)Saya akan menganggap itu pantas untuk menggunakan warna ketika:
Ada 'grup' item dan grup warna akan membantu mengelompokkan item secara visual.
Ada set bidang 'label: nilai' dan Anda ingin label (atau nilai) menonjol.
Ada item yang akan mendapat manfaat dari ditampilkan dalam warna merah / hijau, misalnya stop / go, baik / buruk, dll.
Sebagian besar informasi adalah latar belakang tetapi satu item utama harus menonjol.
sumber
Salah satu faktor utama lainnya yang perlu dipertimbangkan adalah bahwa pewarnaan, tergantung pada platform, dapat menambah urutan pelarian karakter. Untuk build pada platform tersebut, Jika mode saat ini / standar adalah untuk mengeluarkan warna, sudah lazim untuk mendeteksi apakah keluaran program adalah PIPE dan warna stripping jika itu yang terjadi.
Ini agar urutan pelarian warna tidak membuang program hilir yang membaca outputnya.
sumber
--colour
(atau--no-colour
) akan lebih ramah untuk program-program seperti itu