مرحبا بكم في هذا مونوريبو. جميع المجلدات الموجودة في هذا الريبو عبارة عن مشاريع (صناديق) 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
هو المكان الذي يتم فيه نقل جميع التعليمات البرمجية والتحف التي لم تعد هناك حاجة إليها.
بهذه الطريقة لن يتم "فقد" أي شيء، وإذا كنت بحاجة إلى استخدام بعض التعليمات البرمجية التي تمت إزالتها، فيمكنك العثور عليها هناك.
وأيضًا إذا كنت تريد إجراء تغييرات على هذا الرمز والمحافظة عليه بنفسك، فيرجى إخبارنا بذلك.