aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdvard Thörnros <edvard.thornros@gmail.com>2021-02-05 21:01:07 +0100
committerGitHub <noreply@github.com>2021-02-05 21:01:07 +0100
commit3b8eec0cbb5d7355c6d4aaa89d53ee981aa9fba0 (patch)
treeee98c5b6904368267e63ee318e43f7be1c0659ff
parenta82faea38dd3aefe9ae5634a0971dcc18d36bea4 (diff)
parenta63e763058973d838f8b7346d2c1e37dcce7abc8 (diff)
downloadsylt-3b8eec0cbb5d7355c6d4aaa89d53ee981aa9fba0.tar.gz
Merge pull request #50 from FredTheDino/newline-fix
newline fix
-rw-r--r--src/lib.rs6
-rw-r--r--src/tokenizer.rs8
2 files changed, 10 insertions, 4 deletions
diff --git a/src/lib.rs b/src/lib.rs
index c1280b3..cfbbe50 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -999,4 +999,10 @@ a.a <=> 1
a.a -= 1
a.a <=> 0"
);
+
+ test_multiple!(
+ newline_regression,
+ simple: "a := 1 // blargh \na += 1 // blargh \n a <=> 2 // HARGH",
+ expressions: "1 + 1 // blargh \n 2 // blargh \n // HARGH \n",
+ );
}
diff --git a/src/tokenizer.rs b/src/tokenizer.rs
index 28172a3..9574af1 100644
--- a/src/tokenizer.rs
+++ b/src/tokenizer.rs
@@ -123,7 +123,7 @@ pub enum Token {
#[token("\n")]
Newline,
- #[regex(r"//[^\n]*\n", logos::skip)]
+ #[regex(r"//[^\n]*", logos::skip)]
Comment,
#[regex(r"[ \t\r]", logos::skip)]
@@ -229,8 +229,8 @@ mod tests {
#[test]
fn comment() {
- lex_once("// a\n1");
- assert_eq!(lex("1// a\n2").len(), 2);
- assert_eq!(lex("1\n// a\n2").len(), 3); // newline is also a token
+ assert_eq!(lex("// a\n1").len(), 2);
+ assert_eq!(lex("1// a\n2").len(), 3);
+ assert_eq!(lex("1\n// a\n2").len(), 4); // newline is also a token
}
}