# Configuration file for the typos spell checker used by pre-commit.
# https://github.com/crate-ci/typos
#
# To run manually from the repo root:
#   typos --config build_tools/linters/typos.toml

[files]
extend-exclude = [
    "**/third_party/",
    "**/runtime/src/iree/tokenizer/**/*_test.*",
    "**/runtime/src/iree/tokenizer/**/*_fuzz.*",
    "**/runtime/src/iree/tokenizer/testdata/",
]

[default]
extend-ignore-re = [
    # Markdown emphasis for the IREE acronym expansion splits "Environment".
    '\*\*I\*\*ntermediate \*\*R\*\*epresentation \*\*E\*\*xecution \*\*E\*\*nvironment',
]

[default.extend-words]
# AMD Heterogeneous System Architecture.
hsa = "hsa"
# AMD vector ALU instruction category.
valu = "valu"
# ARM Scalable Matrix Extension.
sme = "sme"
# MLIR OpFoldResult abbreviation.
ofr = "ofr"
# GPU instruction conversion suffix (dp4xi8toi32).
toi = "toi"
# Memory copy operation abbreviation (createMemCpy).
cpy = "cpy"
# Greater Than Integer comparison ops (CmpGTI32SOp).
gti = "gti"
# Ordered Less Than float predicate (arith.cmpf olt).
olt = "olt"
# Serialization abbreviation (serOptions).
ser = "ser"
# N-dimensional abbreviation.
nd = "nd"
# Processor number variable / math notation.
pn = "pn"
# Semaphores abbreviation.
sems = "sems"
# Python packaging tool name.
delocate = "delocate"
# Valid English word (plural of canonicalization).
canonicalizations = "canonicalizations"
# Valid English word.
inferrable = "inferrable"
# ELF relocation section type (SHT_RELA).
rela = "rela"
# Unicode café test data.
caf = "caf"
# CUDA opt-in attribute (MAX_SHARED_MEMORY_PER_BLOCK_OPTIN).
optin = "optin"
# One who is invoked.
invokee = "invokee"
# Windows Structured Exception Handling.
seh = "seh"
# Unique Device Identifier.
udid = "udid"
# Intermediate abbreviation.
interm = "interm"
# Parameters abbreviation.
parms = "parms"
# From CHECKs word splitting.
chec = "chec"
# FileCheck variable name in tests.
tpos = "tpos"
# From SIZExi8 word splitting in comments.
siz = "siz"
# Hex byte value 0xBA in generated tables.
ba = "ba"
# From ANDed/ORed/XORed word splitting.
ded = "ded"
# BPE subword tokens in tokenizer implementation.
hel = "hel"
ois = "ois"
# MSVC assembler output flag (/Fo) and notebook cell IDs.
fo = "fo"
# Valid prefix (mis-compiled, mis-detected) and notebook cell IDs.
mis = "mis"
ot = "ot"
# Notebook cell IDs.
mye = "mye"
# Workgroup coordinate variables (iz, iy).
iz = "iz"
iy = "iy"
arange="arange"
# Author name (Ege Beysel), not a typo of "Edge".
ege = "ege"
