rdoc 4.2.1 → 6.3.1
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 +5 -5
- data/CONTRIBUTING.rdoc +8 -7
- data/Gemfile +12 -0
- data/History.rdoc +48 -4
- data/LEGAL.rdoc +2 -2
- data/README.rdoc +5 -5
- data/Rakefile +73 -155
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/{bin → exe}/rdoc +0 -0
- data/{bin → exe}/ri +0 -0
- data/lib/rdoc/alias.rb +1 -0
- data/lib/rdoc/anon_class.rb +1 -0
- data/lib/rdoc/any_method.rb +59 -14
- data/lib/rdoc/attr.rb +1 -0
- data/lib/rdoc/class_module.rb +5 -2
- data/lib/rdoc/code_object.rb +3 -11
- data/lib/rdoc/code_objects.rb +1 -0
- data/lib/rdoc/comment.rb +32 -11
- data/lib/rdoc/constant.rb +3 -2
- data/lib/rdoc/context/section.rb +7 -13
- data/lib/rdoc/context.rb +78 -23
- data/lib/rdoc/cross_reference.rb +33 -14
- data/lib/rdoc/encoding.rb +92 -55
- data/lib/rdoc/erb_partial.rb +2 -1
- data/lib/rdoc/erbio.rb +8 -3
- data/lib/rdoc/extend.rb +1 -0
- data/lib/rdoc/generator/darkfish.rb +62 -32
- data/lib/rdoc/generator/json_index.rb +8 -5
- data/lib/rdoc/generator/markup.rb +3 -12
- data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
- data/lib/rdoc/generator/pot/po.rb +84 -0
- data/lib/rdoc/generator/pot/po_entry.rb +141 -0
- data/lib/rdoc/generator/pot.rb +4 -3
- data/lib/rdoc/generator/ri.rb +1 -0
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +11 -8
- data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +7 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +7 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +6 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/class.rhtml +45 -47
- data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +55 -6
- data/lib/rdoc/generator/template/darkfish/index.rhtml +3 -4
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +23 -100
- data/lib/rdoc/generator/template/darkfish/js/search.js +32 -31
- data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +15 -16
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +16 -16
- data/lib/rdoc/generator/template/json_index/js/navigation.js +4 -41
- data/lib/rdoc/generator/template/json_index/js/searcher.js +7 -6
- data/lib/rdoc/generator.rb +1 -1
- data/lib/rdoc/ghost_method.rb +1 -0
- data/lib/rdoc/i18n/locale.rb +2 -1
- data/lib/rdoc/i18n/text.rb +5 -4
- data/lib/rdoc/i18n.rb +3 -2
- data/lib/rdoc/include.rb +1 -0
- data/lib/rdoc/known_classes.rb +1 -0
- data/lib/rdoc/markdown/entities.rb +1 -0
- data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +1 -0
- data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
- data/lib/rdoc/markdown.kpeg +94 -51
- data/lib/rdoc/markdown.rb +1171 -619
- data/lib/rdoc/markup/attr_changer.rb +1 -0
- data/lib/rdoc/markup/attr_span.rb +9 -2
- data/lib/rdoc/markup/attribute_manager.rb +115 -49
- data/lib/rdoc/markup/attributes.rb +7 -6
- data/lib/rdoc/markup/blank_line.rb +1 -0
- data/lib/rdoc/markup/block_quote.rb +1 -0
- data/lib/rdoc/markup/document.rb +1 -0
- data/lib/rdoc/markup/formatter.rb +25 -23
- data/lib/rdoc/markup/hard_break.rb +1 -0
- data/lib/rdoc/markup/heading.rb +4 -3
- data/lib/rdoc/markup/include.rb +1 -0
- data/lib/rdoc/markup/indented_paragraph.rb +1 -0
- data/lib/rdoc/markup/list.rb +1 -0
- data/lib/rdoc/markup/list_item.rb +1 -0
- data/lib/rdoc/markup/paragraph.rb +1 -0
- data/lib/rdoc/markup/parser.rb +78 -61
- data/lib/rdoc/markup/pre_process.rb +12 -9
- data/lib/rdoc/markup/raw.rb +1 -0
- data/lib/rdoc/markup/regexp_handling.rb +41 -0
- data/lib/rdoc/markup/rule.rb +1 -0
- data/lib/rdoc/markup/to_ansi.rb +1 -0
- data/lib/rdoc/markup/to_bs.rb +4 -5
- data/lib/rdoc/markup/to_html.rb +71 -25
- data/lib/rdoc/markup/to_html_crossref.rb +41 -25
- data/lib/rdoc/markup/to_html_snippet.rb +10 -9
- data/lib/rdoc/markup/to_joined_paragraph.rb +7 -31
- data/lib/rdoc/markup/to_label.rb +10 -9
- data/lib/rdoc/markup/to_markdown.rb +9 -8
- data/lib/rdoc/markup/to_rdoc.rb +35 -6
- data/lib/rdoc/markup/to_table_of_contents.rb +2 -0
- data/lib/rdoc/markup/to_test.rb +1 -0
- data/lib/rdoc/markup/to_tt_only.rb +3 -2
- data/lib/rdoc/markup/verbatim.rb +1 -0
- data/lib/rdoc/markup.rb +14 -16
- data/lib/rdoc/meta_method.rb +1 -0
- data/lib/rdoc/method_attr.rb +2 -1
- data/lib/rdoc/mixin.rb +1 -0
- data/lib/rdoc/normal_class.rb +3 -2
- data/lib/rdoc/normal_module.rb +1 -0
- data/lib/rdoc/options.rb +92 -58
- data/lib/rdoc/parser/c.rb +219 -223
- data/lib/rdoc/parser/changelog.rb +155 -18
- data/lib/rdoc/parser/markdown.rb +1 -0
- data/lib/rdoc/parser/rd.rb +1 -0
- data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
- data/lib/rdoc/parser/ruby.rb +635 -468
- data/lib/rdoc/parser/ruby_tools.rb +33 -33
- data/lib/rdoc/parser/simple.rb +3 -3
- data/lib/rdoc/parser/text.rb +1 -0
- data/lib/rdoc/parser.rb +17 -50
- data/lib/rdoc/rd/block_parser.rb +66 -65
- data/lib/rdoc/rd/block_parser.ry +3 -3
- data/lib/rdoc/rd/inline.rb +5 -4
- data/lib/rdoc/rd/inline_parser.rb +52 -51
- data/lib/rdoc/rd/inline_parser.ry +1 -1
- data/lib/rdoc/rd.rb +1 -0
- data/lib/rdoc/rdoc.rb +68 -63
- data/lib/rdoc/require.rb +1 -0
- data/lib/rdoc/ri/driver.rb +133 -58
- data/lib/rdoc/ri/formatter.rb +1 -0
- data/lib/rdoc/ri/paths.rb +4 -20
- data/lib/rdoc/ri/store.rb +1 -0
- data/lib/rdoc/ri/task.rb +71 -0
- data/lib/rdoc/ri.rb +1 -0
- data/lib/rdoc/rubygems_hook.rb +5 -12
- data/lib/rdoc/servlet.rb +24 -14
- data/lib/rdoc/single_class.rb +1 -0
- data/lib/rdoc/stats/normal.rb +20 -21
- data/lib/rdoc/stats/quiet.rb +1 -0
- data/lib/rdoc/stats/verbose.rb +1 -0
- data/lib/rdoc/stats.rb +1 -0
- data/lib/rdoc/store.rb +41 -41
- data/lib/rdoc/task.rb +2 -3
- data/lib/rdoc/text.rb +19 -38
- data/lib/rdoc/token_stream.rb +56 -32
- data/lib/rdoc/tom_doc.rb +17 -11
- data/lib/rdoc/top_level.rb +9 -2
- data/lib/rdoc/version.rb +8 -0
- data/lib/rdoc.rb +24 -10
- data/man/ri.1 +247 -0
- data/rdoc.gemspec +248 -0
- metadata +43 -236
- data/.autotest +0 -24
- data/.document +0 -5
- data/Manifest.txt +0 -306
- data/lib/gauntlet_rdoc.rb +0 -84
- data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -4
- data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
- data/lib/rdoc/markdown/literals_1_8.rb +0 -416
- data/lib/rdoc/markup/formatter_test_case.rb +0 -767
- data/lib/rdoc/markup/inline.rb +0 -1
- data/lib/rdoc/markup/special.rb +0 -40
- data/lib/rdoc/markup/text_formatter_test_case.rb +0 -114
- data/lib/rdoc/ruby_lex.rb +0 -1377
- data/lib/rdoc/ruby_token.rb +0 -460
- data/lib/rdoc/test_case.rb +0 -217
- data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
- data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
- data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
- data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
- data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
- data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
- data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
- data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
- data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
- data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
- data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
- data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
- data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
- data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
- data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
- data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
- data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
- data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
- data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
- data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
- data/test/README +0 -1
- data/test/binary.dat +0 -0
- data/test/hidden.zip.txt +0 -1
- data/test/test.ja.largedoc +0 -3
- data/test/test.ja.rdoc +0 -10
- data/test/test.ja.txt +0 -8
- data/test/test.txt +0 -1
- data/test/test_rdoc_alias.rb +0 -13
- data/test/test_rdoc_any_method.rb +0 -460
- data/test/test_rdoc_attr.rb +0 -190
- data/test/test_rdoc_class_module.rb +0 -1492
- data/test/test_rdoc_code_object.rb +0 -450
- data/test/test_rdoc_comment.rb +0 -504
- data/test/test_rdoc_constant.rb +0 -181
- data/test/test_rdoc_context.rb +0 -901
- data/test/test_rdoc_context_section.rb +0 -130
- data/test/test_rdoc_cross_reference.rb +0 -192
- data/test/test_rdoc_encoding.rb +0 -227
- data/test/test_rdoc_extend.rb +0 -94
- data/test/test_rdoc_generator_darkfish.rb +0 -229
- data/test/test_rdoc_generator_json_index.rb +0 -324
- data/test/test_rdoc_generator_markup.rb +0 -59
- data/test/test_rdoc_generator_pot.rb +0 -91
- data/test/test_rdoc_generator_pot_po.rb +0 -51
- data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
- data/test/test_rdoc_generator_ri.rb +0 -78
- data/test/test_rdoc_i18n_locale.rb +0 -73
- data/test/test_rdoc_i18n_text.rb +0 -123
- data/test/test_rdoc_include.rb +0 -108
- data/test/test_rdoc_markdown.rb +0 -980
- data/test/test_rdoc_markdown_test.rb +0 -1884
- data/test/test_rdoc_markup.rb +0 -95
- data/test/test_rdoc_markup_attribute_manager.rb +0 -364
- data/test/test_rdoc_markup_attributes.rb +0 -39
- data/test/test_rdoc_markup_document.rb +0 -207
- data/test/test_rdoc_markup_formatter.rb +0 -175
- data/test/test_rdoc_markup_hard_break.rb +0 -31
- data/test/test_rdoc_markup_heading.rb +0 -29
- data/test/test_rdoc_markup_include.rb +0 -19
- data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
- data/test/test_rdoc_markup_paragraph.rb +0 -32
- data/test/test_rdoc_markup_parser.rb +0 -1680
- data/test/test_rdoc_markup_pre_process.rb +0 -473
- data/test/test_rdoc_markup_raw.rb +0 -22
- data/test/test_rdoc_markup_to_ansi.rb +0 -369
- data/test/test_rdoc_markup_to_bs.rb +0 -366
- data/test/test_rdoc_markup_to_html.rb +0 -662
- data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
- data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
- data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
- data/test/test_rdoc_markup_to_label.rb +0 -112
- data/test/test_rdoc_markup_to_markdown.rb +0 -389
- data/test/test_rdoc_markup_to_rdoc.rb +0 -377
- data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
- data/test/test_rdoc_markup_to_tt_only.rb +0 -246
- data/test/test_rdoc_markup_verbatim.rb +0 -29
- data/test/test_rdoc_method_attr.rb +0 -193
- data/test/test_rdoc_normal_class.rb +0 -47
- data/test/test_rdoc_normal_module.rb +0 -42
- data/test/test_rdoc_options.rb +0 -766
- data/test/test_rdoc_parser.rb +0 -327
- data/test/test_rdoc_parser_c.rb +0 -1896
- data/test/test_rdoc_parser_changelog.rb +0 -315
- data/test/test_rdoc_parser_markdown.rb +0 -61
- data/test/test_rdoc_parser_rd.rb +0 -55
- data/test/test_rdoc_parser_ruby.rb +0 -3322
- data/test/test_rdoc_parser_simple.rb +0 -115
- data/test/test_rdoc_rd.rb +0 -30
- data/test/test_rdoc_rd_block_parser.rb +0 -535
- data/test/test_rdoc_rd_inline.rb +0 -63
- data/test/test_rdoc_rd_inline_parser.rb +0 -177
- data/test/test_rdoc_rdoc.rb +0 -455
- data/test/test_rdoc_require.rb +0 -25
- data/test/test_rdoc_ri_driver.rb +0 -1436
- data/test/test_rdoc_ri_paths.rb +0 -155
- data/test/test_rdoc_ruby_lex.rb +0 -421
- data/test/test_rdoc_ruby_token.rb +0 -19
- data/test/test_rdoc_rubygems_hook.rb +0 -251
- data/test/test_rdoc_servlet.rb +0 -534
- data/test/test_rdoc_single_class.rb +0 -20
- data/test/test_rdoc_stats.rb +0 -722
- data/test/test_rdoc_store.rb +0 -993
- data/test/test_rdoc_task.rb +0 -173
- data/test/test_rdoc_text.rb +0 -557
- data/test/test_rdoc_token_stream.rb +0 -42
- data/test/test_rdoc_tom_doc.rb +0 -520
- data/test/test_rdoc_top_level.rb +0 -287
- data/test/xref_data.rb +0 -76
- data/test/xref_test_case.rb +0 -67
data/lib/rdoc/token_stream.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
##
|
2
3
|
# A TokenStream is a list of tokens, gathered during the parse of some entity
|
3
4
|
# (say a method). Entities populate these streams by being registered with the
|
@@ -9,43 +10,61 @@ module RDoc::TokenStream
|
|
9
10
|
|
10
11
|
##
|
11
12
|
# Converts +token_stream+ to HTML wrapping various tokens with
|
12
|
-
# <tt><span></tt> elements.
|
13
|
-
# with the given class names
|
14
|
-
#
|
15
|
-
# TkCONSTANT :: 'ruby-constant'
|
16
|
-
# TkKW :: 'ruby-keyword'
|
17
|
-
# TkIVAR :: 'ruby-ivar'
|
18
|
-
# TkOp :: 'ruby-operator'
|
19
|
-
# TkId :: 'ruby-identifier'
|
20
|
-
# TkNode :: 'ruby-node'
|
21
|
-
# TkCOMMENT :: 'ruby-comment'
|
22
|
-
# TkREGEXP :: 'ruby-regexp'
|
23
|
-
# TkSTRING :: 'ruby-string'
|
24
|
-
# TkVal :: 'ruby-value'
|
25
|
-
#
|
26
|
-
# Other token types are not wrapped in spans.
|
13
|
+
# <tt><span></tt> elements. Some tokens types are wrapped in spans
|
14
|
+
# with the given class names. Other token types are not wrapped in spans.
|
27
15
|
|
28
16
|
def self.to_html token_stream
|
17
|
+
starting_title = false
|
18
|
+
|
29
19
|
token_stream.map do |t|
|
30
20
|
next unless t
|
31
21
|
|
32
|
-
style = case t
|
33
|
-
when
|
34
|
-
when
|
35
|
-
when
|
36
|
-
when
|
37
|
-
when
|
38
|
-
when
|
39
|
-
|
40
|
-
when
|
41
|
-
when
|
42
|
-
when
|
22
|
+
style = case t[:kind]
|
23
|
+
when :on_const then 'ruby-constant'
|
24
|
+
when :on_kw then 'ruby-keyword'
|
25
|
+
when :on_ivar then 'ruby-ivar'
|
26
|
+
when :on_cvar then 'ruby-identifier'
|
27
|
+
when :on_gvar then 'ruby-identifier'
|
28
|
+
when '=' != t[:text] && :on_op
|
29
|
+
then 'ruby-operator'
|
30
|
+
when :on_tlambda then 'ruby-operator'
|
31
|
+
when :on_ident then 'ruby-identifier'
|
32
|
+
when :on_label then 'ruby-value'
|
33
|
+
when :on_backref, :on_dstring
|
34
|
+
then 'ruby-node'
|
35
|
+
when :on_comment then 'ruby-comment'
|
36
|
+
when :on_embdoc then 'ruby-comment'
|
37
|
+
when :on_regexp then 'ruby-regexp'
|
38
|
+
when :on_tstring then 'ruby-string'
|
39
|
+
when :on_int, :on_float,
|
40
|
+
:on_rational, :on_imaginary,
|
41
|
+
:on_heredoc,
|
42
|
+
:on_symbol, :on_CHAR then 'ruby-value'
|
43
|
+
when :on_heredoc_beg, :on_heredoc_end
|
44
|
+
then 'ruby-identifier'
|
43
45
|
end
|
44
46
|
|
45
|
-
|
47
|
+
comment_with_nl = false
|
48
|
+
if :on_comment == t[:kind] or :on_embdoc == t[:kind] or :on_heredoc_end == t[:kind]
|
49
|
+
comment_with_nl = true if "\n" == t[:text][-1]
|
50
|
+
text = t[:text].rstrip
|
51
|
+
else
|
52
|
+
text = t[:text]
|
53
|
+
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
|
+
|
64
|
+
text = CGI.escapeHTML text
|
46
65
|
|
47
66
|
if style then
|
48
|
-
"<span class=\"#{style}\">#{text}</span
|
67
|
+
"<span class=\"#{style}\">#{text}</span>#{"\n" if comment_with_nl}"
|
49
68
|
else
|
50
69
|
text
|
51
70
|
end
|
@@ -55,11 +74,16 @@ module RDoc::TokenStream
|
|
55
74
|
##
|
56
75
|
# Adds +tokens+ to the collected tokens
|
57
76
|
|
58
|
-
def add_tokens(
|
59
|
-
|
77
|
+
def add_tokens(tokens)
|
78
|
+
@token_stream.concat(tokens)
|
60
79
|
end
|
61
80
|
|
62
|
-
|
81
|
+
##
|
82
|
+
# Adds one +token+ to the collected tokens
|
83
|
+
|
84
|
+
def add_token(token)
|
85
|
+
@token_stream.push(token)
|
86
|
+
end
|
63
87
|
|
64
88
|
##
|
65
89
|
# Starts collecting tokens
|
@@ -88,7 +112,7 @@ module RDoc::TokenStream
|
|
88
112
|
# Returns a string representation of the token stream
|
89
113
|
|
90
114
|
def tokens_to_s
|
91
|
-
token_stream.compact.map { |token| token
|
115
|
+
token_stream.compact.map { |token| token[:text] }.join ''
|
92
116
|
end
|
93
117
|
|
94
118
|
end
|
data/lib/rdoc/tom_doc.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# :markup: tomdoc
|
2
3
|
|
3
4
|
# A parser for TomDoc based on TomDoc 1.0.0-rc1 (02adef9b5a)
|
@@ -179,12 +180,19 @@ class RDoc::TomDoc < RDoc::Markup::Parser
|
|
179
180
|
|
180
181
|
case type
|
181
182
|
when :TEXT then
|
182
|
-
@section = 'Returns' if data =~ /\
|
183
|
+
@section = 'Returns' if data =~ /\A(Returns|Raises)/
|
183
184
|
|
184
185
|
paragraph << data
|
185
186
|
when :NEWLINE then
|
186
187
|
if :TEXT == peek_token[0] then
|
187
|
-
|
188
|
+
# Lines beginning with 'Raises' in the Returns section should not be
|
189
|
+
# treated as multiline text
|
190
|
+
if 'Returns' == @section and
|
191
|
+
peek_token[1].start_with?('Raises') then
|
192
|
+
break
|
193
|
+
else
|
194
|
+
paragraph << ' '
|
195
|
+
end
|
188
196
|
else
|
189
197
|
break
|
190
198
|
end
|
@@ -221,7 +229,7 @@ class RDoc::TomDoc < RDoc::Markup::Parser
|
|
221
229
|
# Returns self.
|
222
230
|
|
223
231
|
def tokenize text
|
224
|
-
text.sub
|
232
|
+
text = text.sub(/\A(Public|Internal|Deprecated):\s+/, '')
|
225
233
|
|
226
234
|
setup_scanner text
|
227
235
|
|
@@ -234,19 +242,18 @@ class RDoc::TomDoc < RDoc::Markup::Parser
|
|
234
242
|
|
235
243
|
@tokens << case
|
236
244
|
when @s.scan(/\r?\n/) then
|
237
|
-
token = [:NEWLINE, @s.matched, *
|
238
|
-
@
|
239
|
-
@line += 1
|
245
|
+
token = [:NEWLINE, @s.matched, *pos]
|
246
|
+
@s.newline!
|
240
247
|
token
|
241
248
|
when @s.scan(/(Examples|Signature)$/) then
|
242
|
-
@tokens << [:HEADER, 3, *
|
249
|
+
@tokens << [:HEADER, 3, *pos]
|
243
250
|
|
244
|
-
[:TEXT, @s[1], *
|
251
|
+
[:TEXT, @s[1], *pos]
|
245
252
|
when @s.scan(/([:\w][\w\[\]]*)[ ]+- /) then
|
246
|
-
[:NOTE, @s[1], *
|
253
|
+
[:NOTE, @s[1], *pos]
|
247
254
|
else
|
248
255
|
@s.scan(/.*/)
|
249
|
-
[:TEXT, @s.matched.sub(/\r$/, ''), *
|
256
|
+
[:TEXT, @s.matched.sub(/\r$/, ''), *pos]
|
250
257
|
end
|
251
258
|
end
|
252
259
|
|
@@ -254,4 +261,3 @@ class RDoc::TomDoc < RDoc::Markup::Parser
|
|
254
261
|
end
|
255
262
|
|
256
263
|
end
|
257
|
-
|
data/lib/rdoc/top_level.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
##
|
2
3
|
# A TopLevel context is a representation of the contents of a single file
|
3
4
|
|
@@ -32,7 +33,7 @@ class RDoc::TopLevel < RDoc::Context
|
|
32
33
|
##
|
33
34
|
# The parser class that processed this file
|
34
35
|
|
35
|
-
|
36
|
+
attr_reader :parser
|
36
37
|
|
37
38
|
##
|
38
39
|
# Creates a new TopLevel for the file at +absolute_name+. If documentation
|
@@ -51,6 +52,12 @@ class RDoc::TopLevel < RDoc::Context
|
|
51
52
|
@classes_or_modules = []
|
52
53
|
end
|
53
54
|
|
55
|
+
def parser=(val)
|
56
|
+
@parser = val
|
57
|
+
@store.update_parser_of_file(absolute_name, val) if @store
|
58
|
+
@parser
|
59
|
+
end
|
60
|
+
|
54
61
|
##
|
55
62
|
# An RDoc::TopLevel is equal to another with the same relative_name
|
56
63
|
|
@@ -271,7 +278,7 @@ class RDoc::TopLevel < RDoc::Context
|
|
271
278
|
# Is this TopLevel from a text file instead of a source code file?
|
272
279
|
|
273
280
|
def text?
|
274
|
-
@parser and @parser.
|
281
|
+
@parser and @parser.include? RDoc::Parser::Text
|
275
282
|
end
|
276
283
|
|
277
284
|
def to_s # :nodoc:
|
data/lib/rdoc/version.rb
ADDED
data/lib/rdoc.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
$DEBUG_RDOC = nil
|
2
3
|
|
3
4
|
# :main: README.rdoc
|
@@ -61,10 +62,7 @@ module RDoc
|
|
61
62
|
|
62
63
|
class Error < RuntimeError; end
|
63
64
|
|
64
|
-
|
65
|
-
# RDoc version you are using
|
66
|
-
|
67
|
-
VERSION = '4.2.1'
|
65
|
+
require 'rdoc/version'
|
68
66
|
|
69
67
|
##
|
70
68
|
# Method visibilities
|
@@ -122,9 +120,28 @@ module RDoc
|
|
122
120
|
end
|
123
121
|
end
|
124
122
|
|
125
|
-
|
123
|
+
def self.home
|
124
|
+
rdoc_dir = begin
|
125
|
+
File.expand_path('~/.rdoc')
|
126
|
+
rescue ArgumentError
|
127
|
+
end
|
128
|
+
|
129
|
+
if File.directory?(rdoc_dir)
|
130
|
+
rdoc_dir
|
131
|
+
else
|
132
|
+
begin
|
133
|
+
# XDG
|
134
|
+
xdg_data_home = ENV["XDG_DATA_HOME"] || File.join(File.expand_path("~"), '.local', 'share')
|
135
|
+
unless File.exist?(xdg_data_home)
|
136
|
+
FileUtils.mkdir_p xdg_data_home
|
137
|
+
end
|
138
|
+
File.join xdg_data_home, "rdoc"
|
139
|
+
rescue Errno::EACCES
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
126
143
|
|
127
|
-
autoload :
|
144
|
+
autoload :RDoc, 'rdoc/rdoc'
|
128
145
|
|
129
146
|
autoload :CrossReference, 'rdoc/cross_reference'
|
130
147
|
autoload :ERBIO, 'rdoc/erbio'
|
@@ -147,13 +164,11 @@ module RDoc
|
|
147
164
|
|
148
165
|
autoload :KNOWN_CLASSES, 'rdoc/known_classes'
|
149
166
|
|
150
|
-
autoload :RubyLex, 'rdoc/ruby_lex'
|
151
|
-
autoload :RubyToken, 'rdoc/ruby_token'
|
152
167
|
autoload :TokenStream, 'rdoc/token_stream'
|
153
168
|
|
154
169
|
autoload :Comment, 'rdoc/comment'
|
155
170
|
|
156
|
-
|
171
|
+
require 'rdoc/i18n'
|
157
172
|
|
158
173
|
# code objects
|
159
174
|
#
|
@@ -184,4 +199,3 @@ module RDoc
|
|
184
199
|
autoload :Require, 'rdoc/require'
|
185
200
|
|
186
201
|
end
|
187
|
-
|
data/man/ri.1
ADDED
@@ -0,0 +1,247 @@
|
|
1
|
+
.\"Ruby is copyrighted by Yukihiro Matsumoto <matz@netlab.jp>.
|
2
|
+
.Dd April 20, 2017
|
3
|
+
.Dt RI \&1 "Ruby Programmer's Reference Guide"
|
4
|
+
.Os UNIX
|
5
|
+
.Sh NAME
|
6
|
+
.Nm ri
|
7
|
+
.Nd Ruby API reference front end
|
8
|
+
.Sh SYNOPSIS
|
9
|
+
.Nm
|
10
|
+
.Op Fl ahilTv
|
11
|
+
.Op Fl d Ar DIRNAME
|
12
|
+
.Op Fl f Ar FORMAT
|
13
|
+
.Op Fl w Ar WIDTH
|
14
|
+
.Op Fl - Ns Oo Cm no- Oc Ns Cm pager
|
15
|
+
.Op Fl -server Ns Oo = Ns Ar PORT Oc
|
16
|
+
.Op Fl - Ns Oo Cm no- Oc Ns Cm list-doc-dirs
|
17
|
+
.Op Fl -no-standard-docs
|
18
|
+
.Op Fl - Ns Oo Cm no- Oc Ns Bro Cm system Ns | Ns Cm site Ns | Ns Cm gems Ns | Ns Cm home Brc
|
19
|
+
.Op Fl - Ns Oo Cm no- Oc Ns Cm profile
|
20
|
+
.Op Fl -dump Ns = Ns Ar CACHE
|
21
|
+
.Op Ar name ...
|
22
|
+
.Sh DESCRIPTION
|
23
|
+
.Nm
|
24
|
+
is a command-line front end for the Ruby API reference.
|
25
|
+
You can search and read the API reference for classes and methods with
|
26
|
+
.Nm .
|
27
|
+
.Pp
|
28
|
+
.Nm
|
29
|
+
is a part of Ruby.
|
30
|
+
.Pp
|
31
|
+
.Ar name
|
32
|
+
can be:
|
33
|
+
.Bl -diag -offset indent
|
34
|
+
.It Class | Module | Module::Class
|
35
|
+
.Pp
|
36
|
+
.It Class::method | Class#method | Class.method | method
|
37
|
+
.Pp
|
38
|
+
.It gem_name: | gem_name:README | gem_name:History
|
39
|
+
.El
|
40
|
+
.Pp
|
41
|
+
All class names may be abbreviated to their minimum unambiguous form.
|
42
|
+
If a name is ambiguous, all valid options will be listed.
|
43
|
+
.Pp
|
44
|
+
A
|
45
|
+
.Ql \&.
|
46
|
+
matches either class or instance methods, while #method
|
47
|
+
matches only instance and ::method matches only class methods.
|
48
|
+
.Pp
|
49
|
+
README and other files may be displayed by prefixing them with the gem name
|
50
|
+
they're contained in. If the gem name is followed by a
|
51
|
+
.Ql \&:
|
52
|
+
all files in the gem will be shown.
|
53
|
+
The file name extension may be omitted where it is unambiguous.
|
54
|
+
.Pp
|
55
|
+
For example:
|
56
|
+
.Bd -literal -offset indent
|
57
|
+
ri Fil
|
58
|
+
ri File
|
59
|
+
ri File.new
|
60
|
+
ri zip
|
61
|
+
ri rdoc:README
|
62
|
+
.Ed
|
63
|
+
.Pp
|
64
|
+
Note that shell quoting or escaping may be required for method names
|
65
|
+
containing punctuation:
|
66
|
+
.Bd -literal -offset indent
|
67
|
+
ri 'Array.[]'
|
68
|
+
ri compact\e!
|
69
|
+
.Ed
|
70
|
+
.Pp
|
71
|
+
To see the default directories
|
72
|
+
.Nm
|
73
|
+
will search, run:
|
74
|
+
.Bd -literal -offset indent
|
75
|
+
ri --list-doc-dirs
|
76
|
+
.Ed
|
77
|
+
.Pp
|
78
|
+
Specifying the
|
79
|
+
.Fl -system , Fl -site , Fl -home , Fl -gems ,
|
80
|
+
or
|
81
|
+
.Fl -doc-dir
|
82
|
+
options will limit
|
83
|
+
.Nm
|
84
|
+
to searching only the specified directories.
|
85
|
+
.Pp
|
86
|
+
.Nm
|
87
|
+
options may be set in the
|
88
|
+
.Ev RI
|
89
|
+
environment variable.
|
90
|
+
.Pp
|
91
|
+
The
|
92
|
+
.Nm
|
93
|
+
pager can be set with the
|
94
|
+
.Ev RI_PAGER
|
95
|
+
environment variable or the
|
96
|
+
.Ev PAGER
|
97
|
+
environment variable.
|
98
|
+
.Pp
|
99
|
+
.Sh OPTIONS
|
100
|
+
.Bl -tag -width "1234567890123" -compact
|
101
|
+
.Pp
|
102
|
+
.It Fl i
|
103
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm interactive
|
104
|
+
In interactive mode you can repeatedly
|
105
|
+
look up methods with autocomplete.
|
106
|
+
.Pp
|
107
|
+
.It Fl a
|
108
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm all
|
109
|
+
Show all documentation for a class or module.
|
110
|
+
.Pp
|
111
|
+
.It Fl l
|
112
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm list
|
113
|
+
List classes
|
114
|
+
.Nm
|
115
|
+
knows about.
|
116
|
+
.Pp
|
117
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm pager
|
118
|
+
Send output to a pager,
|
119
|
+
rather than directly to stdout.
|
120
|
+
.Pp
|
121
|
+
.It Fl T
|
122
|
+
Synonym for
|
123
|
+
.Fl -no-pager .
|
124
|
+
.Pp
|
125
|
+
.It Fl w Ar WIDTH
|
126
|
+
.It Fl -width Ns = Ns Ar WIDTH
|
127
|
+
Set the width of the output.
|
128
|
+
.Pp
|
129
|
+
.It Fl -server Ns Oo = Ns Ar PORT Oc
|
130
|
+
Run RDoc server on the given port.
|
131
|
+
The default port is\~8214.
|
132
|
+
.Pp
|
133
|
+
.It Fl f Ar FORMAT
|
134
|
+
.It Fl -format Ns = Ns Ar FORMAT
|
135
|
+
Use the selected formatter.
|
136
|
+
The default formatter is
|
137
|
+
.Li bs
|
138
|
+
for paged output and
|
139
|
+
.Li ansi
|
140
|
+
otherwise.
|
141
|
+
Valid formatters are:
|
142
|
+
.Li ansi , Li bs , Li markdown , Li rdoc .
|
143
|
+
.Pp
|
144
|
+
.It Fl h
|
145
|
+
.It Fl -help
|
146
|
+
Show help and exit.
|
147
|
+
.Pp
|
148
|
+
.It Fl v
|
149
|
+
.It Fl -version
|
150
|
+
Output version information and exit.
|
151
|
+
.El
|
152
|
+
.Pp
|
153
|
+
Data source options:
|
154
|
+
.Bl -tag -width "1234567890123" -compact
|
155
|
+
.Pp
|
156
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm list-doc-dirs
|
157
|
+
List the directories from which
|
158
|
+
.Nm
|
159
|
+
will source documentation on stdout and exit.
|
160
|
+
.Pp
|
161
|
+
.It Fl d Ar DIRNAME
|
162
|
+
.It Fl -doc-dir Ns = Ns Ar DIRNAME
|
163
|
+
List of directories from which to source
|
164
|
+
documentation in addition to the standard
|
165
|
+
directories. May be repeated.
|
166
|
+
.Pp
|
167
|
+
.It Fl -no-standard-docs
|
168
|
+
Do not include documentation from the Ruby standard library,
|
169
|
+
.Pa site_lib ,
|
170
|
+
installed gems, or
|
171
|
+
.Pa ~/.rdoc .
|
172
|
+
Use with
|
173
|
+
.Fl -doc-dir .
|
174
|
+
.Pp
|
175
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm system
|
176
|
+
Include documentation from Ruby's standard library. Defaults to true.
|
177
|
+
.Pp
|
178
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm site
|
179
|
+
Include documentation from libraries installed in
|
180
|
+
.Pa site_lib .
|
181
|
+
Defaults to true.
|
182
|
+
.Pp
|
183
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm gems
|
184
|
+
Include documentation from RubyGems. Defaults to true.
|
185
|
+
.Pp
|
186
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm home
|
187
|
+
Include documentation stored in
|
188
|
+
.Pa ~/.rdoc .
|
189
|
+
Defaults to true.
|
190
|
+
.El
|
191
|
+
.Pp
|
192
|
+
Debug options:
|
193
|
+
.Bl -tag -width "1234567890123" -compact
|
194
|
+
.Pp
|
195
|
+
.It Fl - Ns Oo Cm no- Oc Ns Cm profile
|
196
|
+
Run with the Ruby profiler.
|
197
|
+
.Pp
|
198
|
+
.It Fl -dump Ns = Ns Ar CACHE
|
199
|
+
Dump data from an ri cache or data file.
|
200
|
+
.El
|
201
|
+
.Pp
|
202
|
+
.Sh ENVIRONMENT
|
203
|
+
.Bl -tag -width "USERPROFILE" -compact
|
204
|
+
.Pp
|
205
|
+
.It Ev RI
|
206
|
+
Options to prepend to those specified on the command-line.
|
207
|
+
.Pp
|
208
|
+
.It Ev RI_PAGER
|
209
|
+
.It Ev PAGER
|
210
|
+
Pager program to use for displaying.
|
211
|
+
.Pp
|
212
|
+
.It Ev HOME
|
213
|
+
.It Ev USERPROFILE
|
214
|
+
.It Ev HOMEPATH
|
215
|
+
Path to the user's home directory.
|
216
|
+
.El
|
217
|
+
.Pp
|
218
|
+
.Sh FILES
|
219
|
+
.Bl -tag -width "USERPROFILE" -compact
|
220
|
+
.Pp
|
221
|
+
.It Pa ~/.rdoc
|
222
|
+
Path for ri data in the user's home directory.
|
223
|
+
.Pp
|
224
|
+
.El
|
225
|
+
.Pp
|
226
|
+
.Sh SEE ALSO
|
227
|
+
.Xr ruby 1 ,
|
228
|
+
.Xr rdoc 1 ,
|
229
|
+
.Xr gem 1
|
230
|
+
.Pp
|
231
|
+
.Sh REPORTING BUGS
|
232
|
+
.Bl -bullet
|
233
|
+
.It
|
234
|
+
Security vulnerabilities should be reported via an email to
|
235
|
+
.Mt security@ruby-lang.org .
|
236
|
+
Reported problems will be published after being fixed.
|
237
|
+
.Pp
|
238
|
+
.It
|
239
|
+
Other bugs and feature requests can be reported via the
|
240
|
+
Ruby Issue Tracking System
|
241
|
+
.Pq Lk https://bugs.ruby-lang.org/ .
|
242
|
+
Do not report security vulnerabilities
|
243
|
+
via this system because it publishes the vulnerabilities immediately.
|
244
|
+
.El
|
245
|
+
.Sh AUTHORS
|
246
|
+
Written by
|
247
|
+
.An Dave Thomas Aq dave@pragmaticprogrammer.com .
|