+7
-7
birdie_snapshots/highlight_comments_ansi.accepted
+7
-7
birdie_snapshots/highlight_comments_ansi.accepted
···
14
14
---
15
15
16
16
[0m
17
-
[0m[3m[90m%%% This a comment for the entire module[39m[23m[0m
18
-
19
-
[0m[3m[90m%% This is a doc comment for the main function[39m[23m[0m
20
-
[0m[34mmain[39m[0m([0m[0m)[0m[0m [0m[0m->[0m[0m
21
-
[0m[3m[90m% A comment within a function[39m[23m[0m
22
-
[0m[32mnil[39m[0m.[0m[0m [0m[3m[90m% This one is after the line[39m[23m[0m
23
-
[0m
17
+
[0m[3m[90m%%% This a comment for the entire module
18
+
[39m[23m[0m
19
+
[0m[3m[90m%% This is a doc comment for the main function
20
+
[39m[23m[34mmain[39m[0m([0m[0m)[0m[0m [0m[0m->[0m[0m
21
+
[0m[3m[90m% A comment within a function
22
+
[39m[23m[0m [0m[32mnil[39m[0m.[0m[0m [0m[3m[90m% This one is after the line
23
+
[39m[23m
+1
-1
manifest.toml
+1
-1
manifest.toml
···
18
18
{ name = "justin", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "justin", source = "hex", outer_checksum = "7FA0C6DB78640C6DC5FBFD59BF3456009F3F8B485BF6825E97E1EB44E9A1E2CD" },
19
19
{ name = "rank", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "rank", source = "hex", outer_checksum = "5660E361F0E49CBB714CC57CC4C89C63415D8986F05B2DA0C719D5642FAD91C9" },
20
20
{ name = "simplifile", version = "2.3.0", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "0A868DAC6063D9E983477981839810DC2E553285AB4588B87E3E9C96A7FB4CB4" },
21
-
{ name = "splitter", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "splitter", source = "hex", outer_checksum = "128FC521EE33B0012E3E64D5B55168586BC1B9C8D7B0D0CA223B68B0D770A547" },
21
+
{ name = "splitter", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "splitter", source = "hex", outer_checksum = "05564A381580395DCDEFF4F88A64B021E8DAFA6540AE99B4623962F52976AA9D" },
22
22
{ name = "term_size", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "term_size", source = "hex", outer_checksum = "D00BD2BC8FB3EBB7E6AE076F3F1FF2AC9D5ED1805F004D0896C784D06C6645F1" },
23
23
{ name = "trie_again", version = "1.1.3", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "trie_again", source = "hex", outer_checksum = "365FE609649F3A098D1D7FC7EA5222EE422F0B3745587BF2AB03352357CA70BB" },
24
24
]
+9
-10
src/pearl.gleam
+9
-10
src/pearl.gleam
···
628
628
| "^_" as sequence <> source
629
629
| "^?" as sequence <> source -> #(advance(lexer, source), sequence)
630
630
631
-
"x{" <> source -> lex_brace_escape_sequence(advance(lexer, source))
631
+
"x{" <> _source -> lex_brace_escape_sequence(lexer)
632
632
"x" <> source -> lex_hex_escape_sequence(advance(lexer, source))
633
633
634
634
"0" as char <> source
···
714
714
}
715
715
716
716
fn lex_brace_escape_sequence(lexer: Lexer) -> #(Lexer, String) {
717
-
case splitter.split(lexer.splitters.brace_escape_sequence, lexer.source) {
718
-
#(before, "}", after) -> #(advance(lexer, after), "x{" <> before <> "}")
719
-
#(before, separator, after) -> #(
720
-
advance(error(lexer, UnterminatedEscapeSequence), separator <> after),
721
-
"x{" <> before,
722
-
)
717
+
case
718
+
splitter.split_after(lexer.splitters.brace_escape_sequence, lexer.source)
719
+
{
720
+
#(before, "") -> #(error(lexer, UnterminatedEscapeSequence), before)
721
+
#(before, after) -> #(advance(lexer, after), before)
723
722
}
724
723
}
725
724
···
1300
1299
}
1301
1300
1302
1301
fn lex_until_end_of_line(lexer: Lexer) -> #(Lexer, String) {
1303
-
let #(before, split, after) =
1304
-
splitter.split(lexer.splitters.until_end_of_line, lexer.source)
1305
-
#(advance(lexer, split <> after), before)
1302
+
let #(before, after) =
1303
+
splitter.split_after(lexer.splitters.until_end_of_line, lexer.source)
1304
+
#(advance(lexer, after), before)
1306
1305
}
1307
1306
1308
1307
fn lex_whitespace(lexer: Lexer, lexed: String) -> #(Lexer, Token) {
+1
-4
test/pearl_test.gleam
+1
-4
test/pearl_test.gleam
···
221
221
222
222
pub fn unterminated_escape_sequence3_test() {
223
223
let src = "\"\\x{123\""
224
-
assert_errors(src, [
225
-
pearl.UnterminatedEscapeSequence,
226
-
pearl.UnterminatedStringLiteral,
227
-
])
224
+
assert_errors(src, [pearl.UnterminatedEscapeSequence])
228
225
}
229
226
230
227
pub fn unterminated_escape_sequence4_test() {