Find the correct parser for a particular file name. Return a
SimpleParser for ones that we
don’t know
# File lib/rdoc/parser.rb, line 160
def self.for(top_level, file_name, body, options, stats)
return if binary? file_name
# If no extension, look for shebang
if file_name !~ /\.\w+$/ && body =~ %{\A#!(.+)} then
shebang = $1
case shebang
when %{env\s+ruby}, %{/ruby}
file_name = "dummy.rb"
end
end
parser = can_parse file_name
return unless parser
parser.new top_level, file_name, body, options, stats
end