Extracts sections of text enclosed in plus, tt or code. Used to discover undocumented parameters.
Stack of list types
Output accumulator
Creates a new tt-only formatter.
# File lib/rdoc/markup/to_tt_only.rb, line 20
def initialize markup = nil
super
add_tag :TT, nil, nil
end
Pops the list type for list
from list_type
# File lib/rdoc/markup/to_tt_only.rb, line 29
def accept_list_end list
@list_type.pop
end
Prepares the visitor for consuming list_item
# File lib/rdoc/markup/to_tt_only.rb, line 43
def accept_list_item_start list_item
case @list_type.last
when :NOTE, :LABEL then
Array(list_item.label).map do |label|
tt_sections label
end.flatten
end
end
Pushes the list type for list
onto list_type
# File lib/rdoc/markup/to_tt_only.rb, line 36
def accept_list_start list
@list_type << list.type
end
Adds paragraph
to the output
# File lib/rdoc/markup/to_tt_only.rb, line 55
def accept_paragraph paragraph
tt_sections(paragraph.text)
end
Does nothing to markup_item
because it doesn’t have any
user-built content
# File lib/rdoc/markup/to_tt_only.rb, line 63
def do_nothing markup_item
end
Returns an Array of items that were wrapped in plus, tt or code.
# File lib/rdoc/markup/to_tt_only.rb, line 99
def end_accepting
@res.compact
end
Prepares the visitor for gathering tt sections
# File lib/rdoc/markup/to_tt_only.rb, line 106
def start_accepting
@res = []
@list_type = []
end
Extracts tt sections from text
# File lib/rdoc/markup/to_tt_only.rb, line 76
def tt_sections text
flow = @am.flow text.dup
flow.each do |item|
case item
when String then
@res << item if in_tt?
when RDoc::Markup::AttrChanger then
off_tags res, item
on_tags res, item
when RDoc::Markup::Special then
@res << convert_special(item) if in_tt? # TODO can this happen?
else
raise "Unknown flow element: #{item.inspect}"
end
end
res
end
/ | Search |
---|---|
? | Show this help |