[files]
ignore-files = true
ignore-hidden = false
extend-exclude = [
    ".git/",

    # Contributor names aren't typos.
    ".mailmap",

    # File suffixes aren't typos.
    "crates/theme/src/icon_theme.rs",
    "crates/extensions_ui/src/extension_suggest.rs",

    # Some countries codes are flagged as typos.
    "crates/anthropic/src/supported_countries.rs",
    "crates/google_ai/src/supported_countries.rs",
    "crates/open_ai/src/supported_countries.rs",

    # Some crate names are flagged as typos.
    "crates/indexed_docs/src/providers/rustdoc/popular_crates.txt",

    # Stripe IDs are flagged as typos.
    "crates/collab/src/db/tests/processed_stripe_event_tests.rs",
    # Not our typos.
    "crates/livekit_api/",
    # Vim makes heavy use of partial typing tables.
    "crates/vim/",
    # Editor and file finder rely on partial typing and custom in-string syntax.
    "crates/file_finder/src/file_finder_tests.rs",
    "crates/editor/src/editor_tests.rs",
    # There are some names in the test data that are incorrectly flagged as typos.
    "crates/git/test_data/blame_incremental_complex",
    "crates/git/test_data/golden/blame_incremental_complex.json",
    # We have some base64-encoded data that is incorrectly being flagged.
    "crates/rpc/src/auth.rs",
    # glsl isn't recognized by this tool.
    "extensions/glsl/languages/glsl/",
    # Windows likes its abbreviations.
    "crates/gpui/src/platform/windows/",
    # Some typos in the base mdBook CSS.
    "docs/theme/css/",
    # Spellcheck triggers on `|Fixe[sd]|` regex part.
    "script/danger/dangerfile.ts",
]

[default]
extend-ignore-re = [
    'cl\[ist]',
    '\[lan\]guage',
    '"ba"',
    # :/ crates/collab/migrations/20231009181554_add_release_channel_to_rooms.sql
    "COLUMN enviroment",
    "doas",
    # ProtoLS crate with tree-sitter Protobuf grammar.
    "protols",
    # x11rb SelectionNotifyEvent struct field
    "requestor",
    # macOS version
    "Big Sur",
    # Not an actual typo but an intentionally invalid color, in `color_extractor`
    "#fof"
]
check-filename = true
