Package?cli?version 3.6.0
这个函数类似于base::strwrap(),但它适用于ANSI样式的字符串,并且保持样式不变。
ansi_strwrap(
x,
width = console_width(),
indent = 0,
exdent = 0,
simplify = TRUE
)
参数【x】:ANSI字符串。
参数【width】:换行到的宽度。
参数【indent】:每段第一行的缩进。
参数【exdent】:缩进每段后面的行。
参数【simplify】:是否在单个字符向量中返回所有包装的字符串,还是单独包装x的每个元素并返回一个列表。
如果simplify为FALSE,则一个字符向量列表,每个字符向量都是ANSI字符串。否则为单个ANSI字符串向量。
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)
Est dolor voluptate culpa qui consequat irure Lorem proident ut elit occaecat et id. Eiusmod velit officia nostrud est minim ullamco incididunt elit nulla. Aliquip ex cillum et minim minim. Nulla irure aute ut magna nisi enim anim sunt elit. Sunt proident sit et aliquip anim tempor ex excepteur quis reprehenderit nulla ut.
wrp <- ansi_strwrap(text, width = 40)
cat(wrp, sep = "\n")
Est dolor voluptate culpa qui consequat irure Lorem proident ut elit occaecat et id. Eiusmod velit officia nostrud est minim ullamco incididunt elit nulla. Aliquip ex cillum et minim minim. Nulla irure aute ut magna nisi enim anim sunt elit. Sunt proident sit et aliquip anim tempor ex excepteur quis reprehenderit nulla ut.