iarna / iarna-toml

Better TOML parsing and stringifying all in that familiar JSON interface.
ISC License
320 stars 43 forks source link

fix: support CRLF line endings in comments #57

Open AlexTMjugador opened 5 months ago

AlexTMjugador commented 5 months ago

The TOML v1.0.0 spec explicitly states that newlines are marked by either LF or CRLF sequences, and that comments are to be ended by newlines. Thus, it follows that the control characters used for newline sequences are in accordance to the specification.

These changes introduce support for CRLF line endings in comments by peeking if a CR is followed by a LF during comment parsing. If that's the case, no unexpected control character error is thrown. I've tested these changes to work fine with both LF and CRLF files. I also tested spec conformance by introducing a stray CR in the middle of a comment line, which still causes a control character error to be thrown, as expected.

Fixes: #33