Pearl An Erlang lexer and syntax highlighter for Gleam! Pearl is a lexer and syntax highlighter for Erlang, written in Gleam. The lexer is based on glexer and just , allowing you to convert Erlang source code into tokens. There is also an API which allows you to highlight Erlang code using ansi colours, html or a custom format. Heavily inspired by contour . gleam add pearl@2 import pearl pub fn main ( ) { let code = " -module(hello). -export([hello_world/0]). hello_world() -> io:fwrite( \" Hello, world! \\ n \" ). " let lexer = pearl . new ( code ) // Lex syntax tokens for parsing or other uses let # ( tokens , errors ) = pearl . tokenise ( lexer ) let assert [ ] = errors parse_erlang ( tokens ) // Highlight with ansi codes to print in the terminal let highlighted = pearl . highlight_ansi ( code ) io . println ( highlighted ) // Render to html to show in the browser let html = pearl . highlight_html ( code ) io . println ( "<pre><code>" <> html <> "</code></pre>" ) // Convert to "highlighting tokens" to highlight in some other way let highlight_tokens = pearl . highlight_tokens ( code ) highlight_tokens_some_other_way ( highlight_tokens ) } Further documentation can be found at https://hexdocs.pm/pearl. Feature completeness
First seen: 2025-09-02 23:53
Last seen: 2025-09-02 23:53