{
    "[python]": {
        "editor.codeActionsOnSave": {
            "source.fixAll": "explicit"
        },
        "editor.defaultFormatter": "charliermarsh.ruff"
    },
    "[json]": {
        "editor.defaultFormatter": "vscode.json-language-features"
    },
    "[jsonc]": {
        "editor.defaultFormatter": "vscode.json-language-features"
    },
    "files.exclude": {
        "**/.git": true,
        "**/__pycache__": true,
        "**/.ruff_cache": true,
        "**/.mypy_cache": true
    },
    "python.analysis.diagnosticSeverityOverrides": {
        "reportAttributeAccessIssue": false, // disabled because `commands.group.command` is listed as Any / Unknown for some reason
        "reportCallIssue": "information"
    },
    "python.analysis.diagnosticMode": "workspace",
    "python.analysis.supportDocstringTemplate": true,
    "python.analysis.typeCheckingMode": "basic",
    "python.analysis.typeEvaluation.enableReachabilityAnalysis": true,
    "python.analysis.typeEvaluation.strictDictionaryInference": true,
    "python.analysis.typeEvaluation.strictListInference": true,
    "python.analysis.typeEvaluation.strictSetInference": true,
    "editor.formatOnSave": true,
}