Personnalisez votre invite de shell avec Starship

Rien ne m’irrite plus que quand j’oublie de git add
fichiers dans mon référentiel Git. Je teste localement, valide et pousse, seulement pour découvrir qu’il a échoué dans la phase d’intégration continue. Pire encore, c’est quand je suis sur le main
branche au lieu d’une branche de fonctionnalité et pousser accidentellement vers celle-ci. Le meilleur scénario est qu’il échoue à cause de la protection de la branche, et je dois faire une intervention chirurgicale pour obtenir les modifications apportées à une branche. Pire encore, je n’ai pas configuré correctement la protection de branche et je l’ai accidentellement poussé directement vers main
.
Ne serait-il pas agréable que les informations soient disponibles directement dans l’invite ?
Il y a encore plus d’informations utiles dans l’invite. Bien que le nom des environnements virtuels Python figure dans l’invite, la version Python de l’environnement virtuel ne l’est pas.
Il est possible de configurer soigneusement le PS1
variable d’environnement à toutes les informations pertinentes. Cela peut devenir long, ennuyeux et non trivial à déboguer.
C’est le problème que Starship a été conçu pour résoudre.
Contents
Installer le vaisseau spatial
La configuration initiale de Starship ne nécessite que deux étapes : installer et configurer votre shell pour l’utiliser. L’installation peut être aussi simple que :
$ curl -fsSL https://starship.rs/install.sh
Lisez le script d’installation pour vous assurer que vous comprenez ce qu’il fait, puis rendez-le exécutable et exécutez-le :
$ chmod +x install.sh
$ ./install.sh
Il existe d’autres façons d’installer, couvertes sur le site Web. Vous pouvez développer des machines virtuelles ou des conteneurs à l’étape de création d’image.
Configuration du vaisseau
L’étape suivante consiste à configurer votre shell pour l’utiliser. Pour l’essayer en tant que pièce unique, en supposant que le shell est bash
ou zsh
, exécutez la commande suivante :
$ eval "$(starship init $(basename $SHELL))"
Votre invite change immédiatement :
localhost in myproject on master
>
Si vous aimez ce que vous voyez, ajoutez eval "$(starship init $(basename $SHELL))"
à ta coquille rc
fichier pour le rendre permanent.
Personnalisation du vaisseau
L’installation par défaut suppose que vous pouvez installer une “police Nerd”, telle que Fantastique Sans Mono. Vous voulez, en particulier, une police avec des glyphes de la section “implémentation privée” d’Unicode.
Cela fonctionne très bien lors du contrôle du terminal, mais parfois, le terminal n’est pas facile à configurer. Par exemple, lors de l’utilisation d’une abstraction de shell dans le navigateur, la configuration de la police du navigateur peut être non triviale.
Le plus grand utilisateur des points de code est l’intégration Git, qui utilise un symbole personnalisé spécial pour “branche”. La désactivation peut être effectuée en configurant starship.rs
en utilisant le fichier ~/.config/starship.toml
.
La désactivation du symbole de branche se fait en configurant le git_branch
sections format
variable:
[git_branch]
format = "on [$branch]($style) "
L’une des bonnes choses à propos de starship.rs
est que la modification de la configuration a un effet immédiat. Enregistrez le fichier, appuyez sur Entrer, et voyez si la police ressemble à ce que vous souhaitiez.
Il est également possible de configurer la couleur des différentes sections dans l’invite. Par exemple, si le jaune vif de la section Python est un peu plus difficile à voir sur un fond blanc, vous pouvez configurer le bleu :
[python]
style = "blue bold"
Il existe une prise en charge de la configuration pour de nombreux langages, notamment Go, .NET et JavaScript. Il existe également un support pour afficher la durée de la commande (uniquement pour les commandes qui prennent plus de temps qu’un seuil) et plus encore.
Prenez l’escroquerie
Prenez le contrôle de votre invite et ayez toutes les informations dont vous avez besoin à portée de main. Installez Starship, faites-le fonctionner pour vous et profitez-en !