# `Adze.Diff`
[🔗](https://github.com/matthewlehner/adze/blob/v0.1.0/lib/adze/diff.ex#L1)

Line-based unified diff for write-op dry-runs.

Used by `Adze.Move`, `Adze.Extract`, and `Adze.ExtractPrivate` to
render the human-/AI-readable preview of a write. Standard unified
format with `--- a` / `+++ b` headers, `@@ -a,n +b,m @@` hunks, and
3 lines of context. Empty string when the inputs are identical.

# `unified`

```elixir
@spec unified(String.t(), String.t()) :: String.t()
```

Build a unified diff between two strings. Returns `""` when they're
identical line-for-line; otherwise an `iodata`-flattened string with
`--- a` / `+++ b` headers and one or more hunks.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
