Class: Sus::Output::XTerm
Constant Summary collapse
- COLORS =
{ black: 0, red: 1, green: 2, yellow: 3, blue: 4, magenta: 5, cyan: 6, white: 7, default: 9, }
- ATTRIBUTES =
{ normal: 0, bold: 1, bright: 1, faint: 2, italic: 3, underline: 4, blink: 5, reverse: 7, hidden: 8, }
Constants inherited from Text
Constants included from Messages
Messages::FAILED_PREFIX, Messages::PASSED_PREFIX
Instance Attribute Summary
Attributes inherited from Text
Instance Method Summary collapse
- #colors? ⇒ Boolean
- #reset ⇒ Object
- #size ⇒ Object
- #style(foreground, background = nil, *attributes) ⇒ Object
Methods inherited from Text
#[], #[]=, #append, #buffered, #indent, #indented, #initialize, #interactive?, #outdent, #puts, #width, #write
Methods included from Messages
#assert, #error, #error_prefix, #fail_prefix, #inform, #inform_prefix, #pass_prefix, #skip, #skip_prefix
Constructor Details
This class inherits a constructor from Sus::Output::Text
Instance Method Details
#colors? ⇒ Boolean
38 39 40 |
# File 'lib/sus/output/xterm.rb', line 38 def colors? true end |
#reset ⇒ Object
64 65 66 |
# File 'lib/sus/output/xterm.rb', line 64 def reset "\e[0m" end |
#size ⇒ Object
42 43 44 |
# File 'lib/sus/output/xterm.rb', line 42 def size @io.winsize end |
#style(foreground, background = nil, *attributes) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/sus/output/xterm.rb', line 46 def style(foreground, background = nil, *attributes) tokens = [] if foreground tokens << 30 + COLORS.fetch(foreground) end if background tokens << 40 + COLORS.fetch(background) end attributes.each do |attribute| tokens << ATTRIBUTES.fetch(attribute){attribute.to_i} end return "\e[#{tokens.join(';')}m" end |