ansi_strwrap: Wrap an ANSI styled string to a certain width

Description Usage Arguments Value See Also Examples

View source: R/ansiex.R

Description

This function is similar to base::strwrap(), but works on ANSI styled strings, and leaves the styling intact.

Usage

1
2
3
4
5
6
7
ansi_strwrap(
  x,
  width = console_width(),
  indent = 0,
  exdent = 0,
  simplify = TRUE
)

Arguments

x

ANSI string.

width

Width to wrap to.

indent

Indentation of the first line of each paragraph.

exdent

Indentation of the subsequent lines of each paragraph.

simplify

Whether to return all wrapped strings in a single charcter vector, or wrap each element of x independently and return a list.

Value

If simplify is FALSE, then a list of character vectors, each an ANSI string. Otherwise a single ANSI string vector.

See Also

Other ANSI string operations: ansi_align(), ansi_columns(), ansi_nchar(), ansi_strsplit(), ansi_strtrim(), ansi_substring(), ansi_substr(), ansi_toupper(), ansi_trimws()

Examples

1
2
3
4
5
6
7
8
text <- cli:::lorem_ipsum()
# Highlight some words, that start with 's'
rexp <- gregexpr("\\b([sS][a-zA-Z]+)\\b", text)
regmatches(text, rexp) <- lapply(regmatches(text, rexp), col_red)
cat(text)

wrp <- ansi_strwrap(text, width = 40)
cat(wrp, sep = "\n")

RonMobile/cli documentation built on Dec. 18, 2021, 11 a.m.