divide_chunk: Divide chunk options from the code chunk body

View source: R/knitr.R

divide_chunkR Documentation

Divide chunk options from the code chunk body

Description

Chunk options can be written in special comments (e.g., after ⁠#|⁠ for R code chunks) inside a code chunk. This function partitions these options from the chunk body.

Usage

divide_chunk(engine, code)

Arguments

engine

The name of the language engine (to determine the appropriate comment character).

code

A character vector (lines of code).

Value

A list with the following items:

  • options: The parsed options (if there are any) as a list.

  • src: The part of the input that contains the options.

  • code: The part of the input that contains the code.

Note

Chunk options must be written on continuous lines (i.e., all lines must start with the special comment prefix such as ⁠#|⁠) at the beginning of the chunk body.

Examples

# parse yaml-like items
yaml_like = c("#| label: mine", "#| echo: true", "#| fig.width: 8", "#| foo: bar",
    "1 + 1")
writeLines(yaml_like)
xfun::divide_chunk("r", yaml_like)

# parse CSV syntax
csv_like = c("#| mine, echo = TRUE, fig.width = 8, foo = 'bar'", "1 + 1")
writeLines(csv_like)
xfun::divide_chunk("r", csv_like)

yihui/xfun documentation built on April 29, 2024, 12:16 p.m.