3 puntos por GN⁺ 2024-11-09 | 1 comentarios | Compartir por WhatsApp

Primeros pasos

  • El nombre del paquete es "git-delta" y el ejecutable es delta.
  • Se puede configurar agregando lo siguiente a ~/.gitconfig:
    [core]
    pager = delta
    [interactive]
    diffFilter = delta --color-only
    [delta]
    navigate = true  # usar n y N para moverse entre secciones del diff
    [merge]
    conflictstyle = zdiff3
    
  • Delta ofrece varias funciones y se puede personalizar. Se puede consultar el manual de usuario.

Funciones

  • Resaltado de sintaxis por lenguaje: se pueden usar los mismos temas de resaltado de sintaxis que bat.
  • Resaltado de diferencias a nivel de palabra: usa el algoritmo de inferencia de edición de Levenshtein.
  • Vista lado a lado: incluye ajuste de línea.
  • Mostrar números de línea.
  • Navegación entre archivos: en diffs grandes, se puede mover entre archivos con las teclas n y N.
  • Visualización mejorada de conflictos de merge.
  • Visualización mejorada de git blame: se puede aplicar resaltado de sintaxis y dar formato a commits como enlaces al proveedor de hosting.
  • Resaltado de sintaxis para la salida de grep: compatible con rg, git grep, grep y más.
  • Compatibilidad con la función --color-moved de Git.
  • Posibilidad de copiar código: elimina por defecto los marcadores -/+.
  • Modo de emulación de diff-highlight y diff-so-fancy.
  • Se puede dar formato a hashes de commit como hipervínculos de terminal.
  • Decoraciones de cajas/líneas con estilo: resalta secciones de encabezados de commit, archivo y chunk.
  • Compatibilidad con cadenas de estilo: permite usar color de primer plano, fondo y atributos de fuente para más de 20 elementos de estilo.
  • Procesamiento de la salida tradicional de unified diff y de Git.
  • Detección automática de fondos de terminal claros/oscuros.

Paginador con resaltado de sintaxis para la salida de Git, diff y grep

  • Delta ayuda a analizar cambios en el código de forma eficiente y agradable.
  • El diseño y el estilo se pueden modificar ampliamente, manteniéndolos cerca de la salida predeterminada de git/diff.

Temas de resaltado de sintaxis

  • Se pueden usar los mismos temas de color de resaltado de sintaxis que bat:
    • delta --show-syntax-themes --dark
    • delta --show-syntax-themes --light

Vista lado a lado

  • De forma predeterminada, la vista lado a lado tiene activados los números de línea, y tanto el panel izquierdo como el derecho aplican resaltado de sintaxis.

Números de línea

  • Se pueden activar los números de línea en la configuración de delta.

Conflictos de merge

  • Se pueden manejar los conflictos de merge consultando el manual de usuario.

Git blame

  • Se puede mejorar git blame consultando el manual de usuario.

Ripgrep, git grep

  • Se puede aplicar resaltado de sintaxis a la salida de ripgrep y git grep consultando el manual de usuario.

Instalación y uso

  • Se puede consultar el manual de usuario y delta --help.

Mantenedor

  • @dandavison
  • @th1000s

1 comentarios

 
GN⁺ 2024-11-09
Comentarios en Hacker News
  • Delta es una herramienta que configuras una vez y luego olvidas; se usa con frecuencia en lugar de la salida de git grep/diff/blame. También descubrí que es compatible con ripgrep
    • bat también es una herramienta similar de configurar y olvidar; la uso con un alias de cat a bat
  • Incluso con git base se puede obtener un diff por palabras a un nivel decente
    • usar el comando git diff --color-words --word-diff-regex='\w+|.'
  • Delta es útil, pero tenía un problema al truncar líneas largas. Esto se resuelve con la configuración git config --global --replace-all delta.max-line-length 0
    • no está claro por qué esa no es la configuración predeterminada
  • Uso una combinación de Delta y difftastic; difftastic es especialmente útil para la sintaxis AST de tree-sitter
    • Delta es limpio y muy rápido
  • Lo que me impide usar Delta es la falta de detección del tema del "sistema". Si el tema no coincide con el del shell, se vuelve difícil de leer
  • He usado la herramienta normal de git diff con colores, pero Delta es demasiado complejo
  • Uso tanto Delta como difftastic, y los recomiendo muchísimo
    • si usas la terminal, realmente deberías probarlos
  • Me gusta bat, y además conecta bien con Delta
  • Me encanta Delta; no lo uso siempre, pero sí la mayoría del tiempo. Se lo recomendaría a cualquiera
  • Parece que el autor también escribió la integración con magit
    • pide opiniones sobre comentarios de usuarios, como rendimiento y otros aspectos