From d22ade523fbe9ebf4b4f8ca617385a538438554a Mon Sep 17 00:00:00 2001 From: dave Date: Tue, 24 Feb 2004 04:24:02 +0000 Subject: Improve heuristic for which files to include. See ChangeLog git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/rdoc/rdoc.rb | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 505d28ca4b..9649c231d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Feb 24 13:22:21 2004 Dave Thomas + + * lib/rdoc/rdoc.rb (RDoc::RDoc::normalized_file_list): Attempt to get better + heuristics on which files to include and exclude. Now only include + non-standard files if they are explicitly named in ARGV. + Tue Feb 24 07:23:30 2004 Dave Thomas * lib/rdoc/generators/html_generator.rb: Deal with :stopdoc: when diff --git a/lib/rdoc/rdoc.rb b/lib/rdoc/rdoc.rb index 24e268a8f5..5f477f7fea 100644 --- a/lib/rdoc/rdoc.rb +++ b/lib/rdoc/rdoc.rb @@ -150,14 +150,22 @@ module RDoc # Given a list of files and directories, create a list # of all the Ruby files they contain. - - def normalized_file_list(options, relative_files) + # + # If +force_dic+ is true, we always add the given files. + # If false, only add files that we guarantee we can parse + # It is true when looking at files given on the command line, + # false when recursing through subdirectories. + # + # The effect of this is that if you want a file with a non- + # standard extension parsed, you must name it explicity. + + def normalized_file_list(options, relative_files, force_doc = false) file_list = [] relative_files.each do |rel_file_name| case type = File.stat(rel_file_name).ftype when "file" - file_list << rel_file_name + file_list << rel_file_name if force_doc || ParserFactory.can_parse(rel_file_name) when "directory" next if rel_file_name == "CVS" || rel_file_name == ".svn" next if options.exclude && options.exclude =~ rel_file_name @@ -194,7 +202,7 @@ module RDoc files = options.files files = ["."] if files.empty? - file_list = normalized_file_list(options, files) + file_list = normalized_file_list(options, files, true) file_list.each do |fn| $stderr.printf("\n%35s: ", File.basename(fn)) unless options.quiet -- cgit v1.2.3