diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9fff1b966f9afc0bc529d0fecfa0a1b4dc625b52..dd0ee0e2a9719f69b45298601467f7955531b452 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -38,7 +38,7 @@ Before submitting a PR, ensure that you've run your tests locally and that they pass. This can be done by running the following two commands: ```sh -cargo +nightly test --lib && bash examples/run_examples/sh +cargo +nightly test --lib && bash examples/run_examples.sh ``` ## Format your code diff --git a/examples/strings.ion b/examples/strings.ion index 38b67f12632ed713ade7209124aa4e0ba0dc46fc..58296da4c9d6ffed86a5fde296fe9486ec63f87c 100644 --- a/examples/strings.ion +++ b/examples/strings.ion @@ -6,3 +6,15 @@ echo "\$hello" echo "\\" echo "\n" echo "\"" +echo "<" +echo '<' +echo "<<" +echo '<<' +echo "<<<" +echo '<<<' +echo ">" +echo '>' +echo ">>" +echo '>>' +echo ">>>" +echo '>>>' diff --git a/examples/strings.out b/examples/strings.out index 73d0371384d884f3f490a10671a508b7294cbc8e..4ea65b278fa6e51684c16e3ae7d93e40d832df20 100644 --- a/examples/strings.out +++ b/examples/strings.out @@ -6,3 +6,15 @@ $hello \ \n " +< +< +<< +<< +<<< +<<< +> +> +>> +>> +>>> +>>> diff --git a/src/lib/parser/quotes.rs b/src/lib/parser/quotes.rs index efb2d299478f64aec231932f2f4a824c32025653..1f2690f59ae70447f2b17fec3a903b753e08e590 100644 --- a/src/lib/parser/quotes.rs +++ b/src/lib/parser/quotes.rs @@ -64,7 +64,7 @@ impl Terminator { b'"' if !self.flags.intersects(Flags::SQUOTE) => { self.flags ^= Flags::DQUOTE } - b'<' if !self.flags.contains(Flags::SQUOTE | Flags::DQUOTE) => { + b'<' if !self.flags.intersects(Flags::SQUOTE | Flags::DQUOTE) => { let as_bytes = self.buffer.as_bytes(); if Some(&b'<') == as_bytes.get(self.read) { self.read += 1;