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

    # Typewriter model names used for agent branch names aren't typos.
    "crates/agent_ui/src/branch_names.rs",

    # 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 mock data is flagged as typos.
    "crates/assistant_tools/src/web_search_tool.rs",

    # Suppress false positives in database schema.
    "crates/collab/migrations/20251208000000_test_schema.sql",

    # 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",
    "crates/editor/src/edit_prediction_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/",
    # Protols is the name of the language server.
    "extensions/proto/extension.toml",
    "extensions/proto/src/language_servers/protols.rs",
    # Windows likes its abbreviations.
    "crates/gpui_windows/src/directx_renderer.rs",
    "crates/gpui_windows/src/events.rs",
    "crates/gpui_windows/src/direct_write.rs",
    "crates/gpui_windows/src/window.rs",
    # Some typos in the base mdBook CSS.
    "docs/theme/css/",
    # Automatically generated JS.
    "docs/theme/c15t@*.js",
    # Spellcheck triggers on `|Fixe[sd]|` regex part.
    "script/danger/dangerfile.ts",
    # Eval examples for prompts and criteria
    "crates/eval/src/examples/",
    # File type extensions are not typos
    "crates/zed/resources/windows/zed.iss",
    # typos-cli doesn't understand our `vˇariable` markup
    "crates/editor/src/hover_links.rs",
    # typos-cli doesn't understand `setis` is intentional test case
    "crates/editor/src/code_completion_tests.rs",
    # Linux repository structure is not a valid text, hence we should not check it for typos
    "crates/project_panel/benches/linux_repo_snapshot.txt",
    # Some multibuffer test cases have word fragments that register as typos
    "crates/multi_buffer/src/multi_buffer_tests.rs",
    # Macos apis
    "crates/gpui_macos/src/dispatcher.rs",
    # Tests contain partially incomplete words (by design)
    "crates/edit_prediction_cli/src/split_commit.rs",
    # Eval examples contain intentionally partial words (e.g. "secur" for "secure")
    "crates/edit_prediction_cli/evals/",
    # Tests contain `baˇr` that cause `"ba" should be "by" or "be".`-like false-positives
    "crates/editor/src/document_symbols.rs",
]

[default]
extend-ignore-re = [
    # PNG is a file format, not a typo
    "PNG",
    'cl\[ist]',
    '\[lan\]guage',
    '"ba"',
    "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",
    # Stripped version of reserved keyword `type`
    "typ",
    # AMD GPU Services
    "ags",
    # AMD GPU Services
    "AGS",
    # Yarn Plug'n'Play
    "PnP"
]
check-filename = true
