Skip to content

Commit 86802f8

Browse files
committed
fix: raise minimum Elixir to 1.19, use PCRE2-standard \p{Xan}
The dependency chain (ex_ast via reach) already requires Elixir ~> 1.19, so the advertised ~> 1.16 was wrong; the CI matrix now tests 1.19/OTP 26 and 1.20/OTP 27. is_alphanumeric used \p{Alphabetic}, which PCRE2 only gained in recent OTP releases and failed to compile on OTP 27; \p{Xan} is the long-standing standard property for letters and numbers.
1 parent baaae7a commit 86802f8

3 files changed

Lines changed: 5 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
include:
18-
- elixir: "1.16"
18+
- elixir: "1.19"
1919
otp: "26"
20-
- elixir: "1.18"
20+
- elixir: "1.20"
2121
otp: "27"
2222
steps:
2323
- uses: actions/checkout@v4
@@ -56,7 +56,7 @@ jobs:
5656

5757
- uses: erlef/setup-beam@v1
5858
with:
59-
elixir-version: "1.18"
59+
elixir-version: "1.20"
6060
otp-version: "27"
6161

6262
- uses: actions/cache@v4

lib/lovely_mermaid/labels.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ defmodule LovelyMermaid.Labels do
9292

9393
@doc "Matches Rust's `char::is_alphanumeric`."
9494
@spec is_alphanumeric(String.t()) :: boolean()
95-
def is_alphanumeric(c), do: String.match?(c, ~r/[\p{Alphabetic}\p{N}]/u)
95+
def is_alphanumeric(c), do: String.match?(c, ~r/[\p{Xan}]/u)
9696

9797
@doc "Characters allowed in a bare node/state/class identifier."
9898
@spec is_id_char(String.t()) :: boolean()

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ defmodule LovelyMermaid.MixProject do
88
[
99
app: :lovely_mermaid,
1010
version: @version,
11-
elixir: "~> 1.16",
11+
elixir: "~> 1.19",
1212
start_permanent: Mix.env() == :prod,
1313
deps: deps(),
1414
aliases: aliases(),

0 commit comments

Comments
 (0)