Powered by AppSignal & Oban Pro

Rainbow Brackets

rainbow_brackets.livemd

Rainbow Brackets

Mix.install([
  {:lumis, "~> 0.3"}
])

Example

Rainbow brackets use each language’s Tree-sitter brackets.scm query. The Rust query includes (), [], {}, < >, and closure pipes, and excludes string delimiters from rainbow coloring.

code = ~S'''
fn main() {
    let foo = OptionalI32::AnI32(1);
    match foo {
        OptionalI32::AnI32(n) => println!("it is an i32: {}", n),
        OptionalI32::Nothing => println!("it is nothing!"),
    }
}
'''

Lumis.highlight!(code,
  formatter:
    {:html_inline,
     language: "rust",
     theme: "catppuccin_mocha",
     rainbow_brackets: true,
     include_highlights: true}
)