Selamat datang di monorepo ini. Semua folder dalam repo ini adalah proyek Rust (peti) terpisah yang mungkin diterbitkan ke crates.io. Dan ini merupakan ruang kerja Rust.
Berikut log perubahan untuk ruang kerja monorepo atau Rust ini. Ini adalah tempat yang bagus untuk mulai mengenal apa yang berubah baru-baru ini di setiap proyek di ruang kerja Rust ini.
Daftar isi:
Berikut ini adalah ikhtisar tingkat tinggi dari masing-masing peti yang membentuk ruang kerja Rust ini.
Ada peti yang berkisar dari TUI "penuh" hingga TUI "sebagian", dan semuanya ada di tengah.
r3bl_tui memberi Anda dukungan mode mentah "layar alternatif" dan "layar penuh", namun sepenuhnya asinkron. Contohnya adalah edi aplikasi "TUI Penuh" di peti r3bl-cmdr . Anda dapat menginstal & menjalankannya dengan perintah berikut:
cargo install r3bl-cmdr
edi r3bl_terminal_async memberi Anda kemampuan untuk dengan mudah membuat program shell async Anda sendiri menggunakan "async readline & stdout".
Berikut ini contohnya:
r3bl_tuify memberi Anda kemampuan untuk dengan mudah membuat program CLI Anda sendiri dengan interaksi pemblokiran. Ini bagus untuk mendapatkan input pengguna, sambil memblokir thread utama, dan menggunakan mode mentah saat thread utama diblokir. Contoh aplikasinya adalah aplikasi giti di peti r3bl-cmdr . Anda dapat menginstal & menjalankannya dengan perintah berikut:
cargo install r3bl-cmdr
gitiAda banyak peti dasar lainnya yang digunakan untuk membuat peti tingkat atas ini. Berikut daftar singkatnya:
r3bl_core berisi banyak utilitas tingkat rendah yang digunakan di peti lainnya. Ini mencakup hal-hal seperti makro deklaratif, warna, gaya, dukungan unicode, dll. Seiring waktu, jika beberapa kode dibuat di peti "tingkat yang lebih tinggi", dan berguna di peti lain, kode tersebut akan dipindahkan ke peti ini. Dan ini didokumentasikan di changelog.
r3bl_test_fixtures berisi banyak perlengkapan pengujian yang digunakan di peti lainnya. Ini mencakup hal-hal seperti tiruan untuk stdio, dan aliran peristiwa (input peristiwa yang dihasilkan oleh interaksi pengguna).
r3bl_ansi_color adalah peti yang agak tidak berhubungan dengan peti lain di ruang kerja ini. Ini menyediakan API bersih yang memungkinkan Anda dengan mudah menggunakan warna ANSI di program terminal Anda. Jika Anda tidak ingin menggunakan peti yang lebih rumit dan Anda hanya perlu mengeluarkan beberapa teks bergaya ke terminal, maka peti ini cocok untuk Anda.
Bahkan ada peti yang hanya berisi aplikasi yang dapat dilihat pengguna yang dibuat menggunakan peti yang mendasarinya. Ini adalah peti r3bl-cmdr , yang memberi Anda aplikasi giti dan edi (dijelaskan di atas). Anda dapat menginstal & menjalankannya dengan perintah berikut:
cargo install r3bl-cmdrUntuk mempelajari bagaimana kami membuat peti ini, silakan lihat sumber daya berikut.
Ada skrip nushell yang dapat Anda gunakan untuk menjalankan alur CI/CD untuk ruang kerja ini, dan banyak lagi (operasi lokal saja). Untuk mendapatkan daftarnya, Anda dapat melihat skrip nushell di root repo run ini. Untuk mendapatkan gambaran tentang perintah yang dapat Anda jalankan, coba jalankan perintah berikut:
cargo install nu
nu runAnda akan melihat keluaran seperti ini:
Usage: run <command> [args]
<command> can be:
all
all-cicd
build
build-full
clean
install-cargo-tools
test
docs
check
check-watch
clippy
clippy-watch
serve-docs
upgrade-deps
rustfmt
help
Misalnya:
nu run all-cicd akan menjalankan alur CI/CD untuk ruang kerja ini.nu run all untuk menjalankan pipeline CI/CD, dan lainnya (operasi lokal saja). Setiap peti yang terdapat dalam ruang kerja ini mungkin juga memiliki skrip nushell sendiri yang juga diberi nama run . Ini adalah konvensi yang digunakan di ruang kerja ini. Anda dapat menjalankan skrip run di setiap peti untuk mendapatkan daftar perintah yang khusus untuk peti tersebut.
Saat repo ini tumbuh, berubah, dan matang, pemangkasan diperlukan. r3bl-open-core-archive adalah tempat semua kode dan artefak yang tidak lagi diperlukan dipindahkan.
Dengan cara ini tidak ada yang "hilang" dan jika Anda perlu menggunakan beberapa kode yang telah dihapus, Anda dapat menemukannya di sana.
Juga jika Anda ingin membuat perubahan pada kode ini dan memeliharanya sendiri, harap beri tahu kami.