Class: RI::AttributeFormatter
- Inherits:
-
TextFormatter
- Object
- TextFormatter
- RI::AttributeFormatter
- Defined in:
- lib/rdoc/ri/ri_formatter.rb
Overview
Handle text with attributes. We're a base class: there are different presentation classes (one, for example, uses overstrikes to handle bold and underlining, while another using ANSI escape sequences
Direct Known Subclasses
Defined Under Namespace
Classes: AttrChar, AttributeString
Constant Summary collapse
- BOLD =
1
- ITALIC =
2
- CODE =
4
- ATTR_MAP =
{ "b" => BOLD, "code" => CODE, "em" => ITALIC, "i" => ITALIC, "tt" => CODE }
Constants inherited from TextFormatter
Instance Attribute Summary
Attributes inherited from TextFormatter
Instance Method Summary collapse
-
#wrap(txt, prefix = @indent, linelen = @width) ⇒ Object
overrides base class.
Methods inherited from TextFormatter
#blankline, #break_to_newline, #conv_html, #conv_markup, #display_flow, #display_flow_item, #display_heading, #display_list, #display_verbatim_flow_item, #draw_line, for, #initialize, list, #raw_print_line, #strip_attributes
Constructor Details
This class inherits a constructor from RI::TextFormatter
Instance Method Details
#wrap(txt, prefix = @indent, linelen = @width) ⇒ Object
overrides base class. Looks for ...
etc sequences and generates an array of AttrChars. This array is then used as the basis for the split
305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 |
# File 'lib/rdoc/ri/ri_formatter.rb', line 305 def wrap(txt, prefix=@indent, linelen=@width) return unless txt && !txt.empty? txt = add_attributes_to(txt) next_prefix = prefix.tr("^ ", " ") linelen -= prefix.size line = [] until txt.empty? word = txt.next_word if word.size + line.size > linelen write_attribute_text(prefix, line) prefix = next_prefix line = [] end line.concat(word) end write_attribute_text(prefix, line) if line.length > 0 end |