[tool.mypy]
disallow_any_generics = true
explicit_package_bases = true
ignore_missing_imports = true
namespace_packages = true
no_implicit_optional = true
pretty = true
show_column_numbers = true
warn_redundant_casts = true
warn_return_any = true
warn_unreachable = true
exclude = ["thirdparty/"]
python_version = "3.8"
[tool.ruff]
extend-exclude = ["thirdparty"]
extend-include = ["SConstruct", "SCsub"]
line-length = 120
target-version = "py38"
[tool.ruff.lint]
extend-select = [
"I", # isort
]
[tool.ruff.lint.per-file-ignores]
"{SConstruct,SCsub}" = [
"E402", # Module level import not at top of file
"F403", # Undefined local with import star
"F405", # Undefined local with import star usage
]
[tool.ruff.lint.isort]
sections = { metadata = ["misc.utility.scons_hints"] }
section-order = [
"future",
"metadata",
"standard-library",
"third-party",
"first-party",
"local-folder",
]
[tool.codespell]
enable-colors = true
write-changes = true
check-hidden = true
quiet-level = 3
builtin = ["clear", "rare", "en-GB_to_en-US"]
skip = [
".mailmap",
"*.desktop",
"*.gitignore",
"*.po",
"*.pot",
"*.rc",
"AUTHORS.md",
"COPYRIGHT.txt",
"core/input/gamecontrollerdb.txt",
"core/string/locales.h",
"DONORS.md",
"editor/project_converter_3_to_4.cpp",
"platform/android/java/lib/src/com/*",
"platform/web/package-lock.json",
]
ignore-words-list = [
"breaked",
"cancelled",
"checkin",
"colour",
"curvelinear",
"doubleclick",
"expct",
"findn",
"gird",
"hel",
"inout",
"labelin",
"lod",
"mis",
"nd",
"numer",
"ot",
"outin",
"parm",
"requestor",
"te",
"textin",
"thirdparty",
"vai",
]