ยินดีต้อนรับสู่ monorepo นี้ โฟลเดอร์ทั้งหมดใน repo นี้เป็นโปรเจ็กต์ Rust (ลัง) แยกกันที่อาจเผยแพร่ไปยัง crates.io และนี่ถือเป็นพื้นที่ทำงานของ Rust
นี่คือบันทึกการเปลี่ยนแปลงสำหรับพื้นที่ทำงาน monorepo หรือ Rust นี้ นี่เป็นสถานที่ที่ดีเยี่ยมในการเริ่มต้นทำความคุ้นเคยกับสิ่งที่เปลี่ยนแปลงไปเมื่อเร็วๆ นี้ในแต่ละโปรเจ็กต์ในพื้นที่ทำงานของ Rust นี้
สารบัญ:
ต่อไปนี้เป็นภาพรวมระดับสูงของแต่ละลังที่ประกอบเป็นพื้นที่ทำงาน Rust นี้
มีลังที่มีตั้งแต่ TUI "เต็ม" ไปจนถึง TUI "บางส่วน" และทุกอย่างอยู่ตรงกลาง
r3bl_tui
ให้การสนับสนุนโหมดดิบ "หน้าจอสำรอง" และ "เต็มหน้าจอ" ในขณะที่ไม่ซิงก์โดยสิ้นเชิง ตัวอย่างนี้คือแอป edi
"Full TUI" ในลัง r3bl-cmdr
คุณสามารถติดตั้งและรันสิ่งนี้ด้วยคำสั่งต่อไปนี้:
cargo install r3bl-cmdr
edi
r3bl_terminal_async
ช่วยให้คุณสามารถสร้างโปรแกรมเชลล์ async ของคุณเองได้อย่างง่ายดายโดยใช้ "async readline & stdout"
นี่คือตัวอย่างของสิ่งนี้:
r3bl_tuify
ช่วยให้คุณสามารถสร้างโปรแกรม CLI ของคุณเองได้อย่างง่ายดายด้วยการบล็อกการโต้ตอบ นี่เป็นวิธีที่ดีในการรับข้อมูลจากผู้ใช้ ในขณะที่บล็อกเธรดหลัก และใช้โหมด Raw ในขณะที่เธรดหลักถูกบล็อก แอปตัวอย่างของสิ่งนี้คือแอป giti
ในลัง r3bl-cmdr
คุณสามารถติดตั้งและรันสิ่งนี้ด้วยคำสั่งต่อไปนี้:
cargo install r3bl-cmdr
giti
มีลังพื้นฐานอื่นๆ อีกมากมายที่ใช้ในการสร้างลังระดับบนสุดเหล่านี้ นี่คือรายการสั้น ๆ ของพวกเขา:
r3bl_core
มียูทิลิตี้ระดับต่ำจำนวนมากที่ใช้ในลังอื่น ซึ่งรวมถึงสิ่งต่างๆ เช่น มาโครที่ประกาศ สี สไตล์ การสนับสนุน Unicode ฯลฯ เมื่อเวลาผ่านไป หากโค้ดบางส่วนถูกสร้างขึ้นในกล่อง "ระดับที่สูงกว่า" และมีประโยชน์ในกล่องอื่น โค้ดนั้นจะถูกย้ายไปยังลังนี้ และนี่คือเอกสารในบันทึกการเปลี่ยนแปลง
r3bl_test_fixtures
มีฟิกซ์เจอร์ทดสอบจำนวนมากที่ใช้ในลังอื่นๆ ซึ่งรวมถึงสิ่งต่างๆ เช่น การจำลองสำหรับ stdio และสตรีมเหตุการณ์ (เหตุการณ์อินพุตที่สร้างขึ้นโดยการโต้ตอบของผู้ใช้)
r3bl_ansi_color
เป็นลังที่ค่อนข้างไม่เกี่ยวข้องกับคนอื่นๆ ในพื้นที่ทำงานนี้ มี API ที่ชัดเจนซึ่งช่วยให้คุณสามารถใช้สี ANSI ในโปรแกรมเทอร์มินัลของคุณได้อย่างง่ายดาย หากคุณไม่ต้องการใช้ลังที่ซับซ้อนกว่านี้ และคุณเพียงแค่ต้องส่งข้อความที่มีสไตล์ไปยังเทอร์มินัล ลังนี้เหมาะสำหรับคุณ
มีกระทั่งลังที่มีเฉพาะแอปที่ผู้ใช้สร้างขึ้นโดยใช้ลังที่ซ่อนอยู่เหล่านี้ นี่คือลัง r3bl-cmdr
ซึ่งให้แอป giti
และ edi
แก่คุณ (อธิบายไว้ข้างต้น) คุณสามารถติดตั้งและรันสิ่งนี้ด้วยคำสั่งต่อไปนี้:
cargo install r3bl-cmdr
หากต้องการเรียนรู้วิธีสร้างลังนี้ โปรดดูแหล่งข้อมูลต่อไปนี้
มีสคริปต์ nushell
ที่คุณสามารถใช้เพื่อเรียกใช้ไปป์ไลน์ CI/CD สำหรับพื้นที่ทำงานนี้ และอื่นๆ (การดำเนินการในเครื่องเท่านั้น) หากต้องการรับรายการเหล่านี้ คุณสามารถดูสคริปต์ nushell
ได้ในรูทของ repo run
นี้ หากต้องการทราบแนวคิดเกี่ยวกับคำสั่งที่คุณสามารถเรียกใช้ได้ ให้ลองใช้คำสั่งต่อไปนี้:
cargo install nu
nu run
คุณควรเห็นผลลัพธ์ที่มีลักษณะดังนี้:
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
ตัวอย่างเช่น:
nu run all-cicd
จะรันไปป์ไลน์ CI/CD สำหรับเวิร์กสเปซนี้nu run all
เพื่อรันไปป์ไลน์ CI/CD และอื่นๆ ได้ (การดำเนินการในเครื่องเท่านั้น) แต่ละลังที่อยู่ในเวิร์กสเปซนี้อาจมีสคริปต์ nushell
ของตัวเองซึ่งมีชื่อว่า run
เช่นกัน นี่เป็นแบบแผนที่ใช้ในเวิร์กสเปซนี้ คุณสามารถรันสคริปต์ run
ในแต่ละลังเพื่อรับรายการคำสั่งเฉพาะสำหรับลังนั้น
เมื่อซื้อคืนนี้เติบโต เปลี่ยนแปลง และครบกำหนด การตัดแต่งกิ่งจึงเป็นสิ่งจำเป็น r3bl-open-core-archive
คือที่ที่โค้ดและสิ่งประดิษฐ์ทั้งหมดที่ไม่จำเป็นอีกต่อไปจะถูกย้ายไปยัง
วิธีนี้จะทำให้ไม่มีอะไร "สูญหาย" และหากคุณจำเป็นต้องใช้โค้ดบางส่วนที่ถูกลบออก คุณสามารถค้นหาได้จากที่นั่น
นอกจากนี้ หากคุณต้องการเปลี่ยนแปลงโค้ดนี้และดูแลรักษาด้วยตนเอง โปรดแจ้งให้เราทราบ