Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more

In Files

  • rdoc/markup/to_ansi.rb

Class/Module Index [+]

Quicksearch

RDoc::Markup::ToAnsi

Outputs RDoc markup with vibrant ANSI color!

Public Class Methods

new(markup = nil) click to toggle source

Creates a new ToAnsi visitor that is ready to output vibrant ANSI color!

 
               # File rdoc/markup/to_ansi.rb, line 11
def initialize markup = nil
  super

  @headings.clear
  @headings[1] = ["\e[1;32m", "\e[m"] # bold
  @headings[2] = ["\e[4;32m", "\e[m"] # underline
  @headings[3] = ["\e[32m",   "\e[m"] # just green
end
            

Public Instance Methods

accept_list_item_end(list_item) click to toggle source

Overrides indent width to ensure output lines up correctly.

 
               # File rdoc/markup/to_ansi.rb, line 32
def accept_list_item_end list_item
  width = case @list_type.last
          when :BULLET then
            2
          when :NOTE, :LABEL then
            @res << "\n" unless res.length == 1
            2
          else
            bullet = @list_index.last.to_s
            @list_index[-1] = @list_index.last.succ
            bullet.length + 2
          end

  @indent -= width
end
            
accept_list_item_start(list_item) click to toggle source

Adds coloring to note and label list items

 
               # File rdoc/markup/to_ansi.rb, line 51
def accept_list_item_start list_item
  bullet = case @list_type.last
           when :BULLET then
             '*'
           when :NOTE, :LABEL then
             attributes(list_item.label) + ":\n"
           else
             @list_index.last.to_s + '.'
           end

  case @list_type.last
  when :NOTE, :LABEL then
    @indent += 2
    @prefix = bullet + (' ' * @indent)
  else
    @prefix = (' ' * @indent) + bullet.ljust(bullet.length + 1)

    width = bullet.gsub(/\e\[[\d;]*m/, '').length + 1

    @indent += width
  end
end
            
init_tags() click to toggle source

Maps attributes to ANSI sequences

 
               # File rdoc/markup/to_ansi.rb, line 23
def init_tags
  add_tag :BOLD, "\e[1m", "\e[m"
  add_tag :TT,   "\e[7m", "\e[m"
  add_tag :EM,   "\e[4m", "\e[m"
end
            
start_accepting() click to toggle source

Starts accepting with a reset screen

 
               # File rdoc/markup/to_ansi.rb, line 77
def start_accepting
  super

  @res = ["\e[0m"]
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.