Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
gleam 1.6.3
gleam 1.7.0
erlang 27.2.1
rebar 3.24.0
nodejs 22.13.1
Expand Down
53 changes: 26 additions & 27 deletions demo/manifest.toml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions gleam.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ repo = "gleam-commonmark"
[dependencies]
gleam_stdlib = ">= 0.34.0 and < 2.0.0"
worm = ">= 1.0.5 and < 2.0.0"
gleam_regexp = ">= 1.0.0 and < 2.0.0"

[dev-dependencies]
birdie = ">= 1.1.6 and < 2.0.0"
Expand Down
37 changes: 20 additions & 17 deletions manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,40 @@
packages = [
{ name = "argv", version = "1.0.2", build_tools = ["gleam"], requirements = [], otp_app = "argv", source = "hex", outer_checksum = "BA1FF0929525DEBA1CE67256E5ADF77A7CDDFE729E3E3F57A5BDCAA031DED09D" },
{ name = "bigben", version = "1.0.0", build_tools = ["gleam"], requirements = ["birl", "gleam_erlang", "gleam_otp", "gleam_stdlib"], otp_app = "bigben", source = "hex", outer_checksum = "8E5A98FA6E981EEEF016C40F1CDFADA095927CAF6CAAA0C7E295EED02FC95947" },
{ name = "birdie", version = "1.2.3", build_tools = ["gleam"], requirements = ["argv", "edit_distance", "filepath", "glance", "gleam_community_ansi", "gleam_erlang", "gleam_stdlib", "justin", "rank", "simplifile", "trie_again"], otp_app = "birdie", source = "hex", outer_checksum = "AE1207210E9CC8F4170BCE3FB3C23932F314C352C3FD1BCEA44CF4BF8CF60F93" },
{ name = "birl", version = "1.7.1", build_tools = ["gleam"], requirements = ["gleam_stdlib", "ranger"], otp_app = "birl", source = "hex", outer_checksum = "5C66647D62BCB11FE327E7A6024907C4A17954EF22865FE0940B54A852446D01" },
{ name = "birdie", version = "1.2.5", build_tools = ["gleam"], requirements = ["argv", "edit_distance", "filepath", "glance", "gleam_community_ansi", "gleam_erlang", "gleam_stdlib", "justin", "rank", "simplifile", "trie_again"], otp_app = "birdie", source = "hex", outer_checksum = "2531AD6AC71C89DFB7ECC8839C3DAB858963ECA425E9308302D3B93B8AE0FEAD" },
{ name = "birl", version = "1.8.0", build_tools = ["gleam"], requirements = ["gleam_regexp", "gleam_stdlib", "ranger"], otp_app = "birl", source = "hex", outer_checksum = "2AC7BA26F998E3DFADDB657148BD5DDFE966958AD4D6D6957DD0D22E5B56C400" },
{ name = "edit_distance", version = "2.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "edit_distance", source = "hex", outer_checksum = "A1E485C69A70210223E46E63985FA1008B8B2DDA9848B7897469171B29020C05" },
{ name = "exception", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "exception", source = "hex", outer_checksum = "F5580D584F16A20B7FCDCABF9E9BE9A2C1F6AC4F9176FA6DD0B63E3B20D450AA" },
{ name = "filepath", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "filepath", source = "hex", outer_checksum = "EFB6FF65C98B2A16378ABC3EE2B14124168C0CE5201553DE652E2644DCFDB594" },
{ name = "filepath", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "filepath", source = "hex", outer_checksum = "67A6D15FB39EEB69DD31F8C145BB5A421790581BD6AA14B33D64D5A55DBD6587" },
{ name = "glam", version = "2.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "glam", source = "hex", outer_checksum = "66EC3BCD632E51EED029678F8DF419659C1E57B1A93D874C5131FE220DFAD2B2" },
{ name = "glance", version = "0.11.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "glexer"], otp_app = "glance", source = "hex", outer_checksum = "8F3314D27773B7C3B9FB58D8C02C634290422CE531988C0394FA0DF8676B964D" },
{ name = "gleam_community_ansi", version = "1.4.1", build_tools = ["gleam"], requirements = ["gleam_community_colour", "gleam_stdlib"], otp_app = "gleam_community_ansi", source = "hex", outer_checksum = "4CD513FC62523053E62ED7BAC2F36136EC17D6A8942728250A9A00A15E340E4B" },
{ name = "gleam_community_colour", version = "1.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_community_colour", source = "hex", outer_checksum = "A49A5E3AE8B637A5ACBA80ECB9B1AFE89FD3D5351FF6410A42B84F666D40D7D5" },
{ name = "gleam_erlang", version = "0.27.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "DE468F676D71B313C6C8C5334425CFCF827837333F8AB47B64D8A6D7AA40185D" },
{ name = "glance", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "glexer"], otp_app = "glance", source = "hex", outer_checksum = "784CE3B5658CF589B2E811031992FDADDFA9C7FD2A51F1140EE019F121D6D0EB" },
{ name = "gleam_community_ansi", version = "1.4.2", build_tools = ["gleam"], requirements = ["gleam_community_colour", "gleam_regexp", "gleam_stdlib"], otp_app = "gleam_community_ansi", source = "hex", outer_checksum = "479DEDC748D08B310C9FEB9C4CBEC46B95C874F7F4F2844304D6D20CA78A8BB5" },
{ name = "gleam_community_colour", version = "1.4.1", build_tools = ["gleam"], requirements = ["gleam_json", "gleam_stdlib"], otp_app = "gleam_community_colour", source = "hex", outer_checksum = "386CB9B01B33371538672EEA8A6375A0A0ADEF41F17C86DDCB81C92AD00DA610" },
{ name = "gleam_erlang", version = "0.33.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "A1D26B80F01901B59AABEE3475DD4C18D27D58FA5C897D922FCB9B099749C064" },
{ name = "gleam_javascript", version = "0.13.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_javascript", source = "hex", outer_checksum = "F98328FCF573DA6F3A35D7F6CB3F9FF19FD5224CCBA9151FCBEAA0B983AF2F58" },
{ name = "gleam_json", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "CB10B0E7BF44282FB25162F1A24C1A025F6B93E777CCF238C4017E4EEF2CDE97" },
{ name = "gleam_otp", version = "0.12.1", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_stdlib"], otp_app = "gleam_otp", source = "hex", outer_checksum = "BFACC1513410DF5A1617169A9CD7EA334973AC71D860A17574BA7B2EADD89A6F" },
{ name = "gleam_stdlib", version = "0.40.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "86606B75A600BBD05E539EB59FABC6E307EEEA7B1E5865AFB6D980A93BCB2181" },
{ name = "glexer", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "glexer", source = "hex", outer_checksum = "BD477AD657C2B637FEF75F2405FAEFFA533F277A74EF1A5E17B55B1178C228FB" },
{ name = "glint", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_community_ansi", "gleam_community_colour", "gleam_stdlib", "snag"], otp_app = "glint", source = "hex", outer_checksum = "369C8A289017F73581D6B9FE2F5748169EB6FA021FFAA34FA7A49EE2094C73B3" },
{ name = "gleam_json", version = "2.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "C55C5C2B318533A8072D221C5E06E5A75711C129E420DD1CE463342106012E5D" },
{ name = "gleam_otp", version = "0.16.1", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_stdlib"], otp_app = "gleam_otp", source = "hex", outer_checksum = "50DA1539FC8E8FA09924EB36A67A2BBB0AD6B27BCDED5A7EF627057CF69D035E" },
{ name = "gleam_regexp", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_regexp", source = "hex", outer_checksum = "A3655FDD288571E90EE9C4009B719FEF59FA16AFCDF3952A76A125AF23CF1592" },
{ name = "gleam_stdlib", version = "0.53.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "53F3E1E56F692C20FA3E0A23650AC46592464E40D8EF3EC7F364FB328E73CDF5" },
{ name = "gleam_yielder", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_yielder", source = "hex", outer_checksum = "8E4E4ECFA7982859F430C57F549200C7749823C106759F4A19A78AEA6687717A" },
{ name = "glexer", version = "2.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "glexer", source = "hex", outer_checksum = "F74FB4F78C3C1E158DF15A7226F33A662672F58EEF1DFE6593B7FCDA38B0A0EB" },
{ name = "glint", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_community_ansi", "gleam_community_colour", "gleam_stdlib", "snag"], otp_app = "glint", source = "hex", outer_checksum = "EA4B47B5A6147CA524AE81862EE1BE1C5A194757B26897233BD26BD3F7A54930" },
{ name = "justin", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "justin", source = "hex", outer_checksum = "7FA0C6DB78640C6DC5FBFD59BF3456009F3F8B485BF6825E97E1EB44E9A1E2CD" },
{ name = "pprint", version = "1.0.3", build_tools = ["gleam"], requirements = ["glam", "gleam_stdlib"], otp_app = "pprint", source = "hex", outer_checksum = "76BBB92E23D12D954BD452686543F29EDE8EBEBB7FC0ACCBCA66EEF276EC3A06" },
{ name = "ranger", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "ranger", source = "hex", outer_checksum = "1566C272B1D141B3BBA38B25CB761EF56E312E79EC0E2DFD4D3C19FB0CC1F98C" },
{ name = "pprint", version = "1.0.4", build_tools = ["gleam"], requirements = ["glam", "gleam_stdlib"], otp_app = "pprint", source = "hex", outer_checksum = "C310A98BDC0995644847C3C8702DE19656D6BCD638B2A8A358B97824379ECAA1" },
{ name = "ranger", version = "1.4.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "gleam_yielder"], otp_app = "ranger", source = "hex", outer_checksum = "C8988E8F8CDBD3E7F4D8F2E663EF76490390899C2B2885A6432E942495B3E854" },
{ name = "rank", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "rank", source = "hex", outer_checksum = "5660E361F0E49CBB714CC57CC4C89C63415D8986F05B2DA0C719D5642FAD91C9" },
{ name = "simplifile", version = "2.2.0", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "0DFABEF7DC7A9E2FF4BB27B108034E60C81BEBFCB7AB816B9E7E18ED4503ACD8" },
{ name = "snag", version = "0.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "snag", source = "hex", outer_checksum = "54D32E16E33655346AA3E66CBA7E191DE0A8793D2C05284E3EFB90AD2CE92BCC" },
{ name = "startest", version = "0.5.0", build_tools = ["gleam"], requirements = ["argv", "bigben", "birl", "exception", "gleam_community_ansi", "gleam_erlang", "gleam_javascript", "gleam_stdlib", "glint", "simplifile", "tom"], otp_app = "startest", source = "hex", outer_checksum = "7A4BE0A1674D1DEB421B0BEB1E90B1A9C4AB21D954CF1754C0E28EA6B5DBE785" },
{ name = "tom", version = "0.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "tom", source = "hex", outer_checksum = "0831C73E45405A2153091226BF98FB485ED16376988602CC01A5FD086B82D577" },
{ name = "snag", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "snag", source = "hex", outer_checksum = "7E9F06390040EB5FAB392CE642771484136F2EC103A92AE11BA898C8167E6E17" },
{ name = "startest", version = "0.6.0", build_tools = ["gleam"], requirements = ["argv", "bigben", "birl", "exception", "gleam_community_ansi", "gleam_erlang", "gleam_javascript", "gleam_regexp", "gleam_stdlib", "glint", "simplifile", "tom"], otp_app = "startest", source = "hex", outer_checksum = "58BFAB468D588D83720A678138EAF47B3F8F84CE19910EAFFB2FC5D0F48F046A" },
{ name = "tom", version = "1.1.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "tom", source = "hex", outer_checksum = "0910EE688A713994515ACAF1F486A4F05752E585B9E3209D8F35A85B234C2719" },
{ name = "trie_again", version = "1.1.2", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "trie_again", source = "hex", outer_checksum = "5B19176F52B1BD98831B57FDC97BD1F88C8A403D6D8C63471407E78598E27184" },
{ name = "worm", version = "1.0.5", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "worm", source = "hex", outer_checksum = "0494AFED41D5BEC9B558F26B9D101249980D4D81DB72DB949D42B3BEFE415A47" },
]

[requirements]
birdie = { version = ">= 1.1.6 and < 2.0.0" }
gleam_json = { version = ">= 1.0.1 and < 3.0.0" }
gleam_regexp = { version = ">= 1.0.0 and < 2.0.0" }
gleam_stdlib = { version = ">= 0.34.0 and < 2.0.0" }
pprint = { version = ">= 1.0.3 and < 2.0.0" }
simplifile = { version = ">= 2.0.0 and < 3.0.0" }
Expand Down
4 changes: 2 additions & 2 deletions src/commonmark.gleam
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import commonmark/ast
import commonmark/internal/definitions.{insecure_codepoints, replacement_char}
import commonmark/internal/parser/block.{parse_document}
import gleam/list
import gleam/regex
import gleam/regexp
import gleam/result
import gleam/string

Expand All @@ -37,6 +37,6 @@ pub fn parse(document: String) -> ast.Document {
|> result.map(string.replace(_, in: d, with: replacement_string))
|> result.unwrap(d)
})
|> regex.split(with: line_splitter)
|> regexp.split(with: line_splitter)
|> parse_document
}
58 changes: 29 additions & 29 deletions src/commonmark/internal/definitions.gleam
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

import gleam/regex.{type Regex}
import gleam/regexp.{type Regexp}
import worm

pub const replacement_char = 0xfffd
Expand All @@ -17,20 +17,20 @@ pub const ascii_punctuation = [

pub type ParserRegexes {
ParserRegexes(
atx_header: Regex,
block_quote: Regex,
code_span_unwrap: Regex,
dec_entity: Regex,
email: Regex,
fenced_code_start: Regex,
hex_entity: Regex,
hr: Regex,
indented_code: Regex,
line_splitter: Regex,
ol: Regex,
setext_header: Regex,
ul: Regex,
uri: Regex,
atx_header: Regexp,
block_quote: Regexp,
code_span_unwrap: Regexp,
dec_entity: Regexp,
email: Regexp,
fenced_code_start: Regexp,
hex_entity: Regexp,
hr: Regexp,
indented_code: Regexp,
line_splitter: Regexp,
ol: Regexp,
setext_header: Regexp,
ul: Regexp,
uri: Regexp,
)
}

Expand All @@ -44,27 +44,27 @@ pub fn get_parser_regexes() -> ParserRegexes {
let #(fenced_code_start_regex_str, hr_regex_str) = get_target_regexes()

let assert Ok(atx_header) =
regex.from_string("^ {0,3}(#{1,6})([ \t]+.*?)?(?:(?<=[ \t])#*)?[ \t]*$")
let assert Ok(block_quote) = regex.from_string("^ {0,3}> ?(.*)$")
let assert Ok(code_span_unwrap) = regex.from_string("^ (.*) $")
let assert Ok(dec_entity) = regex.from_string("^#([0-9]{1,7});")
regexp.from_string("^ {0,3}(#{1,6})([ \t]+.*?)?(?:(?<=[ \t])#*)?[ \t]*$")
let assert Ok(block_quote) = regexp.from_string("^ {0,3}> ?(.*)$")
let assert Ok(code_span_unwrap) = regexp.from_string("^ (.*) $")
let assert Ok(dec_entity) = regexp.from_string("^#([0-9]{1,7});")
// Borrowed direct from the spec
let assert Ok(email) =
regex.from_string(
regexp.from_string(
"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$",
)
let assert Ok(fenced_code_start) =
regex.from_string(fenced_code_start_regex_str)
let assert Ok(hex_entity) = regex.from_string("^#([xX]([0-9a-fA-F]{1,6}));")
let assert Ok(hr) = regex.from_string(hr_regex_str)
regexp.from_string(fenced_code_start_regex_str)
let assert Ok(hex_entity) = regexp.from_string("^#([xX]([0-9a-fA-F]{1,6}));")
let assert Ok(hr) = regexp.from_string(hr_regex_str)
let assert Ok(indented_code) =
regex.from_string("^(?: {0,3}\t| )|^[ \t]*$")
let assert Ok(line_splitter) = regex.from_string("\r?\n|\r\n?")
regexp.from_string("^(?: {0,3}\t| )|^[ \t]*$")
let assert Ok(line_splitter) = regexp.from_string("\r?\n|\r\n?")
let assert Ok(ol) =
regex.from_string("^( {0,3})([0-9]{1,9})([.)])(?:( {1,4})(.*))?$")
let assert Ok(setext_header) = regex.from_string("^ {0,3}([-=])+[ \t]*$")
let assert Ok(ul) = regex.from_string("^( {0,3})([-*+])(?:( {1,4})(.*))?$")
let assert Ok(uri) = regex.from_string("^[a-zA-Z][-a-zA-Z+.]{1,31}:[^ \t]+$")
regexp.from_string("^( {0,3})([0-9]{1,9})([.)])(?:( {1,4})(.*))?$")
let assert Ok(setext_header) = regexp.from_string("^ {0,3}([-=])+[ \t]*$")
let assert Ok(ul) = regexp.from_string("^( {0,3})([-*+])(?:( {1,4})(.*))?$")
let assert Ok(uri) = regexp.from_string("^[a-zA-Z][-a-zA-Z+.]{1,31}:[^ \t]+$")

ParserRegexes(
atx_header,
Expand Down
14 changes: 7 additions & 7 deletions src/commonmark/internal/parser/block.gleam
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import gleam/int
import gleam/list
import gleam/option.{type Option, None, Some}
import gleam/pair
import gleam/regex.{Match}
import gleam/regexp.{Match}
import gleam/result
import gleam/string

Expand Down Expand Up @@ -138,9 +138,9 @@ fn parse_block_state(
/// Returns the list of submatches only.
fn apply_regex(
line: String,
with regex: regex.Regex,
with regex: regexp.Regexp,
) -> Result(List(Option(String)), Nil) {
case regex.scan(line, with: regex) {
case regexp.scan(line, with: regex) {
[Match(_, submatches)] -> Ok(submatches)
_ -> Error(Nil)
}
Expand Down Expand Up @@ -169,7 +169,7 @@ fn do_parse_blocks(
) = pr
let assert Ok(fenced_code_regex) = case state {
FencedCodeBlockBuilder(break, _, _, _, _) ->
regex.from_string("^ {0,3}" <> break <> "+[ \t]*$")
regexp.from_string("^ {0,3}" <> break <> "+[ \t]*$")
_ -> Ok(fenced_code_start_regex)
}
let l = list.first(lines)
Expand Down Expand Up @@ -197,16 +197,16 @@ fn do_parse_blocks(
let is_ul = result.is_ok(ul_results)

let is_hr =
l |> result.map(regex.check(_, with: hr_regex)) |> result.unwrap(False)
l |> result.map(regexp.check(_, with: hr_regex)) |> result.unwrap(False)
let is_indented_code_block =
l
|> result.map(regex.check(_, with: valid_indented_code_regex))
|> result.map(regexp.check(_, with: valid_indented_code_regex))
|> result.unwrap(False)
let is_list_continuation = case state {
UnorderedListBuilder(_, _, _, _, indent)
| OrderedListBuilder(_, _, _, _, _, indent) -> {
let assert Ok(indent_pattern) =
regex.from_string("^" <> indent_pattern(indent) <> "|^[ \t]*$")
regexp.from_string("^" <> indent_pattern(indent) <> "|^[ \t]*$")

l |> result.try(apply_regex(_, with: indent_pattern)) |> result.is_ok
}
Expand Down
17 changes: 10 additions & 7 deletions src/commonmark/internal/parser/inline.gleam
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import commonmark/internal/parser/entity
import gleam/int
import gleam/list
import gleam/option.{type Option, None, Some}
import gleam/regex.{Match}
import gleam/regexp.{Match}
import gleam/result
import gleam/string

Expand Down Expand Up @@ -182,13 +182,16 @@ fn match_entity(
) = definitions.get_parser_regexes()
let potential = list.take(input, 9) |> string.join("")

case regex.scan(dec_entity, potential), regex.scan(hex_entity, potential) {
[regex.Match(full, [Some(n)])], _ ->
case
regexp.scan(dec_entity, potential),
regexp.scan(hex_entity, potential)
{
[regexp.Match(full, [Some(n)])], _ ->
n
|> int.parse
|> translate_numerical_entity(list.drop(input, string.length(full)))
|> result.map(fn(r) { #(r.0, n, r.1) })
_, [regex.Match(full, [Some(m), Some(n)])] ->
_, [regexp.Match(full, [Some(m), Some(n)])] ->
n
|> int.base_parse(16)
|> translate_numerical_entity(list.drop(input, string.length(full)))
Expand Down Expand Up @@ -272,7 +275,7 @@ fn parse_autolink(href: List(InlineWrapper)) -> Result(InlineWrapper, Nil) {
definitions.get_parser_regexes()
let href_str = list_to_string(href)

case regex.check(email_regex, href_str), regex.check(uri_regex, href_str) {
case regexp.check(email_regex, href_str), regexp.check(uri_regex, href_str) {
True, _ -> Ok(EmailAutolink(href))
_, True -> Ok(UriAutolink(href))
False, False -> Error(Nil)
Expand Down Expand Up @@ -666,7 +669,7 @@ fn do_late_binding(wrapped: List(InlineWrapper), acc: List(InlineWrapper)) {
if n > 0
-> {
let #(prefix, acc) = parse_emphasis(str, acc)
do_late_binding(list.concat([prefix, xs]), acc)
do_late_binding(list.append(prefix, xs), acc)
}
[x, ..xs] -> do_late_binding(xs, [x, ..acc])
}
Expand Down Expand Up @@ -696,7 +699,7 @@ fn do_parse_inline_ast(
definitions.get_parser_regexes()
let c = contents |> list_to_string |> string.replace("\n", " ")

case regex.scan(r, c) {
case regexp.scan(r, c) {
[Match(_, [Some(span)])] ->
do_parse_inline_ast(ws, [ast.CodeSpan(span), ..acc])
_ -> do_parse_inline_ast(ws, [ast.CodeSpan(c), ..acc])
Expand Down
Loading
Loading