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 elit dolore aliquip adipisicing nostrud consectetur amet. Lorem ullamco irure nisi aute in excepteur. Aliqua et anim est ea mollit sunt culpa elit eiusmod laboris culpa. Occaecat aliqua do ad proident magna mollit adipisicing eiusmod excepteur dolore ea culpa non. Fugiat mollit occaecat sit commodo commodo velit consequat reprehenderit aliquip ipsum veniam. Minim ea sunt adipisicing velit consectetur adipisicing cillum sint anim.
wrp <- ansi_strwrap(text, width = 40)
cat(wrp, sep = "\n")
#> Ea elit dolore aliquip adipisicing
#> nostrud consectetur amet. Lorem ullamco
#> irure nisi aute in excepteur. Aliqua et
#> anim est ea mollit sunt culpa elit
#> eiusmod laboris culpa. Occaecat aliqua
#> do ad proident magna mollit adipisicing
#> eiusmod excepteur dolore ea culpa non.
#> Fugiat mollit occaecat sit commodo
#> commodo velit consequat reprehenderit
#> aliquip ipsum veniam. Minim ea sunt
#> adipisicing velit consectetur
#> adipisicing cillum sint anim.