charset / error
EL1001
charset.bom
Applies to: all (warning for delimited)
What it catches and why it matters
File starts with a byte order mark. An error for X12, HL7v2 and fixed-width, where a BOM before ISA or MSH shifts every fixed position in the file; a warning for delimited, because spreadsheet exports emit one routinely and most CSV readers cope.
Failing example
These synthetic fragments illustrate the defect; they are not complete interchange files. Backslash escapes name bytes such as \r (CR) and \n (LF).
\xEF\xBB\xBFISA*00*...
How to fix it
Remove the byte order mark at the start of the file. Preview edilint fix before using --write; fix removes a UTF-8 BOM.
False positives and limits
Some delimited-file consumers accept a BOM from spreadsheet exports, so this rule is a warning for that format. Confirm the receiver's encoding contract before suppressing it.
Acknowledgments and suppression
No direct acknowledgment code is mapped for this rule. Suppress the rule with --disable EL1001, or list it under "disable" in .edilint.yml. To accept the occurrences a file already has without suppressing the rule, record them with --write-baseline and run with --baseline. Reference: https://crb2nu.github.io/edilint/rules/EL1001.html