rdoc 6.3.4.1 → 8.0.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/CONTRIBUTING.md +195 -0
- data/History.rdoc +65 -63
- data/LEGAL.rdoc +7 -1
- data/LICENSE.rdoc +6 -0
- data/README.md +236 -0
- data/RI.md +842 -0
- data/TODO.rdoc +8 -7
- data/doc/markup_reference/markdown.md +659 -0
- data/doc/markup_reference/rdoc.rdoc +1169 -0
- data/exe/rdoc +0 -1
- data/lib/rdoc/{alias.rb → code_object/alias.rb} +4 -18
- data/lib/rdoc/{any_method.rb → code_object/any_method.rb} +50 -24
- data/lib/rdoc/{attr.rb → code_object/attr.rb} +16 -14
- data/lib/rdoc/{class_module.rb → code_object/class_module.rb} +225 -58
- data/lib/rdoc/{constant.rb → code_object/constant.rb} +44 -10
- data/lib/rdoc/code_object/context/section.rb +182 -0
- data/lib/rdoc/{context.rb → code_object/context.rb} +78 -106
- data/lib/rdoc/{extend.rb → code_object/extend.rb} +0 -1
- data/lib/rdoc/{include.rb → code_object/include.rb} +0 -1
- data/lib/rdoc/{method_attr.rb → code_object/method_attr.rb} +46 -48
- data/lib/rdoc/{mixin.rb → code_object/mixin.rb} +6 -4
- data/lib/rdoc/{normal_class.rb → code_object/normal_class.rb} +2 -3
- data/lib/rdoc/{normal_module.rb → code_object/normal_module.rb} +2 -3
- data/lib/rdoc/{require.rb → code_object/require.rb} +1 -2
- data/lib/rdoc/{single_class.rb → code_object/single_class.rb} +5 -1
- data/lib/rdoc/{top_level.rb → code_object/top_level.rb} +60 -63
- data/lib/rdoc/code_object.rb +11 -39
- data/lib/rdoc/code_objects.rb +1 -2
- data/lib/rdoc/comment.rb +202 -99
- data/lib/rdoc/cross_reference.rb +75 -62
- data/lib/rdoc/encoding.rb +8 -24
- data/lib/rdoc/erb_partial.rb +1 -2
- data/lib/rdoc/erbio.rb +3 -8
- data/lib/rdoc/generator/aliki.rb +200 -0
- data/lib/rdoc/generator/darkfish.rb +156 -122
- data/lib/rdoc/generator/json_index.rb +8 -24
- data/lib/rdoc/generator/markup.rb +70 -34
- data/lib/rdoc/generator/pot/message_extractor.rb +7 -7
- data/lib/rdoc/generator/pot/po.rb +1 -1
- data/lib/rdoc/generator/pot/po_entry.rb +8 -8
- data/lib/rdoc/generator/pot.rb +1 -5
- data/lib/rdoc/generator/ri.rb +1 -2
- data/lib/rdoc/generator/template/aliki/DESIGN.md +536 -0
- data/lib/rdoc/generator/template/aliki/_aside_toc.rhtml +8 -0
- data/lib/rdoc/generator/template/aliki/_footer.rhtml +23 -0
- data/lib/rdoc/generator/template/aliki/_head.rhtml +163 -0
- data/lib/rdoc/generator/template/aliki/_header.rhtml +56 -0
- data/lib/rdoc/generator/template/aliki/_icons.rhtml +208 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_ancestors.rhtml +16 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_classes.rhtml +15 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_extends.rhtml +27 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_includes.rhtml +27 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_installed.rhtml +16 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_methods.rhtml +41 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_pages.rhtml +67 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_search.rhtml +15 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_sections.rhtml +21 -0
- data/lib/rdoc/generator/template/aliki/_sidebar_toggle.rhtml +3 -0
- data/lib/rdoc/generator/template/aliki/class.rhtml +230 -0
- data/lib/rdoc/generator/template/aliki/css/rdoc.css +2181 -0
- data/lib/rdoc/generator/template/aliki/index.rhtml +22 -0
- data/lib/rdoc/generator/template/aliki/js/aliki.js +513 -0
- data/lib/rdoc/generator/template/aliki/js/bash_highlighter.js +167 -0
- data/lib/rdoc/generator/template/aliki/js/c_highlighter.js +299 -0
- data/lib/rdoc/generator/template/aliki/js/search_controller.js +129 -0
- data/lib/rdoc/generator/template/aliki/js/search_navigation.js +105 -0
- data/lib/rdoc/generator/template/aliki/js/search_ranker.js +239 -0
- data/lib/rdoc/generator/template/aliki/js/theme-toggle.js +112 -0
- data/lib/rdoc/generator/template/aliki/page.rhtml +18 -0
- data/lib/rdoc/generator/template/aliki/servlet_not_found.rhtml +14 -0
- data/lib/rdoc/generator/template/aliki/servlet_root.rhtml +65 -0
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +3 -3
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +35 -14
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +1 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +11 -9
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +11 -9
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +7 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +20 -11
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +25 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +4 -9
- data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +2 -1
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +28 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
- data/lib/rdoc/generator/template/darkfish/class.rhtml +138 -90
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +420 -358
- data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/index.rhtml +14 -12
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +59 -3
- data/lib/rdoc/generator/template/darkfish/js/search.js +15 -5
- data/lib/rdoc/generator/template/darkfish/page.rhtml +7 -6
- data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +12 -9
- data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +24 -21
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +35 -21
- data/lib/rdoc/generator/template/json_index/js/navigation.js +8 -8
- data/lib/rdoc/generator/template/json_index/js/searcher.js +48 -6
- data/lib/rdoc/generator.rb +6 -5
- data/lib/rdoc/i18n/text.rb +3 -3
- data/lib/rdoc/i18n.rb +1 -1
- data/lib/rdoc/known_classes.rb +5 -4
- data/lib/rdoc/markdown/entities.rb +0 -1
- data/lib/rdoc/markdown/literals.kpeg +0 -2
- data/lib/rdoc/markdown/literals.rb +0 -1
- data/lib/rdoc/markdown.kpeg +140 -62
- data/lib/rdoc/markdown.rb +1015 -873
- data/lib/rdoc/markup/blank_line.rb +25 -24
- data/lib/rdoc/markup/block_quote.rb +1 -2
- data/lib/rdoc/markup/document.rb +10 -11
- data/lib/rdoc/markup/element.rb +21 -0
- data/lib/rdoc/markup/formatter.rb +134 -115
- data/lib/rdoc/markup/hard_break.rb +30 -28
- data/lib/rdoc/markup/heading.rb +163 -72
- data/lib/rdoc/markup/include.rb +3 -4
- data/lib/rdoc/markup/indented_paragraph.rb +4 -5
- data/lib/rdoc/markup/inline_parser.rb +312 -0
- data/lib/rdoc/markup/list.rb +6 -7
- data/lib/rdoc/markup/list_item.rb +6 -7
- data/lib/rdoc/markup/paragraph.rb +2 -3
- data/lib/rdoc/markup/parser.rb +29 -19
- data/lib/rdoc/markup/pre_process.rb +39 -18
- data/lib/rdoc/markup/raw.rb +52 -56
- data/lib/rdoc/markup/rule.rb +2 -3
- data/lib/rdoc/markup/table.rb +49 -32
- data/lib/rdoc/markup/to_ansi.rb +58 -8
- data/lib/rdoc/markup/to_bs.rb +47 -38
- data/lib/rdoc/markup/to_html.rb +343 -105
- data/lib/rdoc/markup/to_html_crossref.rb +143 -58
- data/lib/rdoc/markup/to_html_snippet.rb +78 -76
- data/lib/rdoc/markup/to_joined_paragraph.rb +3 -9
- data/lib/rdoc/markup/to_label.rb +34 -25
- data/lib/rdoc/markup/to_markdown.rb +74 -51
- data/lib/rdoc/markup/to_rdoc.rb +141 -82
- data/lib/rdoc/markup/to_table_of_contents.rb +4 -5
- data/lib/rdoc/markup/to_test.rb +10 -3
- data/lib/rdoc/markup/to_tt_only.rb +17 -31
- data/lib/rdoc/markup/verbatim.rb +5 -6
- data/lib/rdoc/markup.rb +59 -707
- data/lib/rdoc/options.rb +228 -101
- data/lib/rdoc/parser/c.rb +186 -184
- data/lib/rdoc/parser/changelog.rb +57 -13
- data/lib/rdoc/parser/markdown.rb +0 -2
- data/lib/rdoc/parser/rbs.rb +275 -0
- data/lib/rdoc/parser/rd.rb +0 -1
- data/lib/rdoc/parser/ruby.rb +963 -2024
- data/lib/rdoc/parser/ruby_colorizer.rb +253 -0
- data/lib/rdoc/parser/simple.rb +6 -23
- data/lib/rdoc/parser/text.rb +0 -1
- data/lib/rdoc/parser.rb +35 -14
- data/lib/rdoc/rbs_helper.rb +186 -0
- data/lib/rdoc/rd/block_parser.rb +659 -11
- data/lib/rdoc/rd/block_parser.ry +13 -9
- data/lib/rdoc/rd/inline.rb +4 -5
- data/lib/rdoc/rd/inline_parser.rb +646 -2
- data/lib/rdoc/rd.rb +4 -5
- data/lib/rdoc/rdoc.rb +234 -90
- data/lib/rdoc/ri/driver.rb +172 -172
- data/lib/rdoc/ri/paths.rb +3 -3
- data/lib/rdoc/{servlet.rb → ri/servlet.rb} +28 -27
- data/lib/rdoc/ri/store.rb +0 -1
- data/lib/rdoc/ri/task.rb +3 -3
- data/lib/rdoc/ri.rb +5 -5
- data/lib/rdoc/rubygems_hook.rb +106 -25
- data/lib/rdoc/server.rb +460 -0
- data/lib/rdoc/stats/normal.rb +1 -1
- data/lib/rdoc/stats/quiet.rb +1 -2
- data/lib/rdoc/stats/verbose.rb +3 -5
- data/lib/rdoc/stats.rb +158 -136
- data/lib/rdoc/store.rb +267 -48
- data/lib/rdoc/task.rb +54 -28
- data/lib/rdoc/text.rb +60 -120
- data/lib/rdoc/token_stream.rb +30 -45
- data/lib/rdoc/tom_doc.rb +9 -15
- data/lib/rdoc/version.rb +3 -1
- data/lib/rdoc.rb +90 -52
- data/lib/rubygems_plugin.rb +14 -0
- data/man/ri.1 +2 -0
- data/rdoc-logo.svg +43 -0
- data/rdoc.gemspec +25 -200
- metadata +120 -53
- data/CONTRIBUTING.rdoc +0 -220
- data/ExampleMarkdown.md +0 -37
- data/ExampleRDoc.rdoc +0 -208
- data/Gemfile +0 -12
- data/README.rdoc +0 -129
- data/RI.rdoc +0 -57
- data/Rakefile +0 -101
- data/bin/console +0 -7
- data/bin/setup +0 -6
- data/lib/rdoc/anon_class.rb +0 -11
- data/lib/rdoc/context/section.rb +0 -232
- data/lib/rdoc/generator/template/darkfish/.document +0 -0
- data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +0 -19
- data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +0 -9
- data/lib/rdoc/generator/template/json_index/.document +0 -1
- data/lib/rdoc/ghost_method.rb +0 -7
- data/lib/rdoc/markup/attr_changer.rb +0 -23
- data/lib/rdoc/markup/attr_span.rb +0 -36
- data/lib/rdoc/markup/attribute_manager.rb +0 -409
- data/lib/rdoc/markup/attributes.rb +0 -71
- data/lib/rdoc/markup/regexp_handling.rb +0 -41
- data/lib/rdoc/meta_method.rb +0 -7
- data/lib/rdoc/parser/ripper_state_lex.rb +0 -590
- data/lib/rdoc/parser/ruby_tools.rb +0 -167
data/lib/rdoc/markup/to_ansi.rb
CHANGED
|
@@ -7,7 +7,7 @@ class RDoc::Markup::ToAnsi < RDoc::Markup::ToRdoc
|
|
|
7
7
|
##
|
|
8
8
|
# Creates a new ToAnsi visitor that is ready to output vibrant ANSI color!
|
|
9
9
|
|
|
10
|
-
def initialize
|
|
10
|
+
def initialize
|
|
11
11
|
super
|
|
12
12
|
|
|
13
13
|
@headings.clear
|
|
@@ -19,16 +19,63 @@ class RDoc::Markup::ToAnsi < RDoc::Markup::ToRdoc
|
|
|
19
19
|
##
|
|
20
20
|
# Maps attributes to ANSI sequences
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
ANSI_STYLE_CODES_ON = {
|
|
23
|
+
BOLD: 1,
|
|
24
|
+
TT: 7,
|
|
25
|
+
EM: 4,
|
|
26
|
+
STRIKE: 9
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
ANSI_STYLE_CODES_OFF = {
|
|
30
|
+
BOLD: 22,
|
|
31
|
+
TT: 27,
|
|
32
|
+
EM: 24,
|
|
33
|
+
STRIKE: 29
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
# Apply the given attributes by emitting ANSI sequences.
|
|
37
|
+
# Emitting attribute changes are deferred until new text is added and applied in batch.
|
|
38
|
+
# This method computes the necessary ANSI codes to transition from the
|
|
39
|
+
# current set of applied attributes to the new set of +attributes+.
|
|
40
|
+
|
|
41
|
+
def apply_attributes(attributes)
|
|
42
|
+
before = @applied_attributes
|
|
43
|
+
after = attributes.sort
|
|
44
|
+
return if before == after
|
|
45
|
+
|
|
46
|
+
if after.empty?
|
|
47
|
+
emit_inline("\e[m")
|
|
48
|
+
elsif !before.empty? && before.size > (before & after).size + 1
|
|
49
|
+
codes = after.map {|attr| ANSI_STYLE_CODES_ON[attr] }.compact
|
|
50
|
+
emit_inline("\e[#{[0, *codes].join(';')}m")
|
|
51
|
+
else
|
|
52
|
+
off_codes = (before - after).map {|attr| ANSI_STYLE_CODES_OFF[attr] }.compact
|
|
53
|
+
on_codes = (after - before).map {|attr| ANSI_STYLE_CODES_ON[attr] }.compact
|
|
54
|
+
emit_inline("\e[#{(off_codes + on_codes).join(';')}m")
|
|
55
|
+
end
|
|
56
|
+
@applied_attributes = attributes
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def add_text(text)
|
|
60
|
+
attrs = @attributes.keys
|
|
61
|
+
if @applied_attributes != attrs
|
|
62
|
+
apply_attributes(attrs)
|
|
63
|
+
end
|
|
64
|
+
emit_inline(text)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def handle_inline(text)
|
|
68
|
+
@applied_attributes = []
|
|
69
|
+
res = super
|
|
70
|
+
res << "\e[m" unless @applied_attributes.empty?
|
|
71
|
+
@applied_attributes = []
|
|
72
|
+
res
|
|
26
73
|
end
|
|
27
74
|
|
|
28
75
|
##
|
|
29
76
|
# Overrides indent width to ensure output lines up correctly.
|
|
30
77
|
|
|
31
|
-
def accept_list_item_end
|
|
78
|
+
def accept_list_item_end(list_item)
|
|
32
79
|
width = case @list_type.last
|
|
33
80
|
when :BULLET then
|
|
34
81
|
2
|
|
@@ -52,7 +99,7 @@ class RDoc::Markup::ToAnsi < RDoc::Markup::ToRdoc
|
|
|
52
99
|
##
|
|
53
100
|
# Adds coloring to note and label list items
|
|
54
101
|
|
|
55
|
-
def accept_list_item_start
|
|
102
|
+
def accept_list_item_start(list_item)
|
|
56
103
|
bullet = case @list_type.last
|
|
57
104
|
when :BULLET then
|
|
58
105
|
'*'
|
|
@@ -81,6 +128,10 @@ class RDoc::Markup::ToAnsi < RDoc::Markup::ToRdoc
|
|
|
81
128
|
end
|
|
82
129
|
end
|
|
83
130
|
|
|
131
|
+
def calculate_text_width(text)
|
|
132
|
+
text.gsub(/\e\[[\d;]*m/, '').size
|
|
133
|
+
end
|
|
134
|
+
|
|
84
135
|
##
|
|
85
136
|
# Starts accepting with a reset screen
|
|
86
137
|
|
|
@@ -91,4 +142,3 @@ class RDoc::Markup::ToAnsi < RDoc::Markup::ToRdoc
|
|
|
91
142
|
end
|
|
92
143
|
|
|
93
144
|
end
|
|
94
|
-
|
data/lib/rdoc/markup/to_bs.rb
CHANGED
|
@@ -10,27 +10,42 @@ class RDoc::Markup::ToBs < RDoc::Markup::ToRdoc
|
|
|
10
10
|
##
|
|
11
11
|
# Returns a new ToBs that is ready for hot backspace action!
|
|
12
12
|
|
|
13
|
-
def initialize
|
|
13
|
+
def initialize
|
|
14
14
|
super
|
|
15
15
|
|
|
16
16
|
@in_b = false
|
|
17
17
|
@in_em = false
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
def handle_inline(text)
|
|
21
|
+
initial_style = []
|
|
22
|
+
initial_style << :BOLD if @in_b
|
|
23
|
+
initial_style << :EM if @in_em
|
|
24
|
+
super(text, initial_style)
|
|
25
|
+
end
|
|
23
26
|
|
|
24
|
-
def
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
def add_text(text)
|
|
28
|
+
attrs = @attributes.keys
|
|
29
|
+
if attrs.include? :BOLD
|
|
30
|
+
styled = +''
|
|
31
|
+
text.chars.each do |c|
|
|
32
|
+
styled << "#{c}\b#{c}"
|
|
33
|
+
end
|
|
34
|
+
text = styled
|
|
35
|
+
elsif attrs.include? :EM
|
|
36
|
+
styled = +''
|
|
37
|
+
text.chars.each do |c|
|
|
38
|
+
styled << "_\b#{c}"
|
|
39
|
+
end
|
|
40
|
+
text = styled
|
|
41
|
+
end
|
|
42
|
+
emit_inline(text)
|
|
28
43
|
end
|
|
29
44
|
|
|
30
45
|
##
|
|
31
46
|
# Makes heading text bold.
|
|
32
47
|
|
|
33
|
-
def accept_heading
|
|
48
|
+
def accept_heading(heading)
|
|
34
49
|
use_prefix or @res << ' ' * @indent
|
|
35
50
|
@res << @headings[heading.level][0]
|
|
36
51
|
@in_b = true
|
|
@@ -41,37 +56,31 @@ class RDoc::Markup::ToBs < RDoc::Markup::ToRdoc
|
|
|
41
56
|
end
|
|
42
57
|
|
|
43
58
|
##
|
|
44
|
-
#
|
|
45
|
-
|
|
46
|
-
def
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
when
|
|
51
|
-
|
|
59
|
+
# Prepares the visitor for consuming +list_item+
|
|
60
|
+
|
|
61
|
+
def accept_list_item_start(list_item)
|
|
62
|
+
type = @list_type.last
|
|
63
|
+
|
|
64
|
+
case type
|
|
65
|
+
when :NOTE, :LABEL then
|
|
66
|
+
bullets = Array(list_item.label).map do |label|
|
|
67
|
+
attributes(label).strip
|
|
68
|
+
end.join "\n"
|
|
69
|
+
|
|
70
|
+
bullets << ":\n" unless bullets.empty?
|
|
71
|
+
|
|
72
|
+
@prefix = ' ' * @indent
|
|
73
|
+
@indent += 2
|
|
74
|
+
@prefix << bullets + (' ' * @indent)
|
|
75
|
+
else
|
|
76
|
+
bullet = type == :BULLET ? '*' : @list_index.last.to_s + '.'
|
|
77
|
+
@prefix = (' ' * @indent) + bullet.ljust(bullet.length + 1)
|
|
78
|
+
width = bullet.length + 1
|
|
79
|
+
@indent += width
|
|
52
80
|
end
|
|
53
|
-
''
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
##
|
|
57
|
-
# Calls convert_string on the result of convert_regexp_handling
|
|
58
|
-
|
|
59
|
-
def convert_regexp_handling target
|
|
60
|
-
convert_string super
|
|
61
81
|
end
|
|
62
82
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def convert_string string
|
|
67
|
-
return string unless @in_b or @in_em
|
|
68
|
-
chars = if @in_b then
|
|
69
|
-
string.chars.map do |char| "#{char}\b#{char}" end
|
|
70
|
-
elsif @in_em then
|
|
71
|
-
string.chars.map do |char| "_\b#{char}" end
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
chars.join
|
|
83
|
+
def calculate_text_width(text)
|
|
84
|
+
text.gsub(/_\x08/, '').gsub(/\x08./, '').size
|
|
75
85
|
end
|
|
76
|
-
|
|
77
86
|
end
|