Tools

Comparing

Two documents, compared by what they mean rather than by line order.

In the app

Compare (⌘D) takes a second document — another tab, a paste — and shows only the real differences: reordered keys are not a change, and a log is matched by record rather than by line order.

The Head reads “→ name · N added · M changed”, and the swap is one sentence in the Foot.

Across the two shapes

A verb is implemented once per shape, not once per format. That is why a CSV gets the same tools as a webhook payload: both collapse to one of two shapes before any verb runs.

How the shapes differ for diff: Document: path-level · Records: keyed.

  • document · JSON, YAML, XML
  • records · NDJSON, CSV, TSV, Markdown table, Log

A worked example

Two revisions of a service manifest, the pair the Compare picker offers. By structure: 2 added, 5 changed, 0 removed paths, 6 unchanged subtrees skipped. The same pair as text: 1 lines added, 6 changed, 0 removed — the count a line diff gives when a key moves or a list grows.

checkout-api · before
{
  "service": "checkout-api",
  "version": "1.4.2",
  "region": "us-east-1",
  "replicas": 3,
  "env": {
    "LOG_LEVEL": "info",
    "STRIPE_API_VERSION": "2024-06-20",
…