This function is similar to base::strwrap()
, but works on ANSI
styled strings, and leaves the styling intact.
Usage
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 character 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
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)
#> Ea Lorem consectetur laboris id proident dolor aliquip reprehenderit officia. Ipsum non cillum quis in id. Dolor enim consectetur reprehenderit sint non aliquip duis. Magna duis commodo tempor ut. Duis ipsum irure ex voluptate pariatur. Nulla laboris est sit do sit laboris nulla reprehenderit amet velit excepteur amet duis. Voluptate tempor elit veniam tempor voluptate sint elit ullamco eiusmod irure. Ut exercitation magna ullamco adipisicing incididunt exercitation duis. Veniam laborum consequat minim anim duis mollit eiusmod do commodo sint pariatur ea. Aute mollit eu incididunt in enim duis laboris labore enim laborum minim ad ut.
wrp <- ansi_strwrap(text, width = 40)
cat(wrp, sep = "\n")
#> Ea Lorem consectetur laboris id
#> proident dolor aliquip reprehenderit
#> officia. Ipsum non cillum quis in id.
#> Dolor enim consectetur reprehenderit
#> sint non aliquip duis. Magna duis
#> commodo tempor ut. Duis ipsum irure ex
#> voluptate pariatur. Nulla laboris est
#> sit do sit laboris nulla reprehenderit
#> amet velit excepteur amet duis.
#> Voluptate tempor elit veniam tempor
#> voluptate sint elit ullamco eiusmod
#> irure. Ut exercitation magna ullamco
#> adipisicing incididunt exercitation
#> duis. Veniam laborum consequat minim
#> anim duis mollit eiusmod do commodo
#> sint pariatur ea. Aute mollit eu
#> incididunt in enim duis laboris labore
#> enim laborum minim ad ut.