rdoc 6.5.1.1 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +2 -2
  3. data/TODO.rdoc +1 -1
  4. data/lib/rdoc/alias.rb +0 -1
  5. data/lib/rdoc/anon_class.rb +0 -1
  6. data/lib/rdoc/any_method.rb +15 -0
  7. data/lib/rdoc/attr.rb +0 -1
  8. data/lib/rdoc/class_module.rb +0 -1
  9. data/lib/rdoc/comment.rb +20 -41
  10. data/lib/rdoc/constant.rb +0 -1
  11. data/lib/rdoc/context/section.rb +0 -1
  12. data/lib/rdoc/cross_reference.rb +0 -1
  13. data/lib/rdoc/encoding.rb +1 -6
  14. data/lib/rdoc/erb_partial.rb +0 -1
  15. data/lib/rdoc/erbio.rb +2 -7
  16. data/lib/rdoc/extend.rb +0 -1
  17. data/lib/rdoc/generator/darkfish.rb +2 -6
  18. data/lib/rdoc/generator/json_index.rb +2 -2
  19. data/lib/rdoc/generator/markup.rb +0 -1
  20. data/lib/rdoc/generator/ri.rb +0 -1
  21. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +1 -1
  22. data/lib/rdoc/generator/template/darkfish/class.rhtml +6 -0
  23. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +27 -13
  24. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +13 -0
  25. data/lib/rdoc/generator/template/darkfish/js/search.js +3 -3
  26. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +5 -4
  27. data/lib/rdoc/generator/template/json_index/js/navigation.js +8 -8
  28. data/lib/rdoc/ghost_method.rb +0 -1
  29. data/lib/rdoc/include.rb +0 -1
  30. data/lib/rdoc/markdown/entities.rb +0 -1
  31. data/lib/rdoc/markdown/literals.rb +28 -9
  32. data/lib/rdoc/markdown.kpeg +1 -1
  33. data/lib/rdoc/markdown.rb +1 -1
  34. data/lib/rdoc/markup/attr_changer.rb +0 -1
  35. data/lib/rdoc/markup/attr_span.rb +0 -1
  36. data/lib/rdoc/markup/attribute_manager.rb +11 -12
  37. data/lib/rdoc/markup/attributes.rb +0 -1
  38. data/lib/rdoc/markup/blank_line.rb +0 -1
  39. data/lib/rdoc/markup/block_quote.rb +0 -1
  40. data/lib/rdoc/markup/document.rb +0 -1
  41. data/lib/rdoc/markup/formatter.rb +0 -1
  42. data/lib/rdoc/markup/hard_break.rb +0 -1
  43. data/lib/rdoc/markup/heading.rb +0 -1
  44. data/lib/rdoc/markup/include.rb +0 -1
  45. data/lib/rdoc/markup/indented_paragraph.rb +0 -1
  46. data/lib/rdoc/markup/list.rb +0 -1
  47. data/lib/rdoc/markup/list_item.rb +0 -1
  48. data/lib/rdoc/markup/paragraph.rb +0 -1
  49. data/lib/rdoc/markup/raw.rb +0 -1
  50. data/lib/rdoc/markup/regexp_handling.rb +0 -1
  51. data/lib/rdoc/markup/rule.rb +0 -1
  52. data/lib/rdoc/markup/to_ansi.rb +0 -1
  53. data/lib/rdoc/markup/to_html.rb +3 -2
  54. data/lib/rdoc/markup/to_html_crossref.rb +0 -1
  55. data/lib/rdoc/markup/to_html_snippet.rb +0 -1
  56. data/lib/rdoc/markup/to_joined_paragraph.rb +2 -3
  57. data/lib/rdoc/markup/to_label.rb +0 -1
  58. data/lib/rdoc/markup/to_markdown.rb +0 -1
  59. data/lib/rdoc/markup/to_rdoc.rb +0 -1
  60. data/lib/rdoc/markup/to_table_of_contents.rb +0 -1
  61. data/lib/rdoc/markup/to_test.rb +0 -1
  62. data/lib/rdoc/markup/to_tt_only.rb +0 -1
  63. data/lib/rdoc/markup/verbatim.rb +0 -1
  64. data/lib/rdoc/meta_method.rb +0 -1
  65. data/lib/rdoc/method_attr.rb +0 -1
  66. data/lib/rdoc/mixin.rb +0 -1
  67. data/lib/rdoc/normal_class.rb +0 -1
  68. data/lib/rdoc/normal_module.rb +0 -1
  69. data/lib/rdoc/options.rb +3 -2
  70. data/lib/rdoc/parser/changelog.rb +0 -1
  71. data/lib/rdoc/parser/markdown.rb +0 -2
  72. data/lib/rdoc/parser/rd.rb +0 -1
  73. data/lib/rdoc/parser/ripper_state_lex.rb +1 -1
  74. data/lib/rdoc/parser/ruby.rb +4 -4
  75. data/lib/rdoc/parser/ruby_tools.rb +0 -2
  76. data/lib/rdoc/parser/text.rb +0 -1
  77. data/lib/rdoc/rd/block_parser.rb +650 -2
  78. data/lib/rdoc/rd/block_parser.ry +1 -1
  79. data/lib/rdoc/rd/inline.rb +0 -1
  80. data/lib/rdoc/rd/inline_parser.rb +2 -2
  81. data/lib/rdoc/rdoc.rb +2 -4
  82. data/lib/rdoc/require.rb +0 -1
  83. data/lib/rdoc/ri/driver.rb +9 -8
  84. data/lib/rdoc/ri/store.rb +0 -1
  85. data/lib/rdoc/single_class.rb +0 -1
  86. data/lib/rdoc/stats/quiet.rb +0 -1
  87. data/lib/rdoc/stats/verbose.rb +0 -2
  88. data/lib/rdoc/store.rb +19 -26
  89. data/lib/rdoc/task.rb +28 -2
  90. data/lib/rdoc/token_stream.rb +0 -1
  91. data/lib/rdoc/top_level.rb +0 -1
  92. data/lib/rdoc/version.rb +1 -1
  93. metadata +11 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 847213367e1e1b418f9b04f706e922fb9819940e738100334aa65307512aaa85
4
- data.tar.gz: 04e77e04cf5dff2f3a3a9e3513e3d09613c954ac1c3a07b69c89bf63a829c23d
3
+ metadata.gz: 947667e0cc733b38e36c829627ea1cca454420e44124b9536bf7f6ab7c687688
4
+ data.tar.gz: ce0d8a98c383e7c6b03138fbb62a31626bb24a20be3967aefa3c29a302b0d9f6
5
5
  SHA512:
6
- metadata.gz: dc0c88c8c59219ed05af3141947b92f32f7123062d77b644d20f9ef5c63ccffbad5a22e705b06f31d9307006a81dfe01d4a1dc483e26894b93c7d9a07e88ae32
7
- data.tar.gz: 79d8c258e8e750bcf574288e572a68d8429efa1fa4460928685055aace0bf2010d5da30163cc9d6e40a99d19f305d7c5c4b69a4a7dd5100387cef3ca95ecbbe8
6
+ metadata.gz: dd6e321fe810da6ed4b5257df5347474adb514b061c9c5ad981c57feef340544e6e51fe9bfe48ef31bc7eaa87fc179883635d5448f6f2ab669443adcd6e98d46
7
+ data.tar.gz: 1c7d9158ca93ab8a913f282d6a641bc6d2f69eecf779b452d93fb935f6fde8e0e536d186ca8c2eba90a58a31ffd34cffd9af7a220fd5ff0ed63da6cf68ad8ed2
data/README.rdoc CHANGED
@@ -3,7 +3,7 @@
3
3
  home :: https://github.com/ruby/rdoc
4
4
  rdoc :: https://ruby.github.io/rdoc
5
5
  bugs :: https://github.com/ruby/rdoc/issues
6
- code quality :: {<img src="https://codeclimate.com/github/ruby/rdoc/badges/gpa.svg" alt="Code Climate">}[https://codeclimate.com/github/ruby/rdoc]
6
+ code quality :: https://codeclimate.com/github/ruby/rdoc
7
7
 
8
8
  == Description
9
9
 
@@ -46,7 +46,7 @@ contain just Markup-style markup (with or without leading '#' comment
46
46
  markers). If directory names are passed to RDoc, they are scanned
47
47
  recursively for C and Ruby source files only.
48
48
 
49
- To generate documentation using +rake+ see RDoc::Task[https://ruby.github.io/rdoc/RDocTask.html].
49
+ To generate documentation using +rake+ see RDoc::Task[https://ruby.github.io/rdoc/RDoc/Task.html].
50
50
 
51
51
  To generate documentation programmatically:
52
52
 
data/TODO.rdoc CHANGED
@@ -26,7 +26,7 @@ Nice to have:
26
26
  * Global variable support
27
27
  * Provide the code_object to directive handlers
28
28
 
29
- === 4
29
+ === More Future
30
30
 
31
31
  API changes to RDoc
32
32
 
data/lib/rdoc/alias.rb CHANGED
@@ -109,4 +109,3 @@ class RDoc::Alias < RDoc::CodeObject
109
109
  end
110
110
 
111
111
  end
112
-
@@ -8,4 +8,3 @@
8
8
 
9
9
  class RDoc::AnonClass < RDoc::ClassModule
10
10
  end
11
-
@@ -115,6 +115,13 @@ class RDoc::AnyMethod < RDoc::MethodAttr
115
115
  @call_seq = call_seq
116
116
  end
117
117
 
118
+ ##
119
+ # Whether the method has a call-seq.
120
+
121
+ def has_call_seq?
122
+ !!(@call_seq || is_alias_for&._call_seq)
123
+ end
124
+
118
125
  ##
119
126
  # Loads is_alias_for from the internal name. Returns nil if the alias
120
127
  # cannot be found.
@@ -296,6 +303,14 @@ class RDoc::AnyMethod < RDoc::MethodAttr
296
303
  params
297
304
  end
298
305
 
306
+ ##
307
+ # Whether to skip the method description, true for methods that have
308
+ # aliases with a call-seq that doesn't include the method name.
309
+
310
+ def skip_description?
311
+ has_call_seq? && call_seq.nil? && !!(is_alias_for || !aliases.empty?)
312
+ end
313
+
299
314
  ##
300
315
  # Sets the store for this method and its referenced code objects.
301
316
 
data/lib/rdoc/attr.rb CHANGED
@@ -173,4 +173,3 @@ class RDoc::Attr < RDoc::MethodAttr
173
173
  end
174
174
 
175
175
  end
176
-
@@ -799,4 +799,3 @@ class RDoc::ClassModule < RDoc::Context
799
799
  end
800
800
 
801
801
  end
802
-
data/lib/rdoc/comment.rb CHANGED
@@ -6,8 +6,8 @@
6
6
  # Each comment may have a different markup format set by #format=. By default
7
7
  # 'rdoc' is used. The :markup: directive tells RDoc which format to use.
8
8
  #
9
- # See RDoc::Markup@Other+directives for instructions on adding an alternate
10
- # format.
9
+ # See RDoc::MarkupReference@Directive+for+Specifying+RDoc+Source+Format.
10
+
11
11
 
12
12
  class RDoc::Comment
13
13
 
@@ -97,42 +97,26 @@ class RDoc::Comment
97
97
  # comment. The difficulty is to make sure not to match lines starting
98
98
  # with ARGF at the same indent, but that are after the first description
99
99
  # paragraph.
100
- if @text =~ /^\s*:?call-seq:(.*?(?:\S).*?)^\s*$/m then
100
+ if /^(?<S> ((?!\n)\s)*+ (?# whitespaces except newline))
101
+ :?call-seq:
102
+ (?<B> \g<S>(?<N>\n|\z) (?# trailing spaces))?
103
+ (?<seq>
104
+ (\g<S>(?!\w)\S.*\g<N>)*
105
+ (?>
106
+ (?<H> \g<S>\w+ (?# ' # ARGF' in the example above))
107
+ .*\g<N>)?
108
+ (\g<S>\S.*\g<N> (?# other non-blank line))*+
109
+ (\g<B>+(\k<H>.*\g<N> (?# ARGF.to_a lines))++)*+
110
+ )
111
+ (?m:^\s*$|\z)
112
+ /x =~ @text
113
+ seq = $~[:seq]
114
+
101
115
  all_start, all_stop = $~.offset(0)
102
- seq_start, seq_stop = $~.offset(1)
103
-
104
- # we get the following lines that start with the leading word at the
105
- # same indent, even if they have blank lines before
106
- if $1 =~ /(^\s*\n)+^(\s*\w+)/m then
107
- leading = $2 # ' * ARGF' in the example above
108
- re = %r%
109
- \A(
110
- (^\s*\n)+
111
- (^#{Regexp.escape leading}.*?\n)+
112
- )+
113
- ^\s*$
114
- %xm
115
-
116
- if @text[seq_stop..-1] =~ re then
117
- all_stop = seq_stop + $~.offset(0).last
118
- seq_stop = seq_stop + $~.offset(1).last
119
- end
120
- end
121
-
122
- seq = @text[seq_start..seq_stop]
123
- seq.gsub!(/^\s*(\S|\n)/m, '\1')
124
116
  @text.slice! all_start...all_stop
125
117
 
126
- method.call_seq = seq.chomp
127
-
128
- else
129
- regexp = /^\s*:?call-seq:(.*?)(^\s*$|\z)/m
130
- if regexp =~ @text then
131
- @text = @text.sub(regexp, '')
132
- seq = $1
133
- seq.gsub!(/^\s*/, '')
134
- method.call_seq = seq
135
- end
118
+ seq.gsub!(/^\s*/, '')
119
+ method.call_seq = seq
136
120
  end
137
121
 
138
122
  method
@@ -149,12 +133,7 @@ class RDoc::Comment
149
133
  # HACK dubious
150
134
 
151
135
  def encode! encoding
152
- # TODO: Remove this condition after Ruby 2.2 EOL
153
- if RUBY_VERSION < '2.3.0'
154
- @text = @text.force_encoding encoding
155
- else
156
- @text = String.new @text, encoding: encoding
157
- end
136
+ @text = String.new @text, encoding: encoding
158
137
  self
159
138
  end
160
139
 
data/lib/rdoc/constant.rb CHANGED
@@ -184,4 +184,3 @@ class RDoc::Constant < RDoc::CodeObject
184
184
  end
185
185
 
186
186
  end
187
-
@@ -231,4 +231,3 @@ class RDoc::Context::Section
231
231
  end
232
232
 
233
233
  end
234
-
@@ -223,4 +223,3 @@ class RDoc::CrossReference
223
223
  end
224
224
 
225
225
  end
226
-
data/lib/rdoc/encoding.rb CHANGED
@@ -124,12 +124,7 @@ module RDoc::Encoding
124
124
  if text.kind_of? RDoc::Comment
125
125
  text.encode! encoding
126
126
  else
127
- # TODO: Remove this condition after Ruby 2.2 EOL
128
- if RUBY_VERSION < '2.3.0'
129
- text.force_encoding encoding
130
- else
131
- String.new text, encoding: encoding
132
- end
127
+ String.new text, encoding: encoding
133
128
  end
134
129
  end
135
130
 
@@ -16,4 +16,3 @@ class RDoc::ERBPartial < ERB
16
16
  end
17
17
 
18
18
  end
19
-
data/lib/rdoc/erbio.rb CHANGED
@@ -20,12 +20,8 @@ class RDoc::ERBIO < ERB
20
20
  ##
21
21
  # Defaults +eoutvar+ to 'io', otherwise is identical to ERB's initialize
22
22
 
23
- def initialize str, safe_level = nil, legacy_trim_mode = nil, legacy_eoutvar = 'io', trim_mode: nil, eoutvar: 'io'
24
- if RUBY_VERSION >= '2.6'
25
- super(str, trim_mode: trim_mode, eoutvar: eoutvar)
26
- else
27
- super(str, safe_level, legacy_trim_mode, legacy_eoutvar)
28
- end
23
+ def initialize str, trim_mode: nil, eoutvar: 'io'
24
+ super(str, trim_mode: trim_mode, eoutvar: eoutvar)
29
25
  end
30
26
 
31
27
  ##
@@ -39,4 +35,3 @@ class RDoc::ERBIO < ERB
39
35
  end
40
36
 
41
37
  end
42
-
data/lib/rdoc/extend.rb CHANGED
@@ -7,4 +7,3 @@
7
7
  class RDoc::Extend < RDoc::Mixin
8
8
 
9
9
  end
10
-
@@ -610,7 +610,7 @@ class RDoc::Generator::Darkfish
610
610
 
611
611
  @classes = @store.all_classes_and_modules.sort
612
612
  @files = @store.all_files.sort
613
- @methods = @classes.map { |m| m.method_list }.flatten.sort
613
+ @methods = @classes.flat_map { |m| m.method_list }.sort
614
614
  @modsort = get_sorted_module_list @classes
615
615
  end
616
616
 
@@ -778,11 +778,7 @@ class RDoc::Generator::Darkfish
778
778
  erbout = "_erbout_#{file_var}"
779
779
  end
780
780
 
781
- if RUBY_VERSION >= '2.6'
782
- template = klass.new template, trim_mode: '-', eoutvar: erbout
783
- else
784
- template = klass.new template, nil, '-', erbout
785
- end
781
+ template = klass.new template, trim_mode: '-', eoutvar: erbout
786
782
  @template_cache[file] = template
787
783
  template
788
784
  end
@@ -230,9 +230,9 @@ class RDoc::Generator::JsonIndex
230
230
  def index_methods
231
231
  debug_msg " generating method search index"
232
232
 
233
- list = @classes.uniq.map do |klass|
233
+ list = @classes.uniq.flat_map do |klass|
234
234
  klass.method_list
235
- end.flatten.sort_by do |method|
235
+ end.sort_by do |method|
236
236
  [method.name, method.parent.full_name]
237
237
  end
238
238
 
@@ -157,4 +157,3 @@ class RDoc::TopLevel
157
157
  end
158
158
 
159
159
  end
160
-
@@ -28,4 +28,3 @@ class RDoc::Generator::RI
28
28
  end
29
29
 
30
30
  end
31
-
@@ -3,7 +3,7 @@
3
3
  <div id="search-field-wrapper">
4
4
  <input id="search-field" role="combobox" aria-label="Search"
5
5
  aria-autocomplete="list" aria-controls="search-results"
6
- type="text" name="search" placeholder="Search" spellcheck="false"
6
+ type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
7
7
  title="Type to search, Up and Down to navigate, Enter to load">
8
8
  </div>
9
9
 
@@ -112,6 +112,10 @@
112
112
  <%- end -%>
113
113
  </div>
114
114
  <%- end -%>
115
+ <%- elsif method.has_call_seq? then -%>
116
+ <div class="method-heading">
117
+ <span class="method-name"><%= h method.name %></span>
118
+ </div>
115
119
  <%- else -%>
116
120
  <div class="method-heading">
117
121
  <span class="method-name"><%= h method.name %></span><span
@@ -123,6 +127,7 @@
123
127
  <%- end -%>
124
128
  </div>
125
129
 
130
+ <%- unless method.skip_description? then -%>
126
131
  <div class="method-description">
127
132
  <%- if method.comment then -%>
128
133
  <%= method.description.strip %>
@@ -145,6 +150,7 @@
145
150
  </div>
146
151
  <%- end -%>
147
152
  </div>
153
+ <%- end -%>
148
154
 
149
155
  <%- unless method.aliases.empty? then -%>
150
156
  <div class="aliases">
@@ -17,6 +17,14 @@ body {
17
17
  background: #fafafa;
18
18
  font-family: Lato, sans-serif;
19
19
  font-weight: 300;
20
+
21
+ /* Layout */
22
+ display: grid;
23
+ grid-template-columns: auto 1fr;
24
+ }
25
+
26
+ body > :last-child {
27
+ grid-column: 1 / 3;
20
28
  }
21
29
 
22
30
  h1 span,
@@ -181,21 +189,25 @@ table tr:nth-child(even) td {
181
189
  /* @group Top-Level Structure */
182
190
 
183
191
  nav {
184
- float: left;
185
- width: 260px;
186
192
  font-family: Helvetica, sans-serif;
187
193
  font-size: 14px;
188
194
  border-right: 1px solid #ccc;
189
195
  position: sticky;
190
196
  top: 0;
191
197
  overflow: auto;
198
+
199
+ /* Layout */
200
+ width: 260px; /* fallback */
201
+ width: max(50px, 20vw);
202
+ min-width: 50px;
203
+ max-width: 80vw;
192
204
  height: calc(100vh - 100px); /* reduce the footer height */
205
+ resize: horizontal;
193
206
  }
194
207
 
195
208
  main {
196
209
  display: block;
197
- margin: 0 2em 5em 260px;
198
- padding-left: 20px;
210
+ margin: 1em;
199
211
  min-width: 340px;
200
212
  font-size: 16px;
201
213
  }
@@ -214,7 +226,6 @@ main h6 {
214
226
  }
215
227
 
216
228
  #validator-badges {
217
- clear: both;
218
229
  margin: 1em 1em 2em;
219
230
  font-size: smaller;
220
231
  }
@@ -309,23 +320,26 @@ dl.note-list dt {
309
320
  background: url(../images/arrow_up.png) no-repeat right center;
310
321
  }
311
322
 
312
- .nav-section details summary {
323
+ .nav-section details > summary {
313
324
  display: block;
314
325
  }
315
326
 
316
- .nav-section details summary::-webkit-details-marker {
327
+ .nav-section details > summary::-webkit-details-marker {
317
328
  display: none;
318
329
  }
319
330
 
320
- .nav-section details summary:before {
331
+ .nav-section details > summary::before {
321
332
  content: "";
322
333
  }
323
334
 
324
- .nav-section details summary:after {
325
- content: " \25B6"; /* BLACK RIGHT-POINTING TRIANGLE */
335
+ .nav-section details > summary::after {
336
+ content: "\25B6"; /* BLACK RIGHT-POINTING TRIANGLE */
337
+ font-size: 0.8em;
338
+ margin-left: 0.4em;
326
339
  }
327
- .nav-section details[open] > summary:after {
328
- content: " \25BD"; /* WHITE DOWN-POINTING TRIANGLE */
340
+
341
+ .nav-section details[open] > summary::after {
342
+ content: "\25BD"; /* WHITE DOWN-POINTING TRIANGLE */
329
343
  }
330
344
 
331
345
  /* @end */
@@ -553,7 +567,7 @@ main .method-click-advice {
553
567
  line-height: 20px;
554
568
  background: url(../images/zoom.png) no-repeat right top;
555
569
  }
556
- main .method-heading:hover .method-click-advice {
570
+ main .method-header:hover .method-click-advice {
557
571
  visibility: visible;
558
572
  }
559
573
 
@@ -78,7 +78,20 @@ function hookSearch() {
78
78
  search.scrollIntoView = search.scrollInWindow;
79
79
  };
80
80
 
81
+ function hookFocus() {
82
+ document.addEventListener("keydown", (event) => {
83
+ if (document.activeElement.tagName === 'INPUT') {
84
+ return;
85
+ }
86
+ if (event.key === "/") {
87
+ event.preventDefault();
88
+ document.querySelector('#search-field').focus();
89
+ }
90
+ });
91
+ }
92
+
81
93
  document.addEventListener('DOMContentLoaded', function() {
82
94
  hookSourceViews();
83
95
  hookSearch();
96
+ hookFocus();
84
97
  });
@@ -15,9 +15,9 @@ Search.prototype = Object.assign({}, Navigation, new function() {
15
15
  this.init = function() {
16
16
  var _this = this;
17
17
  var observer = function(e) {
18
- switch(e.keyCode) {
19
- case 38: // Event.KEY_UP
20
- case 40: // Event.KEY_DOWN
18
+ switch(e.key) {
19
+ case 'ArrowUp':
20
+ case 'ArrowDown':
21
21
  return;
22
22
  }
23
23
  _this.search(_this.input.value);
@@ -36,8 +36,9 @@
36
36
  unless table.empty? then %>
37
37
  <ul>
38
38
  <%- table.each do |item| -%>
39
- <li><a href="<%= klass.path %>#<%= item.aref %>"><%= item.plain_html %></a>
40
- <%- end -%>
39
+ <%- label = item.respond_to?(:label) ? item.label(klass) : item.aref -%>
40
+ <li><a href="<%= klass.path %>#<%= label %>"><%= item.plain_html %></a>
41
+ <%- end -%>
41
42
  </ul>
42
43
  <%- end -%>
43
44
  </li>
@@ -46,9 +47,9 @@
46
47
 
47
48
  <h2 id="methods">Methods</h2>
48
49
  <ul>
49
- <%- @store.all_classes_and_modules.map do |mod|
50
+ <%- @store.all_classes_and_modules.flat_map do |mod|
50
51
  mod.method_list
51
- end.flatten.sort.each do |method| %>
52
+ end.sort.each do |method| %>
52
53
  <li class="method">
53
54
  <a href="<%= method.path %>"><%= h method.pretty_name %></a>
54
55
  &mdash;
@@ -23,24 +23,24 @@ Navigation = new function() {
23
23
 
24
24
  this.onkeydown = function(e) {
25
25
  if (!this.navigationActive) return;
26
- switch(e.keyCode) {
27
- case 37: //Event.KEY_LEFT:
26
+ switch(e.key) {
27
+ case 'ArrowLeft':
28
28
  if (this.moveLeft()) e.preventDefault();
29
29
  break;
30
- case 38: //Event.KEY_UP:
31
- if (e.keyCode == 38 || e.ctrlKey) {
30
+ case 'ArrowUp':
31
+ if (e.key == 'ArrowUp' || e.ctrlKey) {
32
32
  if (this.moveUp()) e.preventDefault();
33
33
  }
34
34
  break;
35
- case 39: //Event.KEY_RIGHT:
35
+ case 'ArrowRight':
36
36
  if (this.moveRight()) e.preventDefault();
37
37
  break;
38
- case 40: //Event.KEY_DOWN:
39
- if (e.keyCode == 40 || e.ctrlKey) {
38
+ case 'ArrowDown':
39
+ if (e.key == 'ArrowDown' || e.ctrlKey) {
40
40
  if (this.moveDown()) e.preventDefault();
41
41
  }
42
42
  break;
43
- case 13: //Event.KEY_RETURN:
43
+ case 'Enter':
44
44
  if (this.current) e.preventDefault();
45
45
  this.select(this.current);
46
46
  break;
@@ -4,4 +4,3 @@
4
4
 
5
5
  class RDoc::GhostMethod < RDoc::AnyMethod
6
6
  end
7
-
data/lib/rdoc/include.rb CHANGED
@@ -7,4 +7,3 @@
7
7
  class RDoc::Include < RDoc::Mixin
8
8
 
9
9
  end
10
-
@@ -2129,4 +2129,3 @@ RDoc::Markdown::HTML_ENTITIES = {
2129
2129
  "zwj" => [0x0200D],
2130
2130
  "zwnj" => [0x0200C],
2131
2131
  }
2132
-
@@ -64,6 +64,9 @@ class RDoc::Markdown::Literals
64
64
  def current_line(target=pos)
65
65
  if line = position_line_offsets.bsearch_index {|x| x > target }
66
66
  return line + 1
67
+ elsif target == string.size
68
+ past_last = !string.empty? && string[-1]=="\n" ? 1 : 0
69
+ return position_line_offsets.size + past_last
67
70
  end
68
71
  raise "Target position #{target} is outside of string"
69
72
  end
@@ -71,17 +74,22 @@ class RDoc::Markdown::Literals
71
74
  def current_line(target=pos)
72
75
  if line = position_line_offsets.index {|x| x > target }
73
76
  return line + 1
77
+ elsif target == string.size
78
+ past_last = !string.empty? && string[-1]=="\n" ? 1 : 0
79
+ return position_line_offsets.size + past_last
74
80
  end
75
-
76
81
  raise "Target position #{target} is outside of string"
77
82
  end
78
83
  end
79
84
 
80
85
  def current_character(target=pos)
81
- if target < 0 || target >= string.size
86
+ if target < 0 || target > string.size
82
87
  raise "Target position #{target} is outside of string"
88
+ elsif target == string.size
89
+ ""
90
+ else
91
+ string[target, 1]
83
92
  end
84
- string[target, 1]
85
93
  end
86
94
 
87
95
  KpegPosInfo = Struct.new(:pos, :lno, :col, :line, :char)
@@ -200,6 +208,15 @@ class RDoc::Markdown::Literals
200
208
 
201
209
  attr_reader :failed_rule
202
210
 
211
+ def match_dot()
212
+ if @pos >= @string_size
213
+ return nil
214
+ end
215
+
216
+ @pos += 1
217
+ true
218
+ end
219
+
203
220
  def match_string(str)
204
221
  len = str.size
205
222
  if @string[pos,len] == str
@@ -220,24 +237,26 @@ class RDoc::Markdown::Literals
220
237
  end
221
238
 
222
239
  if "".respond_to? :ord
223
- def get_byte
240
+ def match_char_range(char_range)
224
241
  if @pos >= @string_size
225
242
  return nil
243
+ elsif !char_range.include?(@string[@pos].ord)
244
+ return nil
226
245
  end
227
246
 
228
- s = @string[@pos].ord
229
247
  @pos += 1
230
- s
248
+ true
231
249
  end
232
250
  else
233
- def get_byte
251
+ def match_char_range(char_range)
234
252
  if @pos >= @string_size
235
253
  return nil
254
+ elsif !char_range.include?(@string[@pos])
255
+ return nil
236
256
  end
237
257
 
238
- s = @string[@pos]
239
258
  @pos += 1
240
- s
259
+ true
241
260
  end
242
261
  end
243
262
 
@@ -178,7 +178,7 @@
178
178
  # [dingus]: http://daringfireball.net/projects/markdown/dingus
179
179
  # [GFM]: https://github.github.com/gfm/
180
180
  # [pegmarkdown]: https://github.com/jgm/peg-markdown
181
- # [PHPE]: http://michelf.com/projects/php-markdown/extra/#def-list
181
+ # [PHPE]: https://michelf.ca/projects/php-markdown/extra/#def-list
182
182
  # [syntax]: http://daringfireball.net/projects/markdown/syntax
183
183
  #--
184
184
  # Last updated to jgm/peg-markdown commit 8f8fc22ef0
data/lib/rdoc/markdown.rb CHANGED
@@ -175,7 +175,7 @@
175
175
  # [dingus]: http://daringfireball.net/projects/markdown/dingus
176
176
  # [GFM]: https://github.github.com/gfm/
177
177
  # [pegmarkdown]: https://github.com/jgm/peg-markdown
178
- # [PHPE]: http://michelf.com/projects/php-markdown/extra/#def-list
178
+ # [PHPE]: https://michelf.ca/projects/php-markdown/extra/#def-list
179
179
  # [syntax]: http://daringfireball.net/projects/markdown/syntax
180
180
  #--
181
181
  # Last updated to jgm/peg-markdown commit 8f8fc22ef0
@@ -20,4 +20,3 @@ class RDoc::Markup::AttrChanger
20
20
  end
21
21
 
22
22
  end
23
-
@@ -33,4 +33,3 @@ class RDoc::Markup::AttrSpan
33
33
  end
34
34
 
35
35
  end
36
-