Class: Console::Terminal::XTerm
- Inherits:
-
Text
- Object
- Text
- Console::Terminal::XTerm
show all
- Defined in:
- lib/console/terminal/xterm.rb
Constant Summary
collapse
- COLORS =
{
black: 0,
red: 1,
green: 2,
yellow: 3,
blue: 4,
magenta: 5,
cyan: 6,
white: 7,
default: 9,
}.freeze
- ATTRIBUTES =
{
normal: 0,
bold: 1,
bright: 1,
faint: 2,
italic: 3,
underline: 4,
blink: 5,
reverse: 7,
hidden: 8,
}.freeze
Instance Method Summary
collapse
Methods inherited from Text
#[], #[]=, #initialize, #print, #print_line, #puts, #write
Instance Method Details
#colors? ⇒ Boolean
38
39
40
|
# File 'lib/console/terminal/xterm.rb', line 38
def colors?
true
end
|
#reset ⇒ Object
71
72
73
|
# File 'lib/console/terminal/xterm.rb', line 71
def reset
"\e[0m"
end
|
#size ⇒ Object
42
43
44
45
46
47
|
# File 'lib/console/terminal/xterm.rb', line 42
def size
@output.winsize
rescue Errno::ENOTTY
[24, 80]
end
|
#style(foreground, background = nil, *attributes) ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/console/terminal/xterm.rb', line 53
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
|
#width ⇒ Object
49
50
51
|
# File 'lib/console/terminal/xterm.rb', line 49
def width
size.last
end
|