3 pontos por GN⁺ 2024-11-09 | 1 comentários | Compartilhar no WhatsApp

Primeiros passos

  • O nome do pacote é "git-delta", e o executável é delta.
  • É possível configurar adicionando o seguinte ao ~/.gitconfig:
    [core]
    pager = delta
    [interactive]
    diffFilter = delta --color-only
    [delta]
    navigate = true  # use n e N para navegar entre seções do diff
    [merge]
    conflictstyle = zdiff3
    
  • O Delta oferece vários recursos e pode ser personalizado. Consulte o manual do usuário.

Recursos

  • Realce de sintaxe por linguagem: pode usar os mesmos temas de realce de sintaxe do bat.
  • Realce de diferenças em nível de palavra: usa o algoritmo de inferência de edição de Levenshtein.
  • Visualização lado a lado: inclui quebra de linha.
  • Exibição de números de linha.
  • Navegação entre arquivos: em diffs grandes, é possível mover entre arquivos com as teclas n e N.
  • Exibição aprimorada de conflitos de merge.
  • Exibição aprimorada de git blame: permite realce de sintaxe e formatar commits como links para provedores de hospedagem.
  • Realce de sintaxe para saída de grep: compatível com rg, git grep, grep e outros.
  • Suporte ao recurso --color-moved do Git.
  • Código copiável: remove marcadores -/+ por padrão.
  • Modo de emulação para diff-highlight e diff-so-fancy.
  • Pode formatar hashes de commit como hyperlinks no terminal.
  • Decorações de caixas/linhas com estilo configurável: destaca seções de cabeçalho de commit, arquivo e chunk.
  • Suporte a strings de estilo: permite usar cor de primeiro plano, cor de fundo e atributos de fonte para mais de 20 elementos de estilo.
  • Processamento da saída tradicional de diff unificado e da saída do git.
  • Detecção automática de fundo claro/escuro do terminal.

Pager com realce de sintaxe para saídas de Git, diff e grep

  • O Delta ajuda a analisar mudanças de código de forma eficiente e agradável.
  • O layout e o estilo podem ser amplamente alterados, mantendo-se próximos da saída padrão de git/diff, se desejado.

Temas de realce de sintaxe

  • Pode usar os mesmos temas de cores de realce de sintaxe do bat:
    • delta --show-syntax-themes --dark
    • delta --show-syntax-themes --light

Visualização lado a lado

  • Por padrão, a visualização lado a lado vem com números de linha ativados, e o realce de sintaxe é aplicado aos painéis esquerdo e direito.

Números de linha

  • É possível ativar números de linha na configuração do delta.

Conflitos de merge

  • Consulte o manual do usuário para lidar com conflitos de merge.

Git blame

  • Consulte o manual do usuário para aprimorar o git blame.

Ripgrep, git grep

  • Consulte o manual do usuário para aplicar realce de sintaxe à saída de ripgrep e git grep.

Instalação e uso

  • Consulte o manual do usuário e delta --help.

Mantenedores

  • @dandavison
  • @th1000s

1 comentários

 
GN⁺ 2024-11-09
Comentários do Hacker News
  • O Delta é uma ferramenta que você configura uma vez e esquece; é usada com frequência no lugar da saída de git grep/diff/blame. Também descobri que funciona com o ripgrep
    • O bat é parecido nesse sentido, uma ferramenta que você configura e esquece, e eu uso cat com alias para bat
  • Também é possível obter um diff por palavras razoavelmente bom com o git padrão
    • Use o comando git diff --color-words --word-diff-regex='\w+|.'
  • O Delta é útil, mas tinha um problema de truncar linhas longas. Isso foi resolvido com a configuração git config --global --replace-all delta.max-line-length 0
    • Não está claro por que isso não é o padrão
  • Estou usando uma combinação de Delta e difftastic, e o difftastic é especialmente útil para sintaxe AST com tree-sitter
    • O Delta é limpo e muito rápido
  • O que me impede de usar o Delta é a falta de detecção do tema do "sistema". Se o tema não combinar com o shell, fica difícil de ler
  • Eu usava a ferramenta comum git diff com cores, mas o Delta é complexo demais
  • Uso tanto Delta quanto difftastic e recomendo muito
    • Se você usa terminal, vale muito a pena experimentar
  • Gosto do bat, e ele também se integra ao Delta
  • Adoro o Delta; não uso o tempo todo, mas uso na maior parte das vezes. Recomendo que qualquer pessoa experimente
  • Parece que o autor também escreveu a integração com o magit
    • Ele pede opiniões sobre o feedback dos usuários, como desempenho, etc.