rdoc 6.8.1 → 6.9.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.
- checksums.yaml +4 -4
- data/lib/rdoc/code_object/class_module.rb +14 -1
- data/lib/rdoc/code_object/method_attr.rb +14 -2
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +19 -3
- data/lib/rdoc/markup/pre_process.rb +17 -0
- data/lib/rdoc/markup/to_html.rb +1 -1
- data/lib/rdoc/parser/c.rb +19 -0
- data/lib/rdoc/parser/prism_ruby.rb +1026 -0
- data/lib/rdoc/rd/block_parser.rb +3 -3
- data/lib/rdoc/rd/inline_parser.rb +3 -3
- data/lib/rdoc/rdoc.rb +3 -1
- data/lib/rdoc/ri/driver.rb +48 -8
- data/lib/rdoc/rubygems_hook.rb +69 -6
- data/lib/rdoc/store.rb +12 -0
- data/lib/rdoc/version.rb +1 -1
- data/lib/rdoc.rb +0 -2
- data/lib/rubygems_plugin.rb +23 -0
- metadata +4 -4
- data/lib/rdoc/generator/template/darkfish/.document +0 -0
- data/lib/rdoc/generator/template/json_index/.document +0 -1
data/lib/rdoc/rd/block_parser.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
#
|
3
3
|
# DO NOT MODIFY!!!!
|
4
|
-
# This file is automatically generated by Racc 1.8.
|
4
|
+
# This file is automatically generated by Racc 1.8.1
|
5
5
|
# from Racc grammar file "block_parser.ry".
|
6
6
|
#
|
7
7
|
|
@@ -23,7 +23,7 @@ unless $".find {|p| p.end_with?('/racc/info.rb')}
|
|
23
23
|
$".push "#{__dir__}/racc/info.rb"
|
24
24
|
|
25
25
|
module Racc
|
26
|
-
VERSION = '1.8.
|
26
|
+
VERSION = '1.8.1'
|
27
27
|
Version = VERSION
|
28
28
|
Copyright = 'Copyright (c) 1999-2006 Minero Aoki'
|
29
29
|
end
|
@@ -38,7 +38,7 @@ unless defined?(::ParseError)
|
|
38
38
|
ParseError = Racc::ParseError # :nodoc:
|
39
39
|
end
|
40
40
|
|
41
|
-
# Racc is
|
41
|
+
# Racc is an LALR(1) parser generator.
|
42
42
|
# It is written in Ruby itself, and generates Ruby programs.
|
43
43
|
#
|
44
44
|
# == Command-line Reference
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
#
|
3
3
|
# DO NOT MODIFY!!!!
|
4
|
-
# This file is automatically generated by Racc 1.8.
|
4
|
+
# This file is automatically generated by Racc 1.8.1
|
5
5
|
# from Racc grammar file "inline_parser.ry".
|
6
6
|
#
|
7
7
|
|
@@ -23,7 +23,7 @@ unless $".find {|p| p.end_with?('/racc/info.rb')}
|
|
23
23
|
$".push "#{__dir__}/racc/info.rb"
|
24
24
|
|
25
25
|
module Racc
|
26
|
-
VERSION = '1.8.
|
26
|
+
VERSION = '1.8.1'
|
27
27
|
Version = VERSION
|
28
28
|
Copyright = 'Copyright (c) 1999-2006 Minero Aoki'
|
29
29
|
end
|
@@ -38,7 +38,7 @@ unless defined?(::ParseError)
|
|
38
38
|
ParseError = Racc::ParseError # :nodoc:
|
39
39
|
end
|
40
40
|
|
41
|
-
# Racc is
|
41
|
+
# Racc is an LALR(1) parser generator.
|
42
42
|
# It is written in Ruby itself, and generates Ruby programs.
|
43
43
|
#
|
44
44
|
# == Command-line Reference
|
data/lib/rdoc/rdoc.rb
CHANGED
@@ -395,7 +395,6 @@ The internal error was:
|
|
395
395
|
$stderr.puts e.backtrace.join("\n\t") if $DEBUG_RDOC
|
396
396
|
|
397
397
|
raise e
|
398
|
-
nil
|
399
398
|
end
|
400
399
|
|
401
400
|
##
|
@@ -407,6 +406,7 @@ The internal error was:
|
|
407
406
|
|
408
407
|
return [] if file_list.empty?
|
409
408
|
|
409
|
+
# This workaround can be removed after the :main: directive is removed
|
410
410
|
original_options = @options.dup
|
411
411
|
@stats.begin_adding
|
412
412
|
|
@@ -415,6 +415,8 @@ The internal error was:
|
|
415
415
|
parse_file filename
|
416
416
|
end.compact
|
417
417
|
|
418
|
+
@store.resolve_c_superclasses
|
419
|
+
|
418
420
|
@stats.done_adding
|
419
421
|
@options = original_options
|
420
422
|
|
data/lib/rdoc/ri/driver.rb
CHANGED
@@ -79,6 +79,7 @@ class RDoc::RI::Driver
|
|
79
79
|
options[:interactive] = false
|
80
80
|
options[:profile] = false
|
81
81
|
options[:show_all] = false
|
82
|
+
options[:expand_refs] = true
|
82
83
|
options[:use_stdout] = !$stdout.tty?
|
83
84
|
options[:width] = 72
|
84
85
|
|
@@ -245,6 +246,12 @@ or the PAGER environment variable.
|
|
245
246
|
|
246
247
|
opt.separator nil
|
247
248
|
|
249
|
+
opt.on("--[no-]expand-refs", "Expand rdoc-refs at the end of output") do |value|
|
250
|
+
options[:expand_refs] = value
|
251
|
+
end
|
252
|
+
|
253
|
+
opt.separator nil
|
254
|
+
|
248
255
|
opt.on("--help", "-h",
|
249
256
|
"Show help and exit.") do
|
250
257
|
puts opts
|
@@ -425,6 +432,7 @@ or the PAGER environment variable.
|
|
425
432
|
@use_stdout = options[:use_stdout]
|
426
433
|
@show_all = options[:show_all]
|
427
434
|
@width = options[:width]
|
435
|
+
@expand_refs = options[:expand_refs]
|
428
436
|
end
|
429
437
|
|
430
438
|
##
|
@@ -549,11 +557,8 @@ or the PAGER environment variable.
|
|
549
557
|
# Looks up the method +name+ and adds it to +out+
|
550
558
|
|
551
559
|
def add_method out, name
|
552
|
-
filtered
|
553
|
-
|
554
|
-
method_out = method_document name, filtered
|
555
|
-
|
556
|
-
out.concat method_out.parts
|
560
|
+
filtered = lookup_method name
|
561
|
+
method_document out, name, filtered
|
557
562
|
end
|
558
563
|
|
559
564
|
##
|
@@ -645,6 +650,7 @@ or the PAGER environment variable.
|
|
645
650
|
|
646
651
|
add_also_in out, also_in
|
647
652
|
|
653
|
+
expand_rdoc_refs_at_the_bottom(out)
|
648
654
|
out
|
649
655
|
end
|
650
656
|
|
@@ -824,6 +830,8 @@ or the PAGER environment variable.
|
|
824
830
|
|
825
831
|
add_method out, name
|
826
832
|
|
833
|
+
expand_rdoc_refs_at_the_bottom(out)
|
834
|
+
|
827
835
|
display out
|
828
836
|
end
|
829
837
|
|
@@ -1255,9 +1263,7 @@ or the PAGER environment variable.
|
|
1255
1263
|
##
|
1256
1264
|
# Builds a RDoc::Markup::Document from +found+, +klasses+ and +includes+
|
1257
1265
|
|
1258
|
-
def method_document name, filtered
|
1259
|
-
out = RDoc::Markup::Document.new
|
1260
|
-
|
1266
|
+
def method_document out, name, filtered
|
1261
1267
|
out << RDoc::Markup::Heading.new(1, name)
|
1262
1268
|
out << RDoc::Markup::BlankLine.new
|
1263
1269
|
|
@@ -1514,4 +1520,38 @@ or the PAGER environment variable.
|
|
1514
1520
|
server.start
|
1515
1521
|
end
|
1516
1522
|
|
1523
|
+
RDOC_REFS_REGEXP = /\[rdoc-ref:([\w.]+)(@.*)?\]/
|
1524
|
+
|
1525
|
+
def expand_rdoc_refs_at_the_bottom(out)
|
1526
|
+
return unless @expand_refs
|
1527
|
+
|
1528
|
+
extracted_rdoc_refs = []
|
1529
|
+
|
1530
|
+
out.each do |part|
|
1531
|
+
content = if part.respond_to?(:text)
|
1532
|
+
part.text
|
1533
|
+
else
|
1534
|
+
next
|
1535
|
+
end
|
1536
|
+
|
1537
|
+
rdoc_refs = content.scan(RDOC_REFS_REGEXP).uniq.map do |file_name, _anchor|
|
1538
|
+
file_name
|
1539
|
+
end
|
1540
|
+
|
1541
|
+
extracted_rdoc_refs.concat(rdoc_refs)
|
1542
|
+
end
|
1543
|
+
|
1544
|
+
found_pages = extracted_rdoc_refs.map do |ref|
|
1545
|
+
begin
|
1546
|
+
@stores.first.load_page(ref)
|
1547
|
+
rescue RDoc::Store::MissingFileError
|
1548
|
+
end
|
1549
|
+
end.compact
|
1550
|
+
|
1551
|
+
found_pages.each do |page|
|
1552
|
+
out << RDoc::Markup::Heading.new(4, "Expanded from #{page.full_name}")
|
1553
|
+
out << RDoc::Markup::BlankLine.new
|
1554
|
+
out << page.comment
|
1555
|
+
end
|
1556
|
+
end
|
1517
1557
|
end
|
data/lib/rdoc/rubygems_hook.rb
CHANGED
@@ -3,13 +3,19 @@ require 'rubygems/user_interaction'
|
|
3
3
|
require 'fileutils'
|
4
4
|
require_relative '../rdoc'
|
5
5
|
|
6
|
-
|
7
|
-
# Gem::RDoc provides methods to generate RDoc and ri data for installed gems
|
8
|
-
# upon gem installation.
|
6
|
+
# We define the following two similar name classes in this file:
|
9
7
|
#
|
10
|
-
#
|
8
|
+
# - RDoc::RubyGemsHook
|
9
|
+
# - RDoc::RubygemsHook
|
10
|
+
#
|
11
|
+
# RDoc::RubyGemsHook is the main class that has real logic.
|
12
|
+
#
|
13
|
+
# RDoc::RubygemsHook is a class that is only for
|
14
|
+
# compatibility. RDoc::RubygemsHook is used by RubyGems directly. We
|
15
|
+
# can remove this when all maintained RubyGems remove
|
16
|
+
# `rubygems/rdoc.rb`.
|
11
17
|
|
12
|
-
class RDoc::
|
18
|
+
class RDoc::RubyGemsHook
|
13
19
|
|
14
20
|
include Gem::UserInteraction
|
15
21
|
extend Gem::UserInteraction
|
@@ -45,7 +51,7 @@ class RDoc::RubygemsHook
|
|
45
51
|
# Post installs hook that generates documentation for each specification in
|
46
52
|
# +specs+
|
47
53
|
|
48
|
-
def self.
|
54
|
+
def self.generate installer, specs
|
49
55
|
start = Time.now
|
50
56
|
types = installer.document
|
51
57
|
|
@@ -64,6 +70,10 @@ class RDoc::RubygemsHook
|
|
64
70
|
say "Done installing documentation for #{names} after #{duration} seconds"
|
65
71
|
end
|
66
72
|
|
73
|
+
def self.remove uninstaller
|
74
|
+
new(uninstaller.spec).remove
|
75
|
+
end
|
76
|
+
|
67
77
|
##
|
68
78
|
# Loads the RDoc generator
|
69
79
|
|
@@ -246,3 +256,56 @@ class RDoc::RubygemsHook
|
|
246
256
|
end
|
247
257
|
|
248
258
|
end
|
259
|
+
|
260
|
+
# This class is referenced by RubyGems to create documents.
|
261
|
+
# All implementations are moved to the above RubyGemsHook.
|
262
|
+
#
|
263
|
+
# This class does nothing when this RDoc is installed as a normal gem
|
264
|
+
# or a bundled gem.
|
265
|
+
#
|
266
|
+
# This class does generate/remove documents for compatibility when
|
267
|
+
# this RDoc is installed as a default gem.
|
268
|
+
#
|
269
|
+
# We can remove this when all maintained RubyGems remove
|
270
|
+
# `rubygems/rdoc.rb`.
|
271
|
+
module RDoc
|
272
|
+
class RubygemsHook
|
273
|
+
|
274
|
+
attr_accessor :generate_rdoc, :generate_ri
|
275
|
+
|
276
|
+
def self.default_gem?
|
277
|
+
!File.exist?(File.join(__dir__, "..", "rubygems_plugin.rb"))
|
278
|
+
end
|
279
|
+
|
280
|
+
def initialize(spec, generate_rdoc = false, generate_ri = true)
|
281
|
+
@spec = spec
|
282
|
+
@generate_rdoc = generate_rdoc
|
283
|
+
@generate_ri = generate_ri
|
284
|
+
end
|
285
|
+
|
286
|
+
def generate
|
287
|
+
# Do nothing if this is NOT a default gem.
|
288
|
+
return unless self.class.default_gem?
|
289
|
+
|
290
|
+
# Generate document for compatibility if this is a default gem.
|
291
|
+
RubyGemsHook.new(@spec, @generate_rdoc, @generate_ri).generate
|
292
|
+
end
|
293
|
+
|
294
|
+
def remove
|
295
|
+
# Do nothing if this is NOT a default gem.
|
296
|
+
return unless self.class.default_gem?
|
297
|
+
|
298
|
+
# Remove generated document for compatibility if this is a
|
299
|
+
# default gem.
|
300
|
+
RubyGemsHook.new(@spec).remove
|
301
|
+
end
|
302
|
+
|
303
|
+
def self.generation_hook installer, specs
|
304
|
+
# Do nothing if this is NOT a default gem.
|
305
|
+
return unless default_gem?
|
306
|
+
|
307
|
+
# Generate document for compatibility if this is a default gem.
|
308
|
+
RubyGemsHook.generate(installer, specs)
|
309
|
+
end
|
310
|
+
end
|
311
|
+
end
|
data/lib/rdoc/store.rb
CHANGED
@@ -197,6 +197,18 @@ class RDoc::Store
|
|
197
197
|
top_level
|
198
198
|
end
|
199
199
|
|
200
|
+
##
|
201
|
+
# Make sure any references to C variable names are resolved to the corresponding class.
|
202
|
+
#
|
203
|
+
|
204
|
+
def resolve_c_superclasses
|
205
|
+
@classes_hash.each_value do |klass|
|
206
|
+
if klass.superclass.is_a?(String) && (candidate = find_c_enclosure(klass.superclass))
|
207
|
+
klass.superclass = candidate
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
200
212
|
##
|
201
213
|
# Sets the parser of +absolute_name+, unless it from a source code file.
|
202
214
|
|
data/lib/rdoc/version.rb
CHANGED
data/lib/rdoc.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# If this file is exist, RDoc generates and removes documents by rubygems plugins.
|
4
|
+
#
|
5
|
+
# In follwing cases,
|
6
|
+
# RubyGems directly exectute RDoc::RubygemsHook.generation_hook and RDoc::RubygemsHook#remove to generate and remove documents.
|
7
|
+
#
|
8
|
+
# - RDoc is used as a default gem.
|
9
|
+
# - RDoc is a old version that doesn't have rubygems_plugin.rb.
|
10
|
+
|
11
|
+
require_relative 'rdoc/rubygems_hook'
|
12
|
+
|
13
|
+
# To install dependency libraries of RDoc, you need to run bundle install.
|
14
|
+
# At that time, rdoc/markdown is not generated.
|
15
|
+
# If generate and remove are executed at that time, an error will occur.
|
16
|
+
# So, we can't register generate and remove to Gem at that time.
|
17
|
+
begin
|
18
|
+
require_relative 'rdoc/markdown'
|
19
|
+
rescue LoadError
|
20
|
+
else
|
21
|
+
Gem.done_installing(&RDoc::RubyGemsHook.method(:generate))
|
22
|
+
Gem.pre_uninstall(&RDoc::RubyGemsHook.method(:remove))
|
23
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Hodel
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: exe
|
16
16
|
cert_chain: []
|
17
|
-
date: 2024-
|
17
|
+
date: 2024-12-13 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: psych
|
@@ -105,7 +105,6 @@ files:
|
|
105
105
|
- lib/rdoc/generator/pot/po.rb
|
106
106
|
- lib/rdoc/generator/pot/po_entry.rb
|
107
107
|
- lib/rdoc/generator/ri.rb
|
108
|
-
- lib/rdoc/generator/template/darkfish/.document
|
109
108
|
- lib/rdoc/generator/template/darkfish/_footer.rhtml
|
110
109
|
- lib/rdoc/generator/template/darkfish/_head.rhtml
|
111
110
|
- lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml
|
@@ -163,7 +162,6 @@ files:
|
|
163
162
|
- lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml
|
164
163
|
- lib/rdoc/generator/template/darkfish/servlet_root.rhtml
|
165
164
|
- lib/rdoc/generator/template/darkfish/table_of_contents.rhtml
|
166
|
-
- lib/rdoc/generator/template/json_index/.document
|
167
165
|
- lib/rdoc/generator/template/json_index/js/navigation.js
|
168
166
|
- lib/rdoc/generator/template/json_index/js/searcher.js
|
169
167
|
- lib/rdoc/i18n.rb
|
@@ -215,6 +213,7 @@ files:
|
|
215
213
|
- lib/rdoc/parser/c.rb
|
216
214
|
- lib/rdoc/parser/changelog.rb
|
217
215
|
- lib/rdoc/parser/markdown.rb
|
216
|
+
- lib/rdoc/parser/prism_ruby.rb
|
218
217
|
- lib/rdoc/parser/rd.rb
|
219
218
|
- lib/rdoc/parser/ripper_state_lex.rb
|
220
219
|
- lib/rdoc/parser/ruby.rb
|
@@ -246,6 +245,7 @@ files:
|
|
246
245
|
- lib/rdoc/token_stream.rb
|
247
246
|
- lib/rdoc/tom_doc.rb
|
248
247
|
- lib/rdoc/version.rb
|
248
|
+
- lib/rubygems_plugin.rb
|
249
249
|
- man/ri.1
|
250
250
|
homepage: https://ruby.github.io/rdoc
|
251
251
|
licenses:
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
# ignore all files in this directory
|