summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-12 15:52:35 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-12 15:52:35 +0000
commite6de7978a1bb0d36fb4b11962c339b2c59a2990f (patch)
tree5266db8b6584cb95b845fb55ab0e5f8cce57973b /lib
parent4437be2c641d0af534ecf6f830af9ce9880294ee (diff)
Support call-seq: for Ruby methods
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rdoc/README5
-rw-r--r--lib/rdoc/parsers/parse_rb.rb10
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/rdoc/README b/lib/rdoc/README
index e13ab87dc8..cfc99cb50f 100644
--- a/lib/rdoc/README
+++ b/lib/rdoc/README
@@ -419,6 +419,11 @@ this margin are formatted verbatim.
12. Comment blocks can contain other directives:
+ [<tt>call-seq:</tt>]
+ lines up to the next blank line in the comment are treated as
+ the method's calling sequence, overriding the
+ default parsing of method parameters and yield arguments.
+
[<tt>:include:</tt><i>filename</i>]
include the contents of the named file at this point. The
file will be searched for in the directories listed by
diff --git a/lib/rdoc/parsers/parse_rb.rb b/lib/rdoc/parsers/parse_rb.rb
index 70236af343..9f02dfd079 100644
--- a/lib/rdoc/parsers/parse_rb.rb
+++ b/lib/rdoc/parsers/parse_rb.rb
@@ -1975,6 +1975,16 @@ module RDoc
parse_statements(container, single, meth)
remove_token_listener(meth)
+
+ # Look for a 'call-seq' in the comment, and override the
+ # normal parameter stuff
+
+ if comment.sub!(/call-seq:(.*?)^\s*\#?\s*$/m, '')
+$stderr.puts $1
+ seq = $1
+ seq.gsub!(/^\s*\#\s*/, '')
+ meth.call_seq = seq
+ end
meth.comment = comment