#:schema https://mago.carthage.software/1.43.0/schema.json
version = "1"
php-version = "8.2.0"

[source]
workspace = "."
paths = ["src", "test"]
includes = ["vendor"]
excludes = []

[source.glob]
literal-separator = true

[formatter]
print-width = 120
tab-width = 4
use-tabs = false

[linter]
integrations = ["phpunit"]

[linter.rules]
ambiguous-function-call = { enabled = false }
literal-named-argument = { enabled = false }
assertion-style = { enabled = false }
cyclomatic-complexity = { enabled = false }
excessive-parameter-list = { enabled = false }
file-name = { enabled = false }
halstead = { enabled = false, effort-threshold = 7000 }
identity-comparison = { enabled = false }
kan-defect = { enabled = false }
no-boolean-flag-parameter = { enabled = false }
no-else-clause = { enabled = false }
no-empty = { enabled = false }
no-empty-catch-clause = { enabled = false }
no-isset = { enabled = false }
readable-literal = { enabled = false }
str-contains = { enabled = false }
strict-assertions = { enabled = false }
strict-behavior = { enabled = false }
strict-types = { enabled = false }
too-many-properties = { enabled = false }
too-many-methods = { enabled = false }

[analyzer]
plugins = []
find-unused-definitions = true
find-unused-expressions = true
analyze-dead-code = true
memoize-properties = true
check-throws = false
unchecked-exceptions = [
	"Error",
	"LogicException",
	"ReflectionException",
	"PHPUnit\\Framework\\Exception",
	"PHPUnit\\Framework\\ExpectationFailedException",
	"PHPUnit\\Framework\\UnknownClassOrInterfaceException",
]
unchecked-exception-classes = []
check-missing-override = true
find-unused-parameters = true
strict-list-index-checks = false
strict-array-index-existence = false
allow-array-truthy-operand = false
no-boolean-literal-comparison = true
check-missing-type-hints = false
register-super-globals = true
