Skip to content

Align an ANSI colored string

Usage

ansi_align(
  text,
  width = console_width(),
  align = c("left", "center", "right"),
  type = "width"
)

Arguments

text

The character vector to align.

width

Width of the field to align in.

align

Whether to align "left", "center" or "right".

type

Passed on to ansi_nchar() and there to nchar()

Value

The aligned character vector.

Details

str <- c(
  col_red("This is red"),
  style_bold("This is bold")
)
astr <- ansi_align(str, width = 30)
boxx(astr)

#> ┌────────────────────────────────────┐
#> │                                    │
#> │   This is red                      │
#> │   This is bold                     │
#> │                                    │
#> └────────────────────────────────────┘

str <- c(
  col_red("This is red"),
  style_bold("This is bold")
)
astr <- ansi_align(str, align = "center", width = 30)
boxx(astr)

#> ┌────────────────────────────────────┐
#> │                                    │
#> │             This is red            │
#> │            This is bold            │
#> │                                    │
#> └────────────────────────────────────┘

str <- c(
  col_red("This is red"),
  style_bold("This is bold")
)
astr <- ansi_align(str, align = "right", width = 30)
boxx(astr)

#> ┌────────────────────────────────────┐
#> │                                    │
#> │                      This is red   │
#> │                     This is bold   │
#> │                                    │
#> └────────────────────────────────────┘

See also