R语言cli——ansi_strwrap():将ANSI样式的字符串包装为一定的宽度

Package cli version 3.6.0


Description

这个函数类似于base::strwrap(),但它适用于ANSI样式的字符串,并且保持样式不变。


Usage

ansi_strwrap(
  x,
  width = console_width(),
  indent = 0,
  exdent = 0,
  simplify = TRUE
)

Arguments

参数【x】:ANSI字符串。

参数【width】:换行到的宽度。

参数【indent】:每段第一行的缩进。

参数【exdent】:缩进每段后面的行。

参数【simplify】:是否在单个字符向量中返回所有包装的字符串,还是单独包装x的每个元素并返回一个列表。


Value

如果simplify为FALSE,则一个字符向量列表,每个字符向量都是ANSI字符串。否则为单个ANSI字符串向量。


Example

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 = "
")
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.