Class: RI::AnsiFormatter
- Inherits:
-
AttributeFormatter
- Object
- TextFormatter
- AttributeFormatter
- RI::AnsiFormatter
- Defined in:
- lib/rdoc/ri/ri_formatter.rb
Overview
This formatter uses ANSI escape sequences to colorize stuff works with pages such as man and less.
Constant Summary collapse
- HEADINGS =
{ 1 => [ "\033[1;32m", "\033[m" ] , 2 => ["\033[4;32m", "\033[m" ], 3 => ["\033[32m", "\033[m" ] }
- ATTR_MAP =
{ BOLD => "1", ITALIC => "33", CODE => "36" }
Constants inherited from AttributeFormatter
RI::AttributeFormatter::BOLD, RI::AttributeFormatter::CODE, RI::AttributeFormatter::ITALIC
Constants inherited from TextFormatter
Instance Attribute Summary
Attributes inherited from TextFormatter
Instance Method Summary collapse
- #bold_print(txt) ⇒ Object
- #display_heading(text, level, indent) ⇒ Object
-
#initialize(*args) ⇒ AnsiFormatter
constructor
A new instance of AnsiFormatter.
- #write_attribute_text(prefix, line) ⇒ Object
Methods inherited from AttributeFormatter
Methods inherited from TextFormatter
#blankline, #break_to_newline, #conv_html, #conv_markup, #display_flow, #display_flow_item, #display_list, #display_verbatim_flow_item, #draw_line, for, list, #raw_print_line, #strip_attributes, #wrap
Constructor Details
#initialize(*args) ⇒ AnsiFormatter
Returns a new instance of AnsiFormatter.
405 406 407 408 |
# File 'lib/rdoc/ri/ri_formatter.rb', line 405 def initialize(*args) print "\033[0m" super end |
Instance Method Details
#bold_print(txt) ⇒ Object
426 427 428 |
# File 'lib/rdoc/ri/ri_formatter.rb', line 426 def bold_print(txt) print "\033[1m#{txt}\033[m" end |
#display_heading(text, level, indent) ⇒ Object
436 437 438 439 440 441 442 443 |
# File 'lib/rdoc/ri/ri_formatter.rb', line 436 def display_heading(text, level, indent) level = 3 if level > 3 heading = HEADINGS[level] print indent print heading[0] print strip_attributes(text) puts heading[1] end |
#write_attribute_text(prefix, line) ⇒ Object
410 411 412 413 414 415 416 417 418 419 420 421 422 423 |
# File 'lib/rdoc/ri/ri_formatter.rb', line 410 def write_attribute_text(prefix, line) print prefix curr_attr = 0 line.each do |achar| attr = achar.attr if achar.attr != curr_attr update_attributes(achar.attr) curr_attr = achar.attr end print achar.char end update_attributes(0) unless curr_attr.zero? puts end |