summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/lib/rdoc/parsers/parse_simple.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/lib/rdoc/parsers/parse_simple.rb')
-rw-r--r--ruby_1_8_6/lib/rdoc/parsers/parse_simple.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/ruby_1_8_6/lib/rdoc/parsers/parse_simple.rb b/ruby_1_8_6/lib/rdoc/parsers/parse_simple.rb
new file mode 100644
index 0000000000..3f1a546964
--- /dev/null
+++ b/ruby_1_8_6/lib/rdoc/parsers/parse_simple.rb
@@ -0,0 +1,41 @@
+# Parse a non-source file. We basically take the whole thing
+# as one big comment. If the first character in the file
+# is '#', we strip leading pound signs.
+
+
+require "rdoc/code_objects"
+require "rdoc/markup/simple_markup/preprocess"
+
+module RDoc
+ # See rdoc/parsers/parse_c.rb
+
+ class SimpleParser
+
+ # prepare to parse a plain file
+ def initialize(top_level, file_name, body, options, stats)
+
+ preprocess = SM::PreProcess.new(file_name, options.rdoc_include)
+
+ preprocess.handle(body) do |directive, param|
+ $stderr.puts "Unrecognized directive '#{directive}' in #{file_name}"
+ end
+
+ @body = body
+ @options = options
+ @top_level = top_level
+ end
+
+ # Extract the file contents and attach them to the toplevel as a
+ # comment
+
+ def scan
+ # @body.gsub(/^(\s\n)+/, '')
+ @top_level.comment = remove_private_comments(@body)
+ @top_level
+ end
+
+ def remove_private_comments(comment)
+ comment.gsub(/^--.*?^\+\+/m, '').sub(/^--.*/m, '')
+ end
+ end
+end