Skip to content
This repository was archived by the owner on Jul 17, 2026. It is now read-only.

Remove makeup_syntect - #179

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

ericmj merged 1 commit into
mainfrom
remove-makeup-syntect

Conversation

@ericmj

@ericmj ericmj commented Jun 4, 2026

Copy link
Copy Markdown
Member

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 subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant