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)
#> Eiusmod dolore cupidatat ullamco quis ullamco officia quis. Magna laborum nisi mollit ullamco deserunt culpa non laboris fugiat. Qui eiusmod velit enim reprehenderit quis laborum eiusmod nulla consectetur ipsum eiusmod adipisicing voluptate eiusmod. Eiusmod aute aliqua sint velit sit voluptate enim minim ullamco ipsum velit ea laborum laborum. Commodo aliquip aliqua amet ex officia eiusmod est eiusmod quis magna amet adipisicing consequat mollit. Pariatur mollit ut enim amet enim aute irure nisi nisi mollit officia.
wrp <- ansi_strwrap(text, width = 40)
cat(wrp, sep = "\n")
#> Eiusmod dolore cupidatat ullamco quis
#> ullamco officia quis. Magna laborum
#> nisi mollit ullamco deserunt culpa non
#> laboris fugiat. Qui eiusmod velit enim
#> reprehenderit quis laborum eiusmod
#> nulla consectetur ipsum eiusmod
#> adipisicing voluptate eiusmod. Eiusmod
#> aute aliqua sint velit sit voluptate
#> enim minim ullamco ipsum velit ea
#> laborum laborum. Commodo aliquip aliqua
#> amet ex officia eiusmod est eiusmod
#> quis magna amet adipisicing consequat
#> mollit. Pariatur mollit ut enim amet
#> enim aute irure nisi nisi mollit
#> officia.