Class: Captive::Presenter::AnsiStripper

Inherits:
Object
  • Object
show all
Defined in:
lib/captive/presenter/ansi_stripper.rb

Overview

Retire les séquences d'échappement terminal d'une ligne de log.

Une console one-off est attachée à un TTY : IRB redessine son prompt à chaque frappe et le log du container capture tout (CSI, OSC, requêtes de position du curseur, retours chariot). Sans ce nettoyage, une ligne de console est illisible. Le CLI recolorise lui-même, la couleur d'origine n'a donc rien à conserver.

Constant Summary collapse

CSI =
/\e\[[0-?]*[ -\/]*[@-~]/
OSC =
/\e\][^\a\e]*(?:\a|\e\\)/
SINGLE =
/\e[@-Z\\-_]/
CARRIAGE_RETURN =
/\r/
SEQUENCES =
Regexp.union(CSI, OSC, SINGLE, CARRIAGE_RETURN)

Instance Method Summary collapse

Instance Method Details

#call(message) ⇒ Object



19
# File 'lib/captive/presenter/ansi_stripper.rb', line 19

def call(message) = message.gsub(SEQUENCES, "")