def parse_file(filename)
cur_sect = nil
File.open filename do |f|
f.each_line do |line|
line.chomp!
next if line =~ /\A#|\A\s*\z/
if line =~ /\A\[(.*)\]\z/
cur_sect = $1
next
end
if @section.nil? or @section.empty? or @section.to_a.include? cur_sect
name, value = line.split(/\s*=\s*|\s+/, 2)
begin
name, = long_option name, false
raise UnknownOption, "unknown option: #{name}" unless @options[name].in_config
parse_long_opt "#{name}=#{value}", [], false
rescue UnknownOption
raise unless @ignore_unknown_file_option
end
end
end
end
end