Bienvenue dans ce monorepo. Tous les dossiers de ce dépôt sont des projets Rust distincts (crates) qui sont probablement publiés sur crates.io. Et cela constitue un espace de travail Rust.
Voici le journal des modifications de cet espace de travail monorepo ou Rust. C'est un excellent point de départ pour se familiariser avec ce qui a changé récemment dans chacun des projets de cet espace de travail Rust.
Table des matières:
Ce qui suit est un aperçu de haut niveau de chacune des caisses qui constituent cet espace de travail Rust.
Il existe des caisses qui vont du TUI « complet » au TUI « partiel », et tout ce qui se trouve au milieu.
r3bl_tui
vous offre le support du mode brut "écran alternatif" et "plein écran", tout en étant totalement asynchrone. Un exemple de ceci est l'application "Full TUI" edi
dans la caisse r3bl-cmdr
. Vous pouvez l'installer et l'exécuter avec la commande suivante :
cargo install r3bl-cmdr
edi
r3bl_terminal_async
vous donne la possibilité de créer facilement vos propres programmes shell asynchrones en utilisant "async readline & stdout".
En voici des exemples :
r3bl_tuify
vous donne la possibilité de créer facilement vos propres programmes CLI avec une interaction bloquante. C'est un excellent moyen d'obtenir l'entrée de l'utilisateur, tout en bloquant le thread principal et en utilisant le mode brut lorsque le thread principal est bloqué. Un exemple d'application est l'application giti
dans la caisse r3bl-cmdr
. Vous pouvez l'installer et l'exécuter avec la commande suivante :
cargo install r3bl-cmdr
giti
Il existe de nombreuses autres caisses sous-jacentes qui sont utilisées pour construire ces caisses de niveau supérieur. En voici une courte liste :
r3bl_core
contient de nombreux utilitaires de bas niveau utilisés dans les autres caisses. Cela inclut des éléments tels que les macros déclaratives, les couleurs, les styles, la prise en charge d'Unicode, etc. Au fil du temps, si du code est créé dans une caisse de "niveau supérieur" et qu'il est utile dans d'autres caisses, il est déplacé vers cette caisse. Et cela est documenté dans le journal des modifications.
r3bl_test_fixtures
contient de nombreux appareils de test utilisés dans les autres caisses. Cela inclut des éléments tels que des simulations pour stdio et des flux d'événements (événements d'entrée générés par l'interaction de l'utilisateur).
r3bl_ansi_color
est une caisse quelque peu sans rapport avec les autres dans cet espace de travail. Il fournit une API propre qui vous permet d'utiliser facilement les couleurs ANSI dans vos programmes de terminal. Si vous ne souhaitez pas utiliser les caisses les plus complexes et que vous avez simplement besoin d'afficher du texte stylisé sur le terminal, alors cette caisse est faite pour vous.
Il existe même une caisse qui contient uniquement des applications destinées aux utilisateurs et créées à l'aide de ces caisses sous-jacentes. Il s'agit de la caisse r3bl-cmdr
, qui vous donne les applications giti
et edi
(décrites ci-dessus). Vous pouvez l'installer et l'exécuter avec la commande suivante :
cargo install r3bl-cmdr
Pour savoir comment nous avons construit cette caisse, veuillez consulter les ressources suivantes.
Il existe un script nushell
que vous pouvez utiliser pour exécuter le pipeline CI/CD pour cet espace de travail, et bien plus encore (opérations locales uniquement). Pour en obtenir une liste, vous pouvez afficher le script nushell
à la racine de ce run
. Pour avoir une idée des commandes que vous pouvez exécuter, essayez d'exécuter la commande suivante :
cargo install nu
nu run
Vous devriez voir un résultat qui ressemble à ceci :
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
Par exemple:
nu run all-cicd
exécutera le pipeline CI/CD pour cet espace de travail.nu run all
pour exécuter le pipeline CI/CD, et plus encore (opérations locales uniquement). Chaque caisse contenue dans cet espace de travail peut également avoir son propre script nushell
également nommé run
. Il s'agit d'une convention utilisée dans cet espace de travail. Vous pouvez exécuter le script run
dans chacune des caisses pour obtenir une liste des commandes spécifiques à cette caisse.
À mesure que ce dépôt grandit, change et mûrit, l’élagage est nécessaire. L' r3bl-open-core-archive
est l'endroit où sont déplacés tous les codes et artefacts qui ne sont plus nécessaires.
De cette façon, rien n'est "perdu" et si vous avez besoin d'utiliser une partie du code qui a été supprimé, vous pouvez le trouver ici.
De plus, si vous souhaitez apporter des modifications à ce code et le maintenir vous-même, veuillez nous le faire savoir.