rdoc 6.4.0 → 6.5.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rdoc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CONTRIBUTING.rdoc +1 -2
- data/LEGAL.rdoc +1 -1
- data/exe/rdoc +0 -1
- data/lib/rdoc/any_method.rb +2 -2
- data/lib/rdoc/code_objects.rb +1 -2
- data/lib/rdoc/context/section.rb +2 -0
- data/lib/rdoc/context.rb +1 -3
- data/lib/rdoc/cross_reference.rb +17 -1
- data/lib/rdoc/generator/markup.rb +1 -1
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +10 -10
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +27 -3
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +22 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +25 -4
- data/lib/rdoc/generator/template/darkfish/class.rhtml +22 -20
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +24 -1
- data/lib/rdoc/generator/template/darkfish/index.rhtml +1 -1
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +1 -1
- data/lib/rdoc/generator/template/darkfish/js/search.js +1 -1
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +2 -2
- data/lib/rdoc/generator.rb +5 -5
- data/lib/rdoc/i18n.rb +1 -1
- data/lib/rdoc/known_classes.rb +5 -4
- data/lib/rdoc/markdown/literals.rb +24 -8
- data/lib/rdoc/markdown.kpeg +25 -18
- data/lib/rdoc/markdown.rb +323 -226
- data/lib/rdoc/markup/attribute_manager.rb +29 -35
- data/lib/rdoc/markup/parser.rb +12 -6
- data/lib/rdoc/markup/to_html.rb +18 -14
- data/lib/rdoc/markup/to_label.rb +1 -1
- data/lib/rdoc/markup/to_rdoc.rb +3 -20
- data/lib/rdoc/markup.rb +35 -667
- data/lib/rdoc/method_attr.rb +1 -1
- data/lib/rdoc/normal_class.rb +1 -1
- data/lib/rdoc/normal_module.rb +1 -1
- data/lib/rdoc/options.rb +33 -18
- data/lib/rdoc/parser/c.rb +89 -101
- data/lib/rdoc/parser/ruby.rb +25 -10
- data/lib/rdoc/parser.rb +19 -2
- data/lib/rdoc/rd/block_parser.rb +13 -9
- data/lib/rdoc/rd/block_parser.ry +12 -8
- data/lib/rdoc/rd/inline_parser.rb +1 -1
- data/lib/rdoc/rd.rb +3 -4
- data/lib/rdoc/rdoc.rb +17 -3
- data/lib/rdoc/ri/driver.rb +11 -78
- data/lib/rdoc/ri.rb +4 -5
- data/lib/rdoc/rubygems_hook.rb +1 -1
- data/lib/rdoc/servlet.rb +1 -1
- data/lib/rdoc/single_class.rb +5 -0
- data/lib/rdoc/stats.rb +3 -4
- data/lib/rdoc/store.rb +4 -4
- data/lib/rdoc/task.rb +3 -3
- data/lib/rdoc/version.rb +3 -1
- data/lib/rdoc.rb +46 -46
- metadata +4 -9
- data/Gemfile +0 -12
- data/Rakefile +0 -107
- data/bin/console +0 -7
- data/bin/setup +0 -6
- data/rdoc.gemspec +0 -249
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: acfa378032b35ef7563cf5255d5d3127b1fa8066dd5c5255088d7d13fdabb757
|
4
|
+
data.tar.gz: 0bbc31e7348fcc5227a9b4319dc48cfb5e40143eeaeeb471921a5b2c6b098220
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ad2f4cdcf3e7ffa7f81bc8d5795b1481d9c8f7feeba0f2a6455555cecbee603c5fb24e4e612929a7ff314ff027f69b561a0d8cf343c4099ea554db216ad3078
|
7
|
+
data.tar.gz: 93bf81edf3cd84b35db94038b5978abd548042919a1dd3cd039431a681736a3aafe098135c86abe0701dbf3f242bae8af64b293d2f908b2a258ce5075f1519b3
|
data/CONTRIBUTING.rdoc
CHANGED
@@ -34,8 +34,7 @@ RDoc uses bundler for development. To get ready to work on RDoc run:
|
|
34
34
|
This will install all the necessary dependencies for development with rake,
|
35
35
|
generate documentation and run the tests for the first time.
|
36
36
|
|
37
|
-
If the tests don't pass on the first run check the {
|
38
|
-
RDoc}[https://travis-ci.org/ruby/rdoc] to see if there are any known failures
|
37
|
+
If the tests don't pass on the first run check the {GitHub Actions page}[https://github.com/ruby/rdoc/actions] to see if there are any known failures
|
39
38
|
(there shouldn't be).
|
40
39
|
|
41
40
|
You can now use `rake` and `autotest` to run the tests.
|
data/LEGAL.rdoc
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
The files in this distribution are covered by the Ruby license (see LICENSE) except the features mentioned below:
|
6
6
|
|
7
7
|
Darkfish::
|
8
|
-
Darkfish was written by Michael Granger and is included under the
|
8
|
+
Darkfish was written by Michael Granger and is included under the BSD 3-Clause
|
9
9
|
license. Darkfish contains images from the Silk Icons set by Mark James.
|
10
10
|
|
11
11
|
See lib/rdoc/generator/darkfish.rb for license information.
|
data/exe/rdoc
CHANGED
data/lib/rdoc/any_method.rb
CHANGED
@@ -350,12 +350,12 @@ class RDoc::AnyMethod < RDoc::MethodAttr
|
|
350
350
|
ignore << is_alias_for.name
|
351
351
|
ignore.concat is_alias_for.aliases.map(&:name)
|
352
352
|
end
|
353
|
-
ignore.map! { |n| n =~ /\A\[/ ?
|
353
|
+
ignore.map! { |n| n =~ /\A\[/ ? /\[.*\]/ : n}
|
354
354
|
ignore.delete(method_name)
|
355
355
|
ignore = Regexp.union(ignore)
|
356
356
|
|
357
357
|
matching = entries.reject do |entry|
|
358
|
-
entry =~ /^\w*\.?#{ignore}/ or
|
358
|
+
entry =~ /^\w*\.?#{ignore}[$\(\s]/ or
|
359
359
|
entry =~ /\s#{ignore}\s/
|
360
360
|
end
|
361
361
|
|
data/lib/rdoc/code_objects.rb
CHANGED
data/lib/rdoc/context/section.rb
CHANGED
data/lib/rdoc/context.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'cgi'
|
3
|
-
|
4
2
|
##
|
5
3
|
# A Context is something that can hold modules, classes, methods, attributes,
|
6
4
|
# aliases, requires, and includes. Classes, modules, and files are all
|
@@ -1261,6 +1259,6 @@ class RDoc::Context < RDoc::CodeObject
|
|
1261
1259
|
klass
|
1262
1260
|
end
|
1263
1261
|
|
1264
|
-
autoload :Section,
|
1262
|
+
autoload :Section, "#{__dir__}/context/section"
|
1265
1263
|
|
1266
1264
|
end
|
data/lib/rdoc/cross_reference.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'markup/attribute_manager' # for PROTECT_ATTR
|
4
|
+
|
2
5
|
##
|
3
6
|
# RDoc::CrossReference is a reusable way to create cross references for names.
|
4
7
|
|
@@ -14,12 +17,25 @@ class RDoc::CrossReference
|
|
14
17
|
|
15
18
|
CLASS_REGEXP_STR = '\\\\?((?:\:{2})?[A-Z]\w*(?:\:\:\w+)*)'
|
16
19
|
|
20
|
+
##
|
21
|
+
# Regular expression to match a single method argument.
|
22
|
+
|
23
|
+
METHOD_ARG_REGEXP_STR = '[\w.+*/=<>-]+'
|
24
|
+
|
25
|
+
##
|
26
|
+
# Regular expression to match method arguments.
|
27
|
+
|
28
|
+
METHOD_ARGS_REGEXP_STR = /(?:\((?:#{METHOD_ARG_REGEXP_STR}(?:,\s*#{METHOD_ARG_REGEXP_STR})*)?\))?/.source
|
29
|
+
|
17
30
|
##
|
18
31
|
# Regular expression to match method references.
|
19
32
|
#
|
20
33
|
# See CLASS_REGEXP_STR
|
21
34
|
|
22
|
-
METHOD_REGEXP_STR =
|
35
|
+
METHOD_REGEXP_STR = /(
|
36
|
+
(?!\d)[\w#{RDoc::Markup::AttributeManager::PROTECT_ATTR}]+[!?=]?|
|
37
|
+
%|=(?:==?|~)|![=~]|\[\]=?|<(?:<|=>?)?|>[>=]?|[-+!]@?|\*\*?|[\/%\`|&^~]
|
38
|
+
)#{METHOD_ARGS_REGEXP_STR}/.source.delete("\n ").freeze
|
23
39
|
|
24
40
|
##
|
25
41
|
# Regular expressions matching text that should potentially have
|
@@ -3,18 +3,18 @@
|
|
3
3
|
<title><%= h @title %></title>
|
4
4
|
|
5
5
|
<script type="text/javascript">
|
6
|
-
var rdoc_rel_prefix = "<%= asset_rel_prefix %>/";
|
7
|
-
var index_rel_prefix = "<%= rel_prefix %>/";
|
6
|
+
var rdoc_rel_prefix = "<%= h asset_rel_prefix %>/";
|
7
|
+
var index_rel_prefix = "<%= h rel_prefix %>/";
|
8
8
|
</script>
|
9
9
|
|
10
|
-
<script src="<%= asset_rel_prefix %>/js/navigation.js" defer></script>
|
11
|
-
<script src="<%= asset_rel_prefix %>/js/search.js" defer></script>
|
12
|
-
<script src="<%= asset_rel_prefix %>/js/search_index.js" defer></script>
|
13
|
-
<script src="<%= asset_rel_prefix %>/js/searcher.js" defer></script>
|
14
|
-
<script src="<%= asset_rel_prefix %>/js/darkfish.js" defer></script>
|
10
|
+
<script src="<%= h asset_rel_prefix %>/js/navigation.js" defer></script>
|
11
|
+
<script src="<%= h asset_rel_prefix %>/js/search.js" defer></script>
|
12
|
+
<script src="<%= h asset_rel_prefix %>/js/search_index.js" defer></script>
|
13
|
+
<script src="<%= h asset_rel_prefix %>/js/searcher.js" defer></script>
|
14
|
+
<script src="<%= h asset_rel_prefix %>/js/darkfish.js" defer></script>
|
15
15
|
|
16
|
-
<link href="<%= asset_rel_prefix %>/css/fonts.css" rel="stylesheet">
|
17
|
-
<link href="<%= asset_rel_prefix %>/css/rdoc.css" rel="stylesheet">
|
16
|
+
<link href="<%= h asset_rel_prefix %>/css/fonts.css" rel="stylesheet">
|
17
|
+
<link href="<%= h asset_rel_prefix %>/css/rdoc.css" rel="stylesheet">
|
18
18
|
<%- @options.template_stylesheets.each do |stylesheet| -%>
|
19
|
-
<link href="<%= asset_rel_prefix %>/<%= File.basename stylesheet %>" rel="stylesheet">
|
19
|
+
<link href="<%= h asset_rel_prefix %>/<%= File.basename stylesheet %>" rel="stylesheet">
|
20
20
|
<%- end -%>
|
@@ -1,9 +1,33 @@
|
|
1
1
|
<div id="classindex-section" class="nav-section">
|
2
2
|
<h3>Class and Module Index</h3>
|
3
3
|
|
4
|
+
<%-
|
5
|
+
all_classes = @classes.group_by do |klass|
|
6
|
+
klass.full_name[/\A[^:]++(?:::[^:]++(?=::))*+(?=::[^:]*+\z)/]
|
7
|
+
end.delete_if do |_, klasses|
|
8
|
+
!klasses.any?(&:display?)
|
9
|
+
end
|
10
|
+
link = proc do |index_klass, display = index_klass.display?|
|
11
|
+
if display
|
12
|
+
-%><code><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.name %></a></code><%-
|
13
|
+
else
|
14
|
+
-%><code><%= index_klass.name %></code><%-
|
15
|
+
end
|
16
|
+
end
|
17
|
+
if top = all_classes[nil]
|
18
|
+
solo = top.one? {|klass| klass.display?}
|
19
|
+
traverse = proc do |klasses| -%>
|
4
20
|
<ul class="link-list">
|
5
|
-
|
6
|
-
|
21
|
+
<%- klasses.each do |index_klass| -%>
|
22
|
+
<%- if children = all_classes[index_klass.full_name] -%>
|
23
|
+
<li><details<% if solo; solo = false %> open<% end %>><summary><% link.call(index_klass) %></summary>
|
24
|
+
<%- traverse.call(children) -%>
|
25
|
+
</ul></details>
|
26
|
+
<%- elsif index_klass.display? -%>
|
27
|
+
<li><% link.call(index_klass, true) %>
|
28
|
+
<%- end -%>
|
29
|
+
<%- end -%>
|
30
|
+
<%- end -%>
|
31
|
+
<%- traverse.call(top) -%>
|
7
32
|
<%- end -%>
|
8
|
-
</ul>
|
9
33
|
</div>
|
@@ -1,11 +1,31 @@
|
|
1
1
|
<%- simple_files = @files.select { |f| f.text? } %>
|
2
|
+
<%- if defined?(current) -%>
|
3
|
+
<%- dir = current.full_name[%r{\A[^/]+(?=/)}] || current.page_name -%>
|
4
|
+
<%- end -%>
|
2
5
|
<%- unless simple_files.empty? then -%>
|
3
6
|
<div id="fileindex-section" class="nav-section">
|
4
7
|
<h3>Pages</h3>
|
5
8
|
|
6
9
|
<ul class="link-list">
|
7
|
-
<%- simple_files.
|
8
|
-
|
10
|
+
<%- simple_files.group_by do |f| -%>
|
11
|
+
<%- f.full_name[%r{\A[^/]+(?=/)}] || f.page_name -%>
|
12
|
+
<%- end.each do |n, files| -%>
|
13
|
+
<%- f = files.shift -%>
|
14
|
+
<%- if files.empty? -%>
|
15
|
+
<li><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h f.page_name %></a>
|
16
|
+
<%- next -%>
|
17
|
+
<%- end -%>
|
18
|
+
<li><details<% if dir == n %> open<% end %>><summary><%
|
19
|
+
if n == f.page_name
|
20
|
+
%><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h n %></a><%
|
21
|
+
else
|
22
|
+
%><%= h n %><% files.unshift(f)
|
23
|
+
end %></summary>
|
24
|
+
<ul class="link-list">
|
25
|
+
<%- files.each do |f| -%>
|
26
|
+
<li><a href="<%= rel_prefix %>/<%= h f.path %>"><%= h f.page_name %></a>
|
27
|
+
<%- end -%>
|
28
|
+
</ul></details>
|
9
29
|
<%- end -%>
|
10
30
|
</ul>
|
11
31
|
</div>
|
@@ -3,16 +3,37 @@
|
|
3
3
|
else
|
4
4
|
current.comment
|
5
5
|
end
|
6
|
-
table = current.parse(comment).table_of_contents
|
6
|
+
table = current.parse(comment).table_of_contents.dup
|
7
7
|
|
8
8
|
if table.length > 1 then %>
|
9
9
|
<div class="nav-section">
|
10
10
|
<h3>Table of Contents</h3>
|
11
11
|
|
12
|
+
<%- display_link = proc do |heading| -%>
|
13
|
+
<a href="#<%= heading.label current %>"><%= heading.plain_html %></a>
|
14
|
+
<%- end -%>
|
15
|
+
|
16
|
+
<%- list_siblings = proc do -%>
|
17
|
+
<%- level = table.first&.level -%>
|
18
|
+
<%- while table.first && table.first.level >= level -%>
|
19
|
+
<%- heading = table.shift -%>
|
20
|
+
<%- if table.first.nil? || table.first.level <= heading.level -%>
|
21
|
+
<li><% display_link.call heading -%>
|
22
|
+
<%- else -%>
|
23
|
+
<li>
|
24
|
+
<details open>
|
25
|
+
<summary><%- display_link.call heading -%></summary>
|
26
|
+
<ul class="link-list" role="directory">
|
27
|
+
<% list_siblings.call %>
|
28
|
+
</ul>
|
29
|
+
</details>
|
30
|
+
</li>
|
31
|
+
<%- end -%>
|
32
|
+
<%- end -%>
|
33
|
+
<%- end -%>
|
34
|
+
|
12
35
|
<ul class="link-list" role="directory">
|
13
|
-
|
14
|
-
<li><a href="#<%= heading.label current %>"><%= heading.plain_html %></a>
|
15
|
-
<%- end -%>
|
36
|
+
<% list_siblings.call %>
|
16
37
|
</ul>
|
17
38
|
</div>
|
18
39
|
<%- end -%>
|
@@ -98,28 +98,30 @@
|
|
98
98
|
|
99
99
|
<%- methods.each do |method| -%>
|
100
100
|
<div id="<%= method.aref %>" class="method-detail <%= method.is_alias_for ? "method-alias" : '' %>">
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
<
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
<
|
117
|
-
class="method-
|
118
|
-
|
119
|
-
|
101
|
+
<div class="method-header">
|
102
|
+
<%- if (call_seq = method.call_seq) then -%>
|
103
|
+
<%- call_seq.strip.split("\n").each_with_index do |call_seq, i| -%>
|
104
|
+
<div class="method-heading">
|
105
|
+
<span class="method-callseq">
|
106
|
+
<%= h(call_seq.strip.
|
107
|
+
gsub( /^\w+\./m, '')).
|
108
|
+
gsub(/(.*)[-=]>/, '\1→') %>
|
109
|
+
</span>
|
110
|
+
<%- if i == 0 and method.token_stream then -%>
|
111
|
+
<span class="method-click-advice">click to toggle source</span>
|
112
|
+
<%- end -%>
|
113
|
+
</div>
|
114
|
+
<%- end -%>
|
115
|
+
<%- else -%>
|
116
|
+
<div class="method-heading">
|
117
|
+
<span class="method-name"><%= h method.name %></span><span
|
118
|
+
class="method-args"><%= h method.param_seq %></span>
|
119
|
+
<%- if method.token_stream then -%>
|
120
|
+
<span class="method-click-advice">click to toggle source</span>
|
121
|
+
<%- end -%>
|
122
|
+
</div>
|
120
123
|
<%- end -%>
|
121
124
|
</div>
|
122
|
-
<%- end -%>
|
123
125
|
|
124
126
|
<div class="method-description">
|
125
127
|
<%- if method.comment then -%>
|
@@ -186,6 +186,10 @@ nav {
|
|
186
186
|
font-family: Helvetica, sans-serif;
|
187
187
|
font-size: 14px;
|
188
188
|
border-right: 1px solid #ccc;
|
189
|
+
position: sticky;
|
190
|
+
top: 0;
|
191
|
+
overflow: auto;
|
192
|
+
height: calc(100vh - 100px); /* reduce the footer height */
|
189
193
|
}
|
190
194
|
|
191
195
|
main {
|
@@ -305,6 +309,25 @@ dl.note-list dt {
|
|
305
309
|
background: url(../images/arrow_up.png) no-repeat right center;
|
306
310
|
}
|
307
311
|
|
312
|
+
.nav-section details summary {
|
313
|
+
display: block;
|
314
|
+
}
|
315
|
+
|
316
|
+
.nav-section details summary::-webkit-details-marker {
|
317
|
+
display: none;
|
318
|
+
}
|
319
|
+
|
320
|
+
.nav-section details summary:before {
|
321
|
+
content: "";
|
322
|
+
}
|
323
|
+
|
324
|
+
.nav-section details summary:after {
|
325
|
+
content: " \25B6"; /* BLACK RIGHT-POINTING TRIANGLE */
|
326
|
+
}
|
327
|
+
.nav-section details[open] > summary:after {
|
328
|
+
content: " \25BD"; /* WHITE DOWN-POINTING TRIANGLE */
|
329
|
+
}
|
330
|
+
|
308
331
|
/* @end */
|
309
332
|
|
310
333
|
/* @group Documentation Section */
|
@@ -482,7 +505,7 @@ main header h3 {
|
|
482
505
|
|
483
506
|
main .method-source-code {
|
484
507
|
max-height: 0;
|
485
|
-
overflow:
|
508
|
+
overflow: auto;
|
486
509
|
transition-duration: 200ms;
|
487
510
|
transition-delay: 0ms;
|
488
511
|
transition-property: all;
|
@@ -54,7 +54,7 @@ function hookSearch() {
|
|
54
54
|
var html = '';
|
55
55
|
|
56
56
|
// TODO add relative path to <script> per-page
|
57
|
-
html += '<p class="search-match"><a href="' + index_rel_prefix + result.path + '">' + this.hlt(result.title);
|
57
|
+
html += '<p class="search-match"><a href="' + index_rel_prefix + this.escapeHTML(result.path) + '">' + this.hlt(result.title);
|
58
58
|
if (result.params)
|
59
59
|
html += '<span class="params">' + result.params + '</span>';
|
60
60
|
html += '</a>';
|
@@ -101,7 +101,7 @@ Search.prototype = Object.assign({}, Navigation, new function() {
|
|
101
101
|
}
|
102
102
|
|
103
103
|
this.escapeHTML = function(html) {
|
104
|
-
return html.replace(/[&<>]/g, function(c) {
|
104
|
+
return html.replace(/[&<>"`']/g, function(c) {
|
105
105
|
return '&#' + c.charCodeAt(0) + ';';
|
106
106
|
});
|
107
107
|
}
|
@@ -8,14 +8,14 @@
|
|
8
8
|
<ul>
|
9
9
|
<%- simple_files.sort.each do |file| -%>
|
10
10
|
<li class="file">
|
11
|
-
<a href="<%= file.path %>"><%= h file.page_name %></a>
|
11
|
+
<a href="<%= h file.path %>"><%= h file.page_name %></a>
|
12
12
|
<%
|
13
13
|
# HACK table_of_contents should not exist on Document
|
14
14
|
table = file.parse(file.comment).table_of_contents
|
15
15
|
unless table.empty? then %>
|
16
16
|
<ul>
|
17
17
|
<%- table.each do |heading| -%>
|
18
|
-
<li><a href="<%= file.path %>#<%= heading.aref %>"><%= heading.plain_html %></a>
|
18
|
+
<li><a href="<%= h file.path %>#<%= heading.aref %>"><%= heading.plain_html %></a>
|
19
19
|
<%- end -%>
|
20
20
|
</ul>
|
21
21
|
<%- end -%>
|
data/lib/rdoc/generator.rb
CHANGED
@@ -41,11 +41,11 @@
|
|
41
41
|
|
42
42
|
module RDoc::Generator
|
43
43
|
|
44
|
-
autoload :Markup,
|
44
|
+
autoload :Markup, "#{__dir__}/generator/markup"
|
45
45
|
|
46
|
-
autoload :Darkfish,
|
47
|
-
autoload :JsonIndex,
|
48
|
-
autoload :RI,
|
49
|
-
autoload :POT,
|
46
|
+
autoload :Darkfish, "#{__dir__}/generator/darkfish"
|
47
|
+
autoload :JsonIndex, "#{__dir__}/generator/json_index"
|
48
|
+
autoload :RI, "#{__dir__}/generator/ri"
|
49
|
+
autoload :POT, "#{__dir__}/generator/pot"
|
50
50
|
|
51
51
|
end
|
data/lib/rdoc/i18n.rb
CHANGED
data/lib/rdoc/known_classes.rb
CHANGED
@@ -25,6 +25,7 @@ module RDoc
|
|
25
25
|
"rb_cObject" => "Object",
|
26
26
|
"rb_cProc" => "Proc",
|
27
27
|
"rb_cRange" => "Range",
|
28
|
+
"rb_cRefinement" => "Refinement",
|
28
29
|
"rb_cRegexp" => "Regexp",
|
29
30
|
"rb_cRubyVM" => "RubyVM",
|
30
31
|
"rb_cSocket" => "Socket",
|
@@ -35,7 +36,7 @@ module RDoc
|
|
35
36
|
"rb_cTime" => "Time",
|
36
37
|
"rb_cTrueClass" => "TrueClass",
|
37
38
|
|
38
|
-
"rb_eArgError" => "
|
39
|
+
"rb_eArgError" => "ArgumentError",
|
39
40
|
"rb_eEOFError" => "EOFError",
|
40
41
|
"rb_eException" => "Exception",
|
41
42
|
"rb_eFatal" => "fatal",
|
@@ -45,8 +46,8 @@ module RDoc
|
|
45
46
|
"rb_eInterrupt" => "Interrupt",
|
46
47
|
"rb_eLoadError" => "LoadError",
|
47
48
|
"rb_eNameError" => "NameError",
|
48
|
-
"rb_eNoMemError" => "
|
49
|
-
"rb_eNotImpError" => "
|
49
|
+
"rb_eNoMemError" => "NoMemoryError",
|
50
|
+
"rb_eNotImpError" => "NotImplementedError",
|
50
51
|
"rb_eRangeError" => "RangeError",
|
51
52
|
"rb_eRuntimeError" => "RuntimeError",
|
52
53
|
"rb_eScriptError" => "ScriptError",
|
@@ -57,7 +58,7 @@ module RDoc
|
|
57
58
|
"rb_eSystemCallError" => "SystemCallError",
|
58
59
|
"rb_eSystemExit" => "SystemExit",
|
59
60
|
"rb_eTypeError" => "TypeError",
|
60
|
-
"rb_eZeroDivError" => "
|
61
|
+
"rb_eZeroDivError" => "ZeroDivisionError",
|
61
62
|
|
62
63
|
"rb_mComparable" => "Comparable",
|
63
64
|
"rb_mEnumerable" => "Enumerable",
|
@@ -29,6 +29,7 @@ class RDoc::Markdown::Literals
|
|
29
29
|
@result = nil
|
30
30
|
@failed_rule = nil
|
31
31
|
@failing_rule_offset = -1
|
32
|
+
@line_offsets = nil
|
32
33
|
|
33
34
|
setup_foreign_grammar
|
34
35
|
end
|
@@ -45,17 +46,32 @@ class RDoc::Markdown::Literals
|
|
45
46
|
target + 1
|
46
47
|
end
|
47
48
|
|
48
|
-
|
49
|
-
|
50
|
-
|
49
|
+
if [].respond_to? :bsearch_index
|
50
|
+
def current_line(target=pos)
|
51
|
+
unless @line_offsets
|
52
|
+
@line_offsets = []
|
53
|
+
total = 0
|
54
|
+
string.each_line do |line|
|
55
|
+
total += line.size
|
56
|
+
@line_offsets << total
|
57
|
+
end
|
58
|
+
end
|
51
59
|
|
52
|
-
|
53
|
-
cur_line += 1
|
54
|
-
cur_offset += line.size
|
55
|
-
return cur_line if cur_offset >= target
|
60
|
+
@line_offsets.bsearch_index {|x| x >= target } + 1 || -1
|
56
61
|
end
|
62
|
+
else
|
63
|
+
def current_line(target=pos)
|
64
|
+
cur_offset = 0
|
65
|
+
cur_line = 0
|
66
|
+
|
67
|
+
string.each_line do |line|
|
68
|
+
cur_line += 1
|
69
|
+
cur_offset += line.size
|
70
|
+
return cur_line if cur_offset >= target
|
71
|
+
end
|
57
72
|
|
58
|
-
|
73
|
+
-1
|
74
|
+
end
|
59
75
|
end
|
60
76
|
|
61
77
|
def lines
|
data/lib/rdoc/markdown.kpeg
CHANGED
@@ -187,11 +187,11 @@
|
|
187
187
|
|
188
188
|
%% {
|
189
189
|
|
190
|
-
|
191
|
-
|
192
|
-
|
190
|
+
require_relative '../rdoc'
|
191
|
+
require_relative 'markup/to_joined_paragraph'
|
192
|
+
require_relative 'markdown/entities'
|
193
193
|
|
194
|
-
|
194
|
+
require_relative 'markdown/literals'
|
195
195
|
|
196
196
|
##
|
197
197
|
# Supported extensions
|
@@ -449,7 +449,7 @@
|
|
449
449
|
|
450
450
|
@note_order.each_with_index do |ref, index|
|
451
451
|
label = index + 1
|
452
|
-
note = @footnotes[ref]
|
452
|
+
note = @footnotes[ref] or raise ParseError, "footnote [^#{ref}] not found"
|
453
453
|
|
454
454
|
link = "{^#{label}}[rdoc-label:footmark-#{label}:foottext-#{label}] "
|
455
455
|
note.parts.unshift link
|
@@ -1135,7 +1135,7 @@ StartList = &.
|
|
1135
1135
|
{ [] }
|
1136
1136
|
|
1137
1137
|
Line = @RawLine:a { a }
|
1138
|
-
RawLine = ( <
|
1138
|
+
RawLine = ( < /[^\r\n]*/ @Newline >
|
1139
1139
|
| < .+ > @Eof ) { text }
|
1140
1140
|
|
1141
1141
|
SkipBlock = HtmlBlock
|
@@ -1179,7 +1179,7 @@ InlineNote = &{ notes? }
|
|
1179
1179
|
Notes = ( Note | SkipBlock )*
|
1180
1180
|
|
1181
1181
|
RawNoteBlock = @StartList:a
|
1182
|
-
( !@BlankLine OptionallyIndentedLine:l { a << l } )+
|
1182
|
+
( !@BlankLine !RawNoteReference OptionallyIndentedLine:l { a << l } )+
|
1183
1183
|
( < @BlankLine* > { a << text } )
|
1184
1184
|
{ a }
|
1185
1185
|
|
@@ -1198,19 +1198,26 @@ CodeFence = &{ github? }
|
|
1198
1198
|
}
|
1199
1199
|
|
1200
1200
|
Table = &{ github? }
|
1201
|
-
|
1201
|
+
TableHead:header TableLine:line TableRow+:body
|
1202
1202
|
{ table = RDoc::Markup::Table.new(header, line, body) }
|
1203
1203
|
|
1204
|
-
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1211
|
-
|
1212
|
-
|
1213
|
-
|
1204
|
+
TableHead = TableItem2+:items "|"? @Newline
|
1205
|
+
{ items }
|
1206
|
+
|
1207
|
+
TableRow = ( ( TableItem:item1 TableItem2*:items { [item1, *items] } ):row | TableItem2+:row ) "|"? @Newline
|
1208
|
+
{ row }
|
1209
|
+
TableItem2 = "|" TableItem
|
1210
|
+
TableItem = < /(?:\\.|[^|\n])+/ >
|
1211
|
+
{ text.strip.gsub(/\\(.)/, '\1') }
|
1212
|
+
|
1213
|
+
TableLine = ( ( TableAlign:align1 TableAlign2*:aligns {[align1, *aligns] } ):line | TableAlign2+:line ) "|"? @Newline
|
1214
|
+
{ line }
|
1215
|
+
TableAlign2 = "|" @Sp TableAlign
|
1216
|
+
TableAlign = < /:?-+:?/ > @Sp
|
1217
|
+
{
|
1218
|
+
text.start_with?(":") ?
|
1219
|
+
(text.end_with?(":") ? :center : :left) :
|
1220
|
+
(text.end_with?(":") ? :right : nil)
|
1214
1221
|
}
|
1215
1222
|
|
1216
1223
|
DefinitionList = &{ definition_lists? }
|