```meta
title: @diff — uma mudança de código como numa revisão
description: O que o git diff imprime, um arquivo por seção, colorido pela linguagem, empilhado ou lado a lado; uma linha selecionada recebe uma anotação.
```

_flows.md · documentação · [Blocos](/@docs/blocks)_

# @diff

Uma mudança de código como uma revisão a lê — o que o `git diff` imprime —, uma seção por arquivo, colorida pela linguagem, empilhada ou lado a lado. Quem pode anotar seleciona uma linha e deixa uma nota nela.

## Ao vivo

~~~@diff title:"A saudação ganha uma exclamação e um nome padrão"
--- a/saudacao.rb
+++ b/saudacao.rb
@@ -1,3 +1,3 @@
-def ola(nome)
-  "Olá, #{nome}"
+def ola(nome = "visitante")
+  "Olá, #{nome}!"
 end
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
 # Saudação
 Diz olá.
+
+Sem nome, cumprimenta o visitante.
~~~

````text
~~~@diff title:"A saudação ganha uma exclamação e um nome padrão"
--- a/saudacao.rb
+++ b/saudacao.rb
@@ -1,3 +1,3 @@
-def ola(nome)
-  "Olá, #{nome}"
+def ola(nome = "visitante")
+  "Olá, #{nome}!"
 end
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
 # Saudação
 Diz olá.
+
+Sem nome, cumprimenta o visitante.
~~~
````

A cerca é de `~~~` e não de crases: assim as crases de dentro de um patch continuam texto.

## Argumentos

- `title` — uma linha acima dos arquivos: o que a mudança é.
- O corpo é o patch, a saída do `git diff` (ou de qualquer diff unificado).

Para entregar a mudança para alguém revisar, cole o diff numa página e mande o link: as anotações de cada linha aparecem no painel de anotações.
