# include " rang.hpp "
using namespace std ;
using namespace rang ;
int main ()
{
cout << " Plain old text "
<< style:: bold << " Rang styled text!! "
<< style::reset << endl;
}
rang hanya bergantung pada pustaka standar C++, header sistem unistd.h
pada unix dan header sistem windows.h
& io.h
pada sistem berbasis windows. Dengan kata lain, Anda tidak memerlukan ketergantungan pihak ketiga apa pun.
rang adalah perpustakaan khusus header tunggal. Letakkan rang.hpp
di folder include langsung ke pohon sumber proyek atau di suatu tempat yang dapat dijangkau dari proyek Anda.
Atau, jika Anda menggunakan manajer paket conan, ikuti langkah-langkah berikut:
Tambahkan referensi ke rang ke bagian require pada file conanfile.txt
proyek Anda:
[requires]
rang/3.1.0@rang/stable
Jalankan perintah install conan:
conan install
Rang menggunakan objek iostream - cout
/ clog
/ cerr
untuk menerapkan atribut pada teks keluaran. Karena rang bertujuan untuk mendukung sistem seperti windows dan unix, rang menangani detail spesifik os dan mencoba menyediakan antarmuka yang seragam. Karena ketidakcocokan dengan versi OS yang berbeda, tidak semua jenis atribut didukung di setiap sistem sehingga rang akan mencoba melewatkan atribut yang mungkin menghasilkan sampah (daripada memasukkan kode escape ANSI acak di aliran Anda). Deteksi tty juga ditangani secara internal sehingga Anda tidak perlu memeriksa apakah pengguna aplikasi mungkin mengarahkan output ke suatu file.
Butuh dukungan untuk terminal non-ansi? Lihat Termdb yang mendukung hampir semua terminal dan kemampuannya.
Selain mengatur atribut teks, Anda juga dapat meminta rang untuk mengganti perilaku defaultnya melalui metode ini -
void rang::setControlMode (rang::control);
di mana rang::control
diperlukan
control::Auto
- Secara otomatis mendeteksi apakah terminal mendukung warna atau tidak ( Default )control::Off
- Mematikan warna sepenuhnyacontrol::Force
- Memaksa warna meskipun terminal tidak mendukungnya atau output dialihkan ke non-terminal void rang::setWinTermMode (rang::winTerm);
di mana rang::winTerm
berlangsung
winTerm::Auto
- Memeriksa jendela yang lebih baru dan memilih Ansi jika tidak maka akan kembali ke Native( Default )winTerm::Native
- Metode ini didukung di semua versi windows tetapi mendukung lebih sedikit atributwinTerm::Ansi
- Metode ini didukung di versi windows yang lebih baru dan mendukung beragam atributAtribut yang didukung beserta kompatibilitasnya tercantum di bawah -
Gaya Teks :
Kode | Linux/Menang/Lainnya | Kemenangan Lama |
---|---|---|
rang::style::bold | Ya | Ya |
rang::style::dim | Ya | TIDAK |
rang::style::italic | Ya | TIDAK |
rang::style::underline | Ya | TIDAK |
rang::style::blink | TIDAK | TIDAK |
rang::style::rblink | TIDAK | TIDAK |
rang::style::reversed | Ya | Ya |
rang::style::conceal | Mungkin | Ya |
rang::style::crossed | Ya | TIDAK |
Warna Teks :
Kode | Linux/Menang/Lainnya | Kemenangan Lama |
---|---|---|
rang::fg::black | Ya | Ya |
rang::fg::red | Ya | Ya |
rang::fg::green | Ya | Ya |
rang::fg::yellow | Ya | Ya |
rang::fg::blue | Ya | Ya |
rang::fg::magenta | Ya | Ya |
rang::fg::cyan | Ya | Ya |
rang::fg::gray | Ya | Ya |
Warna Latar Belakang :
Kode | Linux/Menang/Lainnya | Kemenangan Lama |
---|---|---|
rang::bg::black | Ya | Ya |
rang::bg::red | Ya | Ya |
rang::bg::green | Ya | Ya |
rang::bg::yellow | Ya | Ya |
rang::bg::blue | Ya | Ya |
rang::bg::magenta | Ya | Ya |
rang::bg::cyan | Ya | Ya |
rang::bg::gray | Ya | Ya |
Warna Latar Depan Cerah :
Kode | Linux/Menang/Lainnya | Kemenangan Lama |
---|---|---|
rang::fgB::black | Ya | Ya |
rang::fgB::red | Ya | Ya |
rang::fgB::green | Ya | Ya |
rang::fgB::yellow | Ya | Ya |
rang::fgB::blue | Ya | Ya |
rang::fgB::magenta | Ya | Ya |
rang::fgB::cyan | Ya | Ya |
rang::fgB::gray | Ya | Ya |
Warna Latar Belakang Cerah :
Kode | Linux/Menang/Lainnya | Kemenangan Lama |
---|---|---|
rang::bgB::black | Ya | Ya |
rang::bgB::red | Ya | Ya |
rang::bgB::green | Ya | Ya |
rang::bgB::yellow | Ya | Ya |
rang::bgB::blue | Ya | Ya |
rang::bgB::magenta | Ya | Ya |
rang::bgB::cyan | Ya | Ya |
rang::bgB::gray | Ya | Ya |
Atur Ulang Gaya/Warna :
Kode | Linux/Menang/Lainnya | Kemenangan Lama |
---|---|---|
rang::style::reset | Ya | Ya |
rang::fg::reset | Ya | Ya |
rang::bg::reset | Ya | Ya |
Periksa nilai variabel env TERM
Anda. Kemudian buka terbitan di sini dan pastikan untuk menyebutkan nilai TERM
bersama dengan nama terminal Anda.
cout
/ cerr
/ clog
rdbuf? Rang tidak mengganggu jika Anda mencoba mengalihkan cout
/ cerr
/ clog
ke tempat lain dan menyerahkan keputusan kepada pengguna perpustakaan. Pastikan Anda telah membaca percakapan ini dan lihat contoh kode di sini.