summaryrefslogtreecommitdiff
path: root/lib/rdoc
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-05-26 05:02:55 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-05-26 05:02:55 +0000
commit129313378fbefab34fe4d8cf8d47df9f5fc714bc (patch)
treeb90a436eec983648368141bc1e9cac397c215d54 /lib/rdoc
parent13ebee7a9e4c38d7f89b0cbed9036b2692ff3c42 (diff)
Allow "do" after "for". Fix up css for standalone code window
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rdoc')
-rw-r--r--lib/rdoc/generators/html_generator.rb2
-rw-r--r--lib/rdoc/generators/template/html/html.rb13
-rw-r--r--lib/rdoc/parsers/parse_rb.rb19
3 files changed, 24 insertions, 10 deletions
diff --git a/lib/rdoc/generators/html_generator.rb b/lib/rdoc/generators/html_generator.rb
index ef08951063..754deb9f77 100644
--- a/lib/rdoc/generators/html_generator.rb
+++ b/lib/rdoc/generators/html_generator.rb
@@ -964,7 +964,7 @@ module Generators
values = {
'title' => CGI.escapeHTML(index_name),
'code' => code_body,
- 'style_url' => style_url(path, @options.css),
+ 'style_url' => style_url(file_path, @options.css),
'charset' => @options.charset
}
template.write_html_on(f, values)
diff --git a/lib/rdoc/generators/template/html/html.rb b/lib/rdoc/generators/template/html/html.rb
index 41f9f4b271..e0a8880004 100644
--- a/lib/rdoc/generators/template/html/html.rb
+++ b/lib/rdoc/generators/template/html/html.rb
@@ -187,7 +187,9 @@ div.method-source-code {
div.method-source-code pre { color: #ffdead; overflow: hidden; }
/* --- Ruby keyword styles --------------------- */
-/* (requires a hacked html_generator.rb to add more class-types) */
+
+.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
+
.ruby-constant { color: #7fffd4; background: transparent; }
.ruby-keyword { color: #00ffff; background: transparent; }
.ruby-ivar { color: #eedd82; background: transparent; }
@@ -561,18 +563,13 @@ BODY = HEADER + %{
#####################################################################
SRC_PAGE = XHTML_PREAMBLE + %{
-<!--
-
- %title%
-
- -->
<html>
<head>
<title>%title%</title>
<meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
- <link rel="stylesheet" href="http://www.FaerieMUD.org/stylesheets/rdoc.css" type="text/css" />
+ <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" />
</head>
-<body>
+<body class="standalone-code">
<pre>%code%</pre>
</body>
</html>
diff --git a/lib/rdoc/parsers/parse_rb.rb b/lib/rdoc/parsers/parse_rb.rb
index 8a23b6881f..bd2414826c 100644
--- a/lib/rdoc/parsers/parse_rb.rb
+++ b/lib/rdoc/parsers/parse_rb.rb
@@ -1675,7 +1675,15 @@ module RDoc
"line #{tk.line_no}" if $DEBUG
skip_optional_do_after_expression
- when TkCASE, TkDO, TkIF, TkUNLESS, TkBEGIN, TkFOR
+ # 'for' is trickier
+ when TkFOR
+ nest += 1
+ puts "FOUND #{tk.class} in #{container.name}, nest = #{nest}, " +
+ "line #{tk.line_no}" if $DEBUG
+ skip_for_variable
+ skip_optional_do_after_expression
+
+ when TkCASE, TkDO, TkIF, TkUNLESS, TkBEGIN
nest += 1
puts "Found #{tk.class} in #{container.name}, nest = #{nest}, " +
"line #{tk.line_no}" if $DEBUG
@@ -2046,6 +2054,15 @@ module RDoc
res
end
+ # skip the var [in] part of a 'for' statement
+ def skip_for_variable
+ skip_tkspace(false)
+ tk = get_tk
+ skip_tkspace(false)
+ tk = get_tk
+ unget_tk(tk) unless tk.kind_of?(TkIN)
+ end
+
# while, until, and for have an optional
def skip_optional_do_after_expression
skip_tkspace(false)