مرحبا بكم في هذا مونوريبو. جميع المجلدات الموجودة في هذا الريبو عبارة عن مشاريع (صناديق) Rust منفصلة والتي من المحتمل أن يتم نشرها على صناديق.io. وهذا يشكل مساحة عمل Rust.
إليك سجل التغيير الخاص بمساحة العمل monorepo أو Rust. يعد هذا مكانًا رائعًا للبدء في التعرف على ما تغير مؤخرًا في كل مشروع من المشاريع الموجودة في مساحة عمل Rust هذه.
جدول المحتويات:
فيما يلي نظرة عامة عالية المستوى على كل صندوق من الصناديق التي تشكل مساحة عمل Rust هذه.
هناك صناديق تتراوح من TUI "الكامل" إلى TUI "الجزئي"، وكل شيء في المنتصف.
يمنحك r3bl_tui دعم الوضع الخام "شاشة بديلة" و"ملء الشاشة"، بينما يكون غير متزامن تمامًا. مثال على ذلك هو تطبيق "Full TUI" edi الموجود في صندوق r3bl-cmdr . يمكنك تثبيت هذا وتشغيله باستخدام الأمر التالي:
cargo install r3bl-cmdr
edi يمنحك r3bl_terminal_async القدرة على إنشاء برامج الصدفة غير المتزامنة الخاصة بك بسهولة باستخدام "async readline & stdout".
فيما يلي أمثلة على ذلك:
يمنحك r3bl_tuify القدرة على إنشاء برامج CLI الخاصة بك بسهولة مع حظر التفاعل. يعد هذا أمرًا رائعًا للحصول على مدخلات المستخدم، أثناء حظر الخيط الرئيسي، واستخدام الوضع الخام أثناء حظر الخيط الرئيسي. أحد الأمثلة على ذلك هو تطبيق giti الموجود في صندوق r3bl-cmdr . يمكنك تثبيت هذا وتشغيله باستخدام الأمر التالي:
cargo install r3bl-cmdr
gitiهناك العديد من الصناديق الأساسية الأخرى التي يتم استخدامها لبناء هذه الصناديق ذات المستوى الأعلى. فيما يلي قائمة قصيرة منهم:
يحتوي r3bl_core على الكثير من الأدوات المساعدة منخفضة المستوى المستخدمة في الصناديق الأخرى. يتضمن ذلك أشياء مثل وحدات الماكرو التعريفية، والألوان، والأنماط، ودعم Unicode، وما إلى ذلك. وبمرور الوقت، إذا تم إنشاء بعض التعليمات البرمجية في صندوق "مستوى أعلى"، وكانت مفيدة في الصناديق الأخرى، فسيتم نقلها إلى هذا الصندوق. وهذا موثق في سجل التغيير.
يحتوي r3bl_test_fixtures على الكثير من تركيبات الاختبار المستخدمة في الصناديق الأخرى. يتضمن ذلك أشياء مثل نماذج stdio وتدفقات الأحداث (أحداث الإدخال التي يتم إنشاؤها بواسطة تفاعل المستخدم).
r3bl_ansi_color عبارة عن صندوق غير مرتبط إلى حد ما بالصناديق الأخرى الموجودة في مساحة العمل هذه. يوفر واجهة برمجة تطبيقات نظيفة تتيح لك استخدام ألوان ANSI بسهولة في برامجك الطرفية. إذا كنت لا ترغب في استخدام الصناديق الأكثر تعقيدًا وتحتاج فقط إلى إخراج بعض النصوص المصممة إلى الوحدة الطرفية، فهذا هو الصندوق المناسب لك.
يوجد أيضًا صندوق يحتوي فقط على التطبيقات التي تواجه المستخدم والتي تم إنشاؤها باستخدام هذه الصناديق الأساسية. هذا هو صندوق r3bl-cmdr ، الذي يمنحك تطبيقات giti و edi (الموصوفة أعلاه). يمكنك تثبيت هذا وتشغيله باستخدام الأمر التالي:
cargo install r3bl-cmdrلمعرفة كيفية بناء هذا الصندوق، يرجى إلقاء نظرة على الموارد التالية.
يوجد برنامج نصي nushell يمكنك استخدامه لتشغيل خط أنابيب CI/CD لمساحة العمل هذه، والمزيد (العمليات المحلية فقط). للحصول على قائمة بهذه العناصر، يمكنك عرض البرنامج النصي nushell في جذر 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 هو المكان الذي يتم فيه نقل جميع التعليمات البرمجية والتحف التي لم تعد هناك حاجة إليها.
بهذه الطريقة لن يتم "فقد" أي شيء، وإذا كنت بحاجة إلى استخدام بعض التعليمات البرمجية التي تمت إزالتها، فيمكنك العثور عليها هناك.
وأيضًا إذا كنت تريد إجراء تغييرات على هذا الرمز والمحافظة عليه بنفسك، فيرجى إخبارنا بذلك.