diff --git a/CHANGELOG.md b/CHANGELOG.md index cc1249a..5666057 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased](https://github.com/dalance/sv-parser/compare/v0.3.4...Unreleased) - ReleaseDate +* [Added] LF/CR+LF support + ## [v0.3.4](https://github.com/dalance/sv-parser/compare/v0.3.3...v0.3.4) - 2019-11-05 * [Fixed] define with string literal diff --git a/sv-parser-parser/src/general/compiler_directives.rs b/sv-parser-parser/src/general/compiler_directives.rs index 572eb78..fdfdd9e 100644 --- a/sv-parser-parser/src/general/compiler_directives.rs +++ b/sv-parser-parser/src/general/compiler_directives.rs @@ -204,7 +204,13 @@ pub(crate) fn text_macro_identifier_exact(s: Span) -> IResult IResult { - let (s, a) = many1(alt((tag("\\\n"), tag("\\"), is_not("\\\n"))))(s)?; + let (s, a) = many1(alt(( + tag("\\\n"), + tag("\\\r\n"), + tag("\\\r"), + tag("\\"), + is_not("\\\r\n"), + )))(s)?; let mut ret = None; for x in a { diff --git a/sv-parser-pp/src/preprocess.rs b/sv-parser-pp/src/preprocess.rs index 55394e7..a821bd3 100644 --- a/sv-parser-pp/src/preprocess.rs +++ b/sv-parser-pp/src/preprocess.rs @@ -437,7 +437,9 @@ fn resolve_text_macro_usage, U: AsRef>( .replace("``", "") .replace("`\\`\"", "\\\"") .replace("`\"", "\"") - .replace("\\\n", ""), + .replace("\\\n", "") + .replace("\\\r\n", "") + .replace("\\\r", ""), ); } }