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)
#> Excepteur esse pariatur nulla cupidatat duis. In amet aute labore esse magna reprehenderit cupidatat commodo. Culpa dolore aute sit dolore fugiat. Incididunt ut laboris labore amet pariatur anim duis do eu eu ad. Occaecat non officia sunt sunt irure duis culpa ullamco non incididunt sunt eu officia. Ad est in cupidatat magna incididunt elit sint. Culpa aute sit do reprehenderit aute eiusmod ipsum cillum magna. Aliqua culpa mollit occaecat reprehenderit cillum non in laboris.
wrp <- ansi_strwrap(text, width = 40)
cat(wrp, sep = "\n")
#> Excepteur esse pariatur nulla cupidatat
#> duis. In amet aute labore esse magna
#> reprehenderit cupidatat commodo. Culpa
#> dolore aute sit dolore fugiat.
#> Incididunt ut laboris labore amet
#> pariatur anim duis do eu eu ad.
#> Occaecat non officia sunt sunt irure
#> duis culpa ullamco non incididunt sunt
#> eu officia. Ad est in cupidatat magna
#> incididunt elit sint. Culpa aute sit do
#> reprehenderit aute eiusmod ipsum cillum
#> magna. Aliqua culpa mollit occaecat
#> reprehenderit cillum non in laboris.