Intégration de prek dans le shell pour automatiser les commandes de développement

prek est une implémentation en Rust de l'outil pre-commit, offrant des capacités de vérifictaion et de formatage rapides. Intégrer prek dans le shell améliore l'efficacité du workflow en réduisant les saisies manuelles.

Avantages de l'intégration shell

  • Complétion automatique des commandes et options.
  • Simplification des opérations fréquentes via des alias.
  • Uniformité des configurations au sein des équipes.
  • Réduction du temps de saisie grâce aux raccourcis.

Environnements shell compatibles

prek supporte les shells principaux : Bash, Zsh et Fish, chacun offrant une intégration complète.

Génération des scripts de complétion

Pour créer un script de complétion adapté à votre shell, exécutez :

prek completion --generate <type_shell></type_shell>

Remplacez <type_shell> par bash, zsh ou fish.

Configuration pour Bash

prek completion --generate bash > ~/.prek-completion.bash
echo 'source ~/.prek-completion.bash' >> ~/.bashrc
source ~/.bashrc

Configuration pour Zsh

prek completion --generate zsh > ~/.prek-completion.zsh
echo 'source ~/.prek-completion.zsh' >> ~/.zshrc
source ~/.zshrc

Configuration pour Fish

prek completion --generate fish > ~/.config/fish/completions/prek.fish

Fish charge automatiquement les fichiers dans ce répertoire.

Fonctionnalités de complétion avancées

La complétion de prek est contextuelle et inclut :

  • Complétion des identifients de hooks pour les commandes telles que prek run.
  • Complétion des chemins de projet avec la syntaxe chemin/projet/.
  • Complétion des sélecteurs précis avec chemin/projet:hook-id.

Création d'alias pour simplifier les commandes

Dans votre fichier de configuration shell, ajoutez des alias comme :

# Exemple dans ~/.bashrc ou ~/.zshrc
alias prun='prek run'
alias plist='prek list'
alias pinstall='prek install'

Intégration avec les hooks Git

Pour installer prek comme hook Git, utilisez :

prek hook install

Pour spécifier un type de hook :

prek hook install --type pre-push

Les types supportés comprannent pre-commit, pre-push, commit-msg, entre autres.

Résolution des problèmes

En cas de dysfonctionnement :

  1. Vérifiez que le script de complétion est correctement chargé par le shell.
  2. Assurez-vous que l'exécutable prek est accessible dans le PATH.
  3. Générez des journaux avec prek --log-file prek.log run pour diagnostiquer.
  4. Mettez à jour prek vers la dernière version disponible.

Étiquettes: prek Shell bash zsh fish

Publié le 5 juillet à 22h23