[files]
extend-exclude = [
  # Build
  "build.zig.zon",
  "build.zig.zon.nix",
  "build.zig.zon.txt",
  "build.zig.zon.json",
  # Build artifacts
  "macos/build/*",
  "zig-out/*",
  # vendored code
  "vendor/*",
  "pkg/*",
  "src/stb/*",
  # "grey" color names are valid
  "src/terminal/res/rgb.txt",
  # Do not self-check
  "typos.toml",
  # Fonts
  "*.ttf",
  "*.otf",
  "*.bdf",
  # Images
  "*.png",
  "*.ico",
  "*.icns",
  # Valgrind nonsense
  "valgrind.supp",
  # Fuzz corpus (binary test inputs)
  "test/fuzz-libghostty/corpus/*",
  # Other
  "*.pdf",
  "*.data",
  "*.xib",
  "src/cli/lorem_ipsum.txt",
]

[default]
extend-ignore-re = [
  # Ignore typos in test expectations
  "testing\\.expect[^;]*;",
  "kHOM\\d*",
  # Ignore "typos" in sprite font draw fn names
  "draw[0-9A-F]+(_[0-9A-F]+)?\\(",
  # Ignore test data in src/input/paste.zig
  "\"hel\\\\x",
  # Ignore long hex-like IDs such as 815E26BA2EF1E00F005C67B1
  "[0-9A-F]{12,}",
  # Ignore base64-encoded strings
  "[A-Za-z0-9+/]{8,}={0,2}",
  # Ignore Apple four char codes
  'code="[A-Za-z]{4,8}"',
  '"[A-Za-z]{4}"\.fourCharCode',
]

[default.extend-words]
Pn = "Pn"
thr = "thr"
# Swift oddities
Requestor = "Requestor"
iterm = "iterm"
ACCES = "ACCES"
wdth = "wdth"
Strat = "Strat"
grey = "gray"
greyscale = "grayscale"
DECID = "DECID"
flate = "flate"
typ = "typ"
kend = "kend"
# Tai Tham is a script/writing system
Tham = "Tham"
# GTK
GIR = "GIR"
# terminfo
rin = "rin"
# sprites
ower = "ower"
# OpenType table names
loca = "loca"

[type.po]
extend-glob = ["*.po"]
check-file = false

[type.swift.extend-words]
inout = "inout"
