class RDoc::Markup::ToBs
Outputs RDoc markup with hot backspace action! You will probably need a pager to use this output format.
This formatter won't work on 1.8.6 because it lacks String#chars.
Public Class Methods
          new(markup = nil)
          
          click to toggle source
          
        
        
        Returns a new ToBs that is ready for hot backspace action!
              Calls superclass method
              RDoc::Markup::ToRdoc.new
            
          
          
          # File lib/rdoc/markup/to_bs.rb, line 12 def initialize markup = nil super @in_b = false @in_em = false end
Public Instance Methods
          accept_heading(heading)
          
          click to toggle source
          
        
        
        Makes heading text bold.
# File lib/rdoc/markup/to_bs.rb, line 32 def accept_heading heading use_prefix or @res << ' ' * @indent @res << @headings[heading.level][0] @in_b = true @res << attributes(heading.text) @in_b = false @res << @headings[heading.level][1] @res << "\n" end
          annotate(tag)
          
          click to toggle source
          
        
        
        Turns on or off special handling for convert_string
# File lib/rdoc/markup/to_bs.rb, line 45 def annotate tag case tag when '+b' then @in_b = true when '-b' then @in_b = false when '+_' then @in_em = true when '-_' then @in_em = false end '' end
          convert_special(special)
          
          click to toggle source
          
        
        
        Calls #convert_string on the result of #convert_special
              Calls superclass method
              RDoc::Markup::Formatter#convert_special
            
          
          
          # File lib/rdoc/markup/to_bs.rb, line 58 def convert_special special convert_string super end
          convert_string(string)
          
          click to toggle source
          
        
        
        Adds bold or underline mixed with backspaces
# File lib/rdoc/markup/to_bs.rb, line 65 def convert_string string return string unless string.respond_to? :chars # your ruby is lame return string unless @in_b or @in_em chars = if @in_b then string.chars.map do |char| "#{char}\b#{char}" end elsif @in_em then string.chars.map do |char| "_\b#{char}" end end chars.join end