Saltar al contenido principal

API ANSI

Las utilidades de estilo ANSI están disponibles bajo ptool.ansi y p.ansi.

ptool.ansi.style

v0.1.0 - Introduced.

ptool.ansi.style(text[, options]) devuelve text envuelto con secuencias de escape de estilo ANSI.

  • text (string, obligatorio): El texto al que se aplicará estilo.
  • options (table, opcional): Opciones de estilo. Campos admitidos:
    • enabled (boolean, opcional): Si deben emitirse escapes ANSI. Por defecto depende de si ptool está escribiendo en un terminal.
    • fg (string|nil, opcional): El color de primer plano. Los valores admitidos son black, red, green, yellow, blue, magenta, purple, cyan, white, bright_black, bright_red, bright_green, bright_yellow, bright_blue, bright_magenta, bright_purple, bright_cyan y bright_white.
    • bold (boolean, opcional): Si se aplica texto en negrita.
    • dimmed (boolean, opcional): Si se aplica texto atenuado.
    • italic (boolean, opcional): Si se aplica cursiva.
    • underline (boolean, opcional): Si se aplica subrayado.
  • Devuelve: string.

Comportamiento:

  • Si enabled = false, se devuelve el texto original sin cambios.
  • Si fg = nil o se omite, no se aplica color de primer plano.
  • Los nombres de opción desconocidos o tipos de valor no válidos producen un error.

Ejemplo:

print(ptool.ansi.style("warning", {
fg = "bright_yellow",
bold = true,
}))

ptool.ansi.<color>

v0.1.0 - Introduced.

ptool.ansi.black, ptool.ansi.red, ptool.ansi.green, ptool.ansi.yellow, ptool.ansi.blue, ptool.ansi.magenta, ptool.ansi.cyan y ptool.ansi.white son utilidades de conveniencia con la siguiente firma:

ptool.ansi.red(text[, options])

Aceptan el mismo argumento text y la misma tabla options que ptool.ansi.style, salvo que el color de primer plano queda fijado por la propia utilidad. Si también se proporciona options.fg, el color de la utilidad tiene prioridad.

Ejemplo:

print(ptool.ansi.green("ok", { bold = true }))
print(ptool.ansi.red("failed", { enabled = true, underline = true }))