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
)
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_substr()
,
ansi_substring()
,
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)
#> Sit consequat incididunt labore aute esse est ipsum cillum. Qui minim ut veniam laborum nostrud nostrud et reprehenderit irure nostrud duis esse. Nisi aliquip ipsum minim duis fugiat ea culpa. Dolore consectetur non cupidatat officia Lorem elit. Ad aliqua aute pariatur anim ex culpa Lorem. Mollit magna sint pariatur non quis do duis non sint elit ullamco exercitation consectetur aliqua.
wrp <- ansi_strwrap(text, width = 40)
cat(wrp, sep = "\n")
#> Sit consequat incididunt labore aute
#> esse est ipsum cillum. Qui minim ut
#> veniam laborum nostrud nostrud et
#> reprehenderit irure nostrud duis esse.
#> Nisi aliquip ipsum minim duis fugiat ea
#> culpa. Dolore consectetur non cupidatat
#> officia Lorem elit. Ad aliqua aute
#> pariatur anim ex culpa Lorem. Mollit
#> magna sint pariatur non quis do duis
#> non sint elit ullamco exercitation
#> consectetur aliqua.