Skip to content

Remove makeup_syntect#179

Merged
ericmj merged 1 commit into
mainfrom
remove-makeup-syntect
Jun 4, 2026
Merged

Remove makeup_syntect#179
ericmj merged 1 commit into
mainfrom
remove-makeup-syntect

Conversation

@ericmj
Copy link
Copy Markdown
Member

@ericmj ericmj commented Jun 4, 2026

makeup_syntect highlights via a Rust NIF that cannot be interrupted. Diff highlights each line synchronously during render, so a single crafted line (e.g. a minified, deeply-nested JSON blob) made the NIF allocate gigabytes before returning, OOM-ing the pod with no timeout able to bound it.

The remaining makeup lexers (Elixir, Erlang, Gleam) are pure Elixir, and files in formats only syntect covered now render as plain text.

makeup_syntect highlights via a Rust NIF that cannot be interrupted. Diff
highlights each line synchronously during render, so a single crafted line
(e.g. a minified, deeply-nested JSON blob) made the NIF allocate gigabytes
before returning, OOM-ing the pod with no timeout able to bound it.

The remaining makeup lexers (Elixir, Erlang, Gleam) are pure Elixir, and files
in formats only syntect covered now render as plain text.
@ericmj ericmj merged commit 73b7ac1 into main Jun 4, 2026
12 checks passed
@ericmj ericmj deleted the remove-makeup-syntect branch June 4, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant