This function:

  • syntax highlights code

  • links function calls to their documentation (where possible)

  • in comments, translates ANSI escapes in to HTML equivalents.

highlight(text, classes = classes_chroma(), pre_class = NULL)

classes_pandoc()

classes_chroma()

Arguments

text

String of code to highlight and link.

classes

A mapping between token names and CSS class names. Bundled classes_pandoc() and classes_chroma() provide mappings that (roughly) match Pandoc and chroma (used by hugo) classes so you can use existing themes.

pre_class

Class(es) to give output <pre>.

Value

If text is valid R code, an HTML <pre> tag. Otherwise, NA.

A string containing syntax highlighted HTML or NA (if text isn't parseable).

Examples

cat(highlight("1 + 1"))
#> <span class='m'>1</span> <span class='o'>+</span> <span class='m'>1</span>
cat(highlight("base::t(1:3)"))
#> <span class='nf'>base</span><span class='nf'>::</span><span class='nf'><a href='https://rdrr.io/r/base/t.html'>t</a></span><span class='o'>(</span><span class='m'>1</span><span class='o'>:</span><span class='m'>3</span><span class='o'>)</span>
# Unparseable R code returns NA cat(highlight("base::t("))
#> NA