# EditorConfig for FexViewer SDK example
# Demonstration application, not a production localized library

root = true

[*.cs]
# Localisation requirements (CA1303) - SDK examples don't ship resource tables
dotnet_diagnostic.CA1303.severity = none

# Culture-specific string operations - SDK examples use invariant culture by default
dotnet_diagnostic.CA1304.severity = suggestion
dotnet_diagnostic.CA1305.severity = suggestion
dotnet_diagnostic.CA1307.severity = suggestion
dotnet_diagnostic.CA1308.severity = suggestion
dotnet_diagnostic.CA1309.severity = suggestion
dotnet_diagnostic.CA1310.severity = suggestion

# CA2007 ConfigureAwait — this is a console app, not a library
dotnet_diagnostic.CA2007.severity = none

# CA5393 ApplicationDirectory DLL search — correct for a standalone SDK example
dotnet_diagnostic.CA5393.severity = none

# CA1002 List<T> in public APIs — example, not a library
dotnet_diagnostic.CA1002.severity = suggestion

# CA1031 catch general — used in cleanup/finally and per-record extract failures
dotnet_diagnostic.CA1031.severity = suggestion

# CA1806 ignore method results — applies to FreeAllocatedBuffer in finally
dotnet_diagnostic.CA1806.severity = suggestion

# CA2101 string marshaling — explicit MarshalAs is used where it matters
dotnet_diagnostic.CA2101.severity = suggestion

# CA1845 span-based Substring — micro-optimisation not worth the readability cost in an example
dotnet_diagnostic.CA1845.severity = suggestion

# CA1859 concrete types over interfaces — micro-optimisation
dotnet_diagnostic.CA1859.severity = suggestion

# CA1869 cache JsonSerializerOptions — micro-optimisation in low-frequency CLI commands
dotnet_diagnostic.CA1869.severity = suggestion

# CA1707 underscores in identifiers — FILESTATUS_* mirrors the Pascal/C SDK constants
dotnet_diagnostic.CA1707.severity = none

# CA2227 collection setters — required for JSON deserialization in manifest model
dotnet_diagnostic.CA2227.severity = suggestion
