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
giti
Ada 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-cmdr
Untuk 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 run
Anda 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.