Skip to content

Commit 1d94023

Browse files
authored
Merge pull request #555 from aycabta/set-ruby-title-to-method-name
Add ruby-title class to method name in HTML
2 parents fff6970 + acc499b commit 1d94023

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

lib/rdoc/token_stream.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ module RDoc::TokenStream
1414
# with the given class names. Other token types are not wrapped in spans.
1515

1616
def self.to_html token_stream
17+
starting_title = false
18+
1719
token_stream.map do |t|
1820
next unless t
1921

@@ -49,6 +51,16 @@ def self.to_html token_stream
4951
else
5052
text = t[:text]
5153
end
54+
55+
if :on_ident == t[:kind] && starting_title
56+
starting_title = false
57+
style = 'ruby-identifier ruby-title'
58+
end
59+
60+
if :on_kw == t[:kind] and 'def' == t[:text]
61+
starting_title = true
62+
end
63+
5264
text = CGI.escapeHTML text
5365

5466
if style then

test/test_rdoc_markup_to_html.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ def bar
517517

518518
expected = <<-'EXPECTED'
519519
520-
<pre class="ruby"><span class="ruby-keyword">def</span> <span class="ruby-identifier">foo</span>
520+
<pre class="ruby"><span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">foo</span>
521521
[
522522
<span class="ruby-string">&#39;\\&#39;</span>,
523523
<span class="ruby-string">&#39;\&#39;&#39;</span>,
@@ -537,7 +537,7 @@ def bar
537537
<span class="ruby-regexp">/#{}/</span>
538538
]
539539
<span class="ruby-keyword">end</span>
540-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">bar</span>
540+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bar</span>
541541
<span class="ruby-keyword">end</span>
542542
</pre>
543543
EXPECTED
@@ -567,7 +567,7 @@ def bar
567567

568568
expected = <<-'EXPECTED'
569569
570-
<pre class="ruby"><span class="ruby-keyword">def</span> <span class="ruby-identifier">foo</span>
570+
<pre class="ruby"><span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">foo</span>
571571
[
572572
<span class="ruby-string">`\\`</span>,
573573
<span class="ruby-string">`\&#39;\&quot;\``</span>,
@@ -577,7 +577,7 @@ def bar
577577
<span class="ruby-node">`#{}`</span>
578578
]
579579
<span class="ruby-keyword">end</span>
580-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">bar</span>
580+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bar</span>
581581
<span class="ruby-keyword">end</span>
582582
</pre>
583583
EXPECTED
@@ -619,7 +619,7 @@ def test_accept_verbatim_redefinable_operators
619619

620620
%w[| ^ &amp; &lt;=&gt; == === =~ &gt; &gt;= &lt; &lt;= &lt;&lt; &gt;&gt; + - * / % ** ~ +@ -@ [] []= ` ! != !~].each do |html_escaped_op|
621621
expected += <<-EXPECTED
622-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">#{html_escaped_op}</span>
622+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">#{html_escaped_op}</span>
623623
<span class="ruby-keyword">end</span>
624624
EXPECTED
625625
end

test/test_rdoc_parser_ruby.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1418,7 +1418,7 @@ def self.foo
14181418
RUBY
14191419

14201420
expected = <<EXPECTED
1421-
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">foo</span>
1421+
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">foo</span>
14221422
<span class="ruby-constant">A</span><span class="ruby-operator">::</span><span class="ruby-constant">B</span><span class="ruby-operator">::</span><span class="ruby-constant">C</span>
14231423
<span class="ruby-keyword">end</span>
14241424
EXPECTED
@@ -2655,7 +2655,7 @@ def blah()
26552655
RUBY
26562656

26572657
expected = <<EXPECTED
2658-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">blah</span>()
2658+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">blah</span>()
26592659
<span class="ruby-keyword">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword">in</span> (<span class="ruby-identifier">k</span>)<span class="ruby-operator">...</span><span class="ruby-identifier">n</span> <span class="ruby-keyword">do</span>
26602660
<span class="ruby-keyword">end</span>
26612661
<span class="ruby-keyword">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword">in</span> (<span class="ruby-identifier">k</span>)<span class="ruby-operator">...</span><span class="ruby-identifier">n</span>
@@ -2709,7 +2709,7 @@ def blah()
27092709
RUBY
27102710

27112711
expected = <<EXPECTED
2712-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">blah</span>()
2712+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">blah</span>()
27132713
<span class="ruby-identifier">&lt;&lt;-EOM</span> <span class="ruby-keyword">if</span> <span class="ruby-keyword">true</span>
27142714
<span class="ruby-value"></span><span class="ruby-identifier"> EOM</span>
27152715
<span class="ruby-keyword">end</span>
@@ -2734,7 +2734,7 @@ def blah() /bar/ end
27342734
RUBY
27352735

27362736
expected = <<EXPECTED
2737-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">blah</span>() <span class="ruby-regexp">/bar/</span> <span class="ruby-keyword">end</span>
2737+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">blah</span>() <span class="ruby-regexp">/bar/</span> <span class="ruby-keyword">end</span>
27382738
EXPECTED
27392739
expected = expected.rstrip
27402740

0 commit comments

Comments
 (0)