Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
rosbag_fancy::Terminal::Parser Class Reference

Terminal escape sequence parser. More...

#include <terminal.h>

Public Member Functions

void apply (Terminal *term)
 Apply the current internal state (colors) on the terminal. More...
 
void parse (char c)
 parse single character c More...
 
void parse (const std::string &str)
 parse string More...
 
 Parser ()
 

Private Types

enum  State { STATE_ESCAPE, STATE_TYPE, STATE_CSI }
 

Private Member Functions

void parseSetAttributes (const std::string &str)
 

Private Attributes

int m_bgColor
 
bool m_bold
 
std::string m_buf
 
int m_fgColor
 
State m_state
 

Detailed Description

Terminal escape sequence parser.

This class allows the user to parse Linux escape sequences (restricted to simple color sequences for now).

Definition at line 59 of file terminal.h.

Member Enumeration Documentation

◆ State

Enumerator
STATE_ESCAPE 
STATE_TYPE 
STATE_CSI 

Definition at line 75 of file terminal.h.

Constructor & Destructor Documentation

◆ Parser()

rosbag_fancy::Terminal::Parser::Parser ( )

Definition at line 26 of file terminal.cpp.

Member Function Documentation

◆ apply()

void rosbag_fancy::Terminal::Parser::apply ( Terminal term)

Apply the current internal state (colors) on the terminal.

Definition at line 108 of file terminal.cpp.

◆ parse() [1/2]

void rosbag_fancy::Terminal::Parser::parse ( char  c)

parse single character c

Definition at line 69 of file terminal.cpp.

◆ parse() [2/2]

void rosbag_fancy::Terminal::Parser::parse ( const std::string &  str)

parse string

Definition at line 102 of file terminal.cpp.

◆ parseSetAttributes()

void rosbag_fancy::Terminal::Parser::parseSetAttributes ( const std::string &  str)
private

Definition at line 34 of file terminal.cpp.

Member Data Documentation

◆ m_bgColor

int rosbag_fancy::Terminal::Parser::m_bgColor
private

Definition at line 86 of file terminal.h.

◆ m_bold

bool rosbag_fancy::Terminal::Parser::m_bold
private

Definition at line 87 of file terminal.h.

◆ m_buf

std::string rosbag_fancy::Terminal::Parser::m_buf
private

Definition at line 83 of file terminal.h.

◆ m_fgColor

int rosbag_fancy::Terminal::Parser::m_fgColor
private

Definition at line 85 of file terminal.h.

◆ m_state

State rosbag_fancy::Terminal::Parser::m_state
private

Definition at line 82 of file terminal.h.


The documentation for this class was generated from the following files:


rosbag_fancy
Author(s):
autogenerated on Tue Feb 20 2024 03:20:59