3 points par GN⁺ 2024-11-09 | 1 commentaires | Partager sur WhatsApp

Premiers pas

  • Le nom du paquet est "git-delta" et l’exécutable est delta.
  • Vous pouvez le configurer en ajoutant ce qui suit à ~/.gitconfig :
    [core]
    pager = delta
    [interactive]
    diffFilter = delta --color-only
    [delta]
    navigate = true  # utiliser n et N pour naviguer entre les sections du diff
    [merge]
    conflictstyle = zdiff3
    
  • Delta offre de nombreuses fonctionnalités et peut être personnalisé. Vous pouvez consulter le manuel utilisateur.

Fonctionnalités

  • Coloration syntaxique des langages : possibilité d’utiliser les mêmes thèmes de coloration syntaxique que bat.
  • Mise en évidence des différences au niveau des mots : utilise l’algorithme d’inférence d’édition de Levenshtein.
  • Vue côte à côte : avec retour à la ligne.
  • Affichage des numéros de ligne.
  • Navigation entre les fichiers : dans les gros diff, il est possible de passer d’un fichier à l’autre avec les touches n et N.
  • Affichage amélioré des conflits de fusion.
  • Affichage amélioré de git blame : coloration syntaxique et possibilité de formater les commits en liens vers le fournisseur d’hébergement.
  • Coloration syntaxique de la sortie grep : prise en charge de rg, git grep, grep, etc.
  • Prise en charge de la fonctionnalité --color-moved de Git.
  • Copie du code possible : supprime par défaut les marqueurs -/+.
  • Modes d’émulation diff-highlight et diff-so-fancy.
  • Possibilité de formater les hash de commit en hyperliens de terminal.
  • Décorations de boîtes/lignes personnalisables : mise en avant des sections d’en-tête de commit, fichier et chunk.
  • Prise en charge des chaînes de style : couleurs de premier plan, d’arrière-plan et attributs de police pour plus de 20 éléments de style.
  • Traitement de la sortie diff unifiée traditionnelle et de la sortie git.
  • Détection automatique des arrière-plans de terminal clairs/sombres.

Visionneuse paginée avec coloration syntaxique pour les sorties Git, diff et grep

  • Delta aide à analyser les changements de code de manière efficace et agréable.
  • La mise en page et le style peuvent être largement modifiés, tout en restant proches de la sortie git/diff par défaut.

Thèmes de coloration syntaxique

  • Possibilité d’utiliser les mêmes thèmes de couleur de coloration syntaxique que bat :
    • delta --show-syntax-themes --dark
    • delta --show-syntax-themes --light

Vue côte à côte

  • Par défaut, la vue côte à côte active les numéros de ligne, avec coloration syntaxique sur les panneaux de gauche et de droite.

Numéros de ligne

  • Il est possible d’activer les numéros de ligne dans la configuration de delta.

Conflits de fusion

  • Vous pouvez consulter le manuel utilisateur pour gérer les conflits de fusion.

Git blame

  • Vous pouvez consulter le manuel utilisateur pour améliorer git blame.

Ripgrep, git grep

  • Vous pouvez consulter le manuel utilisateur pour appliquer la coloration syntaxique aux sorties de ripgrep et git grep.

Installation et utilisation

  • Vous pouvez consulter le manuel utilisateur et delta --help.

Mainteneurs

  • @dandavison
  • @th1000s

1 commentaires

 
GN⁺ 2024-11-09
Commentaires sur Hacker News
  • Delta est un outil qu’on configure une fois puis qu’on oublie, souvent utilisé à la place des sorties de git grep/diff/blame. J’ai aussi découvert qu’il est compatible avec ripgrep
    • bat est similaire à cet égard : on le configure une fois puis on l’oublie, et je l’utilise en alias de cat
  • On peut aussi obtenir un diff mot à mot correct avec git de base
    • commande : git diff --color-words --word-diff-regex='\w+|.'
  • Delta est utile, mais il avait un problème de troncature des lignes longues. Cela se règle avec git config --global --replace-all delta.max-line-length 0
    • on ne sait pas bien pourquoi ce n’est pas la valeur par défaut
  • J’utilise un mélange de Delta et difftastic, et difftastic est particulièrement utile pour la syntaxe AST de tree-sitter
    • Delta est propre et très rapide
  • Ce qui m’empêche d’utiliser Delta, c’est l’absence de détection du thème « système ». Si le thème ne correspond pas au shell, c’est difficile à lire
  • J’ai utilisé l’outil git diff classique avec des couleurs, mais Delta est trop complexe
  • J’utilise à la fois Delta et difftastic, et je les recommande vivement
    • si vous travaillez dans le terminal, cela vaut vraiment la peine de les essayer
  • J’aime bat, qui s’intègre aussi avec Delta
  • J’adore Delta ; je ne l’utilise pas systématiquement, mais la plupart du temps oui. Je le recommande à tout le monde au moins pour l’essayer
  • Il semble que l’auteur ait aussi développé l’intégration avec magit
    • il demande des retours d’utilisateurs, notamment sur les performances