Module: Termite
- Defined in:
- lib/termite.rb
Defined Under Namespace
Modules: Palette
Classes: Progress
Constant Summary
collapse
- Colors =
[ :black, :red, :green, :yellow,
:blue, :purple, :cyan, :white ]
- Modifiers =
{
:reset => 'c' ,
:enable_wrap => '[7h' ,
:disable_wrap => '[7l' ,
:home => '[H' ,
:save_cursor => '[s' ,
:restore_cursor => '[u' ,
:erase_front => '[K' ,
:erase_back => '[1K' ,
:erase_line => '[2K' ,
:erase_down => '[J' ,
:erase_up => '[1J' ,
:erase_screen => '[2J' ,
:text_reset => '[0m' ,
:bright => '[1m' ,
:dim => '[2m' ,
:underscore => '[4m' ,
:blink => '[5m' ,
:reverse => '[7m' ,
:hide => '[8m' ,
}
Class Method Summary
collapse
Class Method Details
.colorize(fg, *args) ⇒ Object
64
65
66
67
68
69
70
71
|
# File 'lib/termite.rb', line 64
def self.colorize( fg, *args )
args << :"fg_#{fg}"
unless (bg = args & Colors).empty?
args << :"bg_#{bg[0]}"
end
self.decorate( *args )
end
|
.decorate(*args) ⇒ Object
56
57
58
59
60
61
62
|
# File 'lib/termite.rb', line 56
def self.decorate( *args )
text = args.select {|arg| arg.is_a? String }.join
self.escape( *args ) +
text +
self.escape( :text_reset )
end
|
.escape(*args) ⇒ Object
50
51
52
53
54
|
# File 'lib/termite.rb', line 50
def self.escape( *args)
(args & Termite::Modifiers.keys).map do |m|
"\e" + Modifiers[m]
end.join ''
end
|
.rewrite(str) ⇒ Object
73
74
75
76
77
78
|
# File 'lib/termite.rb', line 73
def self.rewrite( str )
self.escape(:erase_front) +
self.escape(:save_cursor) +
str + "\n" +
self.escape(:restore_cursor)
end
|