Class: VimColor::Format_ansi
- Inherits:
-
Object
- Object
- VimColor::Format_ansi
- Defined in:
- lib/msgpack/idl/command/vimcolor.rb
Constant Summary collapse
- AnsiCodes =
{ :normal => 0, :reset => 0, :bold => 1, :dark => 2, :italic => 3, :underline => 4, :blink => 5, :rapid_blink => 6, :negative => 7, :concealed => 8, :strikethrough => 9, :black => 30, :red => 31, :green => 32, :yellow => 33, :blue => 34, :magenta => 35, :cyan => 36, :white => 37, :on_black => 40, :on_red => 41, :on_green => 42, :on_yellow => 43, :on_blue => 44, :on_magenta => 45, :on_cyan => 46, :on_white => 47, }
Instance Method Summary collapse
-
#initialize(colors = {}) ⇒ Format_ansi
constructor
A new instance of Format_ansi.
- #push(type, text) ⇒ Object
- #result ⇒ Object
Constructor Details
#initialize(colors = {}) ⇒ Format_ansi
Returns a new instance of Format_ansi.
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 |
# File 'lib/msgpack/idl/command/vimcolor.rb', line 220 def initialize(colors = {}) @result = '' @colors = Hash.new([]) @colors.merge!({ 'Comment' => [ :cyan ], 'Constant' => [ :red ], 'Identifier' => [ :green ], 'Statement' => [ :yellow ], 'PreProc' => [ :magenta ], 'Type' => [ :green ], 'Special' => [ :magenta ], 'Underlined' => [ :underline ], 'Error' => [ :red ], 'Todo' => [ :black, :on_yellow ], }) @colors.merge!(colors) end |
Instance Method Details
#push(type, text) ⇒ Object
237 238 239 240 241 242 243 244 245 246 |
# File 'lib/msgpack/idl/command/vimcolor.rb', line 237 def push(type, text) seq = '' codes = @colors[type].dup codes.unshift(:reset) codes.each {|c| num = AnsiCodes[c] seq << "\e[#{num}m" if num } @result << seq << text end |
#result ⇒ Object
247 248 249 250 |
# File 'lib/msgpack/idl/command/vimcolor.rb', line 247 def result @result << "\e[0m" @result end |