rdoc 3.1 → 6.3.3

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.

Files changed (247) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.rdoc +220 -0
  3. data/CVE-2013-0256.rdoc +49 -0
  4. data/ExampleMarkdown.md +37 -0
  5. data/ExampleRDoc.rdoc +208 -0
  6. data/Gemfile +12 -0
  7. data/History.rdoc +1666 -0
  8. data/LEGAL.rdoc +50 -0
  9. data/LICENSE.rdoc +57 -0
  10. data/README.rdoc +129 -0
  11. data/RI.rdoc +57 -0
  12. data/Rakefile +84 -81
  13. data/TODO.rdoc +59 -0
  14. data/bin/console +7 -0
  15. data/bin/setup +6 -0
  16. data/{bin → exe}/rdoc +11 -2
  17. data/exe/ri +12 -0
  18. data/lib/rdoc/alias.rb +1 -2
  19. data/lib/rdoc/anon_class.rb +3 -2
  20. data/lib/rdoc/any_method.rb +234 -40
  21. data/lib/rdoc/attr.rb +79 -11
  22. data/lib/rdoc/class_module.rb +443 -71
  23. data/lib/rdoc/code_object.rb +216 -20
  24. data/lib/rdoc/code_objects.rb +4 -21
  25. data/lib/rdoc/comment.rb +250 -0
  26. data/lib/rdoc/constant.rb +110 -9
  27. data/lib/rdoc/context/section.rb +232 -0
  28. data/lib/rdoc/context.rb +392 -172
  29. data/lib/rdoc/cross_reference.rb +202 -0
  30. data/lib/rdoc/encoding.rb +83 -28
  31. data/lib/rdoc/erb_partial.rb +19 -0
  32. data/lib/rdoc/erbio.rb +8 -3
  33. data/lib/rdoc/extend.rb +10 -0
  34. data/lib/rdoc/generator/darkfish.rb +507 -84
  35. data/lib/rdoc/generator/json_index.rb +300 -0
  36. data/lib/rdoc/generator/markup.rb +27 -74
  37. data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  38. data/lib/rdoc/generator/pot/po.rb +84 -0
  39. data/lib/rdoc/generator/pot/po_entry.rb +141 -0
  40. data/lib/rdoc/generator/pot.rb +98 -0
  41. data/lib/rdoc/generator/ri.rb +8 -62
  42. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  43. data/lib/rdoc/generator/template/darkfish/_head.rhtml +22 -0
  44. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +19 -0
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +9 -0
  46. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  47. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +9 -0
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  49. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  50. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +12 -0
  51. data/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  52. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +12 -0
  53. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +11 -0
  54. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  55. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  56. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +18 -0
  57. data/lib/rdoc/generator/template/darkfish/class.rhtml +172 -0
  58. data/lib/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  59. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +639 -0
  60. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  61. data/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  62. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  63. data/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  64. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  65. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  66. data/lib/rdoc/generator/template/darkfish/images/add.png +0 -0
  67. data/lib/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  68. data/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
  69. data/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  70. data/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  71. data/lib/rdoc/generator/template/darkfish/index.rhtml +18 -60
  72. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +51 -83
  73. data/lib/rdoc/generator/template/darkfish/js/search.js +110 -0
  74. data/lib/rdoc/generator/template/darkfish/page.rhtml +18 -0
  75. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +18 -0
  76. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +62 -0
  77. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +58 -0
  78. data/lib/rdoc/generator/template/json_index/.document +1 -0
  79. data/lib/rdoc/generator/template/json_index/js/navigation.js +105 -0
  80. data/lib/rdoc/generator/template/json_index/js/searcher.js +229 -0
  81. data/lib/rdoc/generator.rb +24 -13
  82. data/lib/rdoc/ghost_method.rb +1 -2
  83. data/lib/rdoc/i18n/locale.rb +102 -0
  84. data/lib/rdoc/i18n/text.rb +126 -0
  85. data/lib/rdoc/i18n.rb +10 -0
  86. data/lib/rdoc/include.rb +5 -95
  87. data/lib/rdoc/known_classes.rb +5 -2
  88. data/lib/rdoc/markdown/entities.rb +2132 -0
  89. data/lib/rdoc/markdown/literals.kpeg +23 -0
  90. data/lib/rdoc/markdown/literals.rb +416 -0
  91. data/lib/rdoc/markdown.kpeg +1237 -0
  92. data/lib/rdoc/markdown.rb +16684 -0
  93. data/lib/rdoc/markup/attr_changer.rb +23 -0
  94. data/lib/rdoc/markup/attr_span.rb +36 -0
  95. data/lib/rdoc/markup/attribute_manager.rb +135 -62
  96. data/lib/rdoc/markup/attributes.rb +71 -0
  97. data/lib/rdoc/markup/blank_line.rb +1 -0
  98. data/lib/rdoc/markup/block_quote.rb +15 -0
  99. data/lib/rdoc/markup/document.rb +96 -9
  100. data/lib/rdoc/markup/formatter.rb +138 -25
  101. data/lib/rdoc/markup/hard_break.rb +32 -0
  102. data/lib/rdoc/markup/heading.rb +61 -2
  103. data/lib/rdoc/markup/include.rb +43 -0
  104. data/lib/rdoc/markup/indented_paragraph.rb +48 -0
  105. data/lib/rdoc/markup/list.rb +25 -4
  106. data/lib/rdoc/markup/list_item.rb +18 -4
  107. data/lib/rdoc/markup/paragraph.rb +15 -0
  108. data/lib/rdoc/markup/parser.rb +180 -88
  109. data/lib/rdoc/markup/pre_process.rb +183 -38
  110. data/lib/rdoc/markup/raw.rb +6 -5
  111. data/lib/rdoc/markup/regexp_handling.rb +41 -0
  112. data/lib/rdoc/markup/rule.rb +1 -0
  113. data/lib/rdoc/markup/table.rb +47 -0
  114. data/lib/rdoc/markup/to_ansi.rb +17 -7
  115. data/lib/rdoc/markup/to_bs.rb +5 -8
  116. data/lib/rdoc/markup/to_html.rb +238 -137
  117. data/lib/rdoc/markup/to_html_crossref.rb +125 -152
  118. data/lib/rdoc/markup/to_html_snippet.rb +285 -0
  119. data/lib/rdoc/markup/to_joined_paragraph.rb +47 -0
  120. data/lib/rdoc/markup/to_label.rb +75 -0
  121. data/lib/rdoc/markup/to_markdown.rb +192 -0
  122. data/lib/rdoc/markup/to_rdoc.rb +85 -15
  123. data/lib/rdoc/markup/to_table_of_contents.rb +89 -0
  124. data/lib/rdoc/markup/to_test.rb +2 -4
  125. data/lib/rdoc/markup/to_tt_only.rb +121 -0
  126. data/lib/rdoc/markup/verbatim.rb +39 -0
  127. data/lib/rdoc/markup.rb +388 -110
  128. data/lib/rdoc/meta_method.rb +1 -2
  129. data/lib/rdoc/method_attr.rb +87 -21
  130. data/lib/rdoc/mixin.rb +121 -0
  131. data/lib/rdoc/normal_class.rb +39 -10
  132. data/lib/rdoc/normal_module.rb +22 -7
  133. data/lib/rdoc/options.rb +613 -73
  134. data/lib/rdoc/parser/c.rb +621 -287
  135. data/lib/rdoc/parser/changelog.rb +335 -0
  136. data/lib/rdoc/parser/markdown.rb +24 -0
  137. data/lib/rdoc/parser/rd.rb +23 -0
  138. data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
  139. data/lib/rdoc/parser/ruby.rb +1368 -762
  140. data/lib/rdoc/parser/ruby_tools.rb +42 -35
  141. data/lib/rdoc/parser/simple.rb +23 -11
  142. data/lib/rdoc/parser/text.rb +12 -0
  143. data/lib/rdoc/parser.rb +162 -89
  144. data/lib/rdoc/rd/block_parser.rb +1056 -0
  145. data/lib/rdoc/rd/block_parser.ry +639 -0
  146. data/lib/rdoc/rd/inline.rb +72 -0
  147. data/lib/rdoc/rd/inline_parser.rb +1208 -0
  148. data/lib/rdoc/rd/inline_parser.ry +593 -0
  149. data/lib/rdoc/rd.rb +100 -0
  150. data/lib/rdoc/rdoc.rb +208 -115
  151. data/lib/rdoc/require.rb +1 -2
  152. data/lib/rdoc/ri/driver.rb +734 -239
  153. data/lib/rdoc/ri/formatter.rb +1 -0
  154. data/lib/rdoc/ri/paths.rb +91 -48
  155. data/lib/rdoc/ri/store.rb +3 -261
  156. data/lib/rdoc/ri/task.rb +71 -0
  157. data/lib/rdoc/ri.rb +5 -2
  158. data/lib/rdoc/rubygems_hook.rb +246 -0
  159. data/lib/rdoc/servlet.rb +451 -0
  160. data/lib/rdoc/single_class.rb +14 -2
  161. data/lib/rdoc/stats/normal.rb +19 -12
  162. data/lib/rdoc/stats/quiet.rb +1 -0
  163. data/lib/rdoc/stats/verbose.rb +1 -0
  164. data/lib/rdoc/stats.rb +262 -104
  165. data/lib/rdoc/store.rb +979 -0
  166. data/lib/rdoc/task.rb +84 -44
  167. data/lib/rdoc/text.rb +117 -72
  168. data/lib/rdoc/token_stream.rb +73 -4
  169. data/lib/rdoc/tom_doc.rb +263 -0
  170. data/lib/rdoc/top_level.rb +111 -261
  171. data/lib/rdoc/version.rb +8 -0
  172. data/lib/rdoc.rb +127 -64
  173. data/man/ri.1 +247 -0
  174. data/rdoc.gemspec +249 -0
  175. metadata +171 -291
  176. data/.autotest +0 -16
  177. data/.document +0 -5
  178. data/History.txt +0 -594
  179. data/LICENSE.txt +0 -57
  180. data/Manifest.txt +0 -158
  181. data/README.txt +0 -45
  182. data/RI.txt +0 -58
  183. data/bin/ri +0 -5
  184. data/lib/rdoc/gauntlet.rb +0 -52
  185. data/lib/rdoc/generator/template/darkfish/classpage.rhtml +0 -296
  186. data/lib/rdoc/generator/template/darkfish/filepage.rhtml +0 -124
  187. data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -32
  188. data/lib/rdoc/generator/template/darkfish/js/quicksearch.js +0 -114
  189. data/lib/rdoc/generator/template/darkfish/js/thickbox-compressed.js +0 -10
  190. data/lib/rdoc/generator/template/darkfish/rdoc.css +0 -706
  191. data/lib/rdoc/markup/formatter_test_case.rb +0 -689
  192. data/lib/rdoc/markup/inline.rb +0 -137
  193. data/lib/rdoc/markup/text_formatter_test_case.rb +0 -116
  194. data/lib/rdoc/ruby_lex.rb +0 -1291
  195. data/lib/rdoc/ruby_token.rb +0 -416
  196. data/test/README +0 -1
  197. data/test/binary.dat +0 -0
  198. data/test/hidden.zip.txt +0 -1
  199. data/test/test.ja.rdoc +0 -10
  200. data/test/test.ja.txt +0 -8
  201. data/test/test.txt +0 -1
  202. data/test/test_attribute_manager.rb +0 -120
  203. data/test/test_rdoc_alias.rb +0 -13
  204. data/test/test_rdoc_any_method.rb +0 -126
  205. data/test/test_rdoc_attr.rb +0 -61
  206. data/test/test_rdoc_class_module.rb +0 -233
  207. data/test/test_rdoc_code_object.rb +0 -165
  208. data/test/test_rdoc_constant.rb +0 -15
  209. data/test/test_rdoc_context.rb +0 -370
  210. data/test/test_rdoc_encoding.rb +0 -166
  211. data/test/test_rdoc_generator_darkfish.rb +0 -119
  212. data/test/test_rdoc_generator_ri.rb +0 -76
  213. data/test/test_rdoc_include.rb +0 -96
  214. data/test/test_rdoc_markup.rb +0 -37
  215. data/test/test_rdoc_markup_attribute_manager.rb +0 -240
  216. data/test/test_rdoc_markup_document.rb +0 -51
  217. data/test/test_rdoc_markup_paragraph.rb +0 -9
  218. data/test/test_rdoc_markup_parser.rb +0 -1395
  219. data/test/test_rdoc_markup_pre_process.rb +0 -185
  220. data/test/test_rdoc_markup_raw.rb +0 -27
  221. data/test/test_rdoc_markup_to_ansi.rb +0 -328
  222. data/test/test_rdoc_markup_to_bs.rb +0 -341
  223. data/test/test_rdoc_markup_to_html.rb +0 -335
  224. data/test/test_rdoc_markup_to_html_crossref.rb +0 -169
  225. data/test/test_rdoc_markup_to_rdoc.rb +0 -327
  226. data/test/test_rdoc_method_attr.rb +0 -122
  227. data/test/test_rdoc_normal_class.rb +0 -17
  228. data/test/test_rdoc_normal_module.rb +0 -31
  229. data/test/test_rdoc_options.rb +0 -342
  230. data/test/test_rdoc_parser.rb +0 -83
  231. data/test/test_rdoc_parser_c.rb +0 -912
  232. data/test/test_rdoc_parser_ruby.rb +0 -1754
  233. data/test/test_rdoc_parser_simple.rb +0 -99
  234. data/test/test_rdoc_rdoc.rb +0 -164
  235. data/test/test_rdoc_require.rb +0 -25
  236. data/test/test_rdoc_ri_driver.rb +0 -846
  237. data/test/test_rdoc_ri_paths.rb +0 -43
  238. data/test/test_rdoc_ri_store.rb +0 -352
  239. data/test/test_rdoc_ruby_lex.rb +0 -23
  240. data/test/test_rdoc_stats.rb +0 -38
  241. data/test/test_rdoc_task.rb +0 -92
  242. data/test/test_rdoc_text.rb +0 -251
  243. data/test/test_rdoc_top_level.rb +0 -120
  244. data/test/xref_data.rb +0 -62
  245. data/test/xref_test_case.rb +0 -61
  246. data.tar.gz.sig +0 -3
  247. metadata.gz.sig +0 -0
@@ -0,0 +1,263 @@
1
+ # frozen_string_literal: true
2
+ # :markup: tomdoc
3
+
4
+ # A parser for TomDoc based on TomDoc 1.0.0-rc1 (02adef9b5a)
5
+ #
6
+ # The TomDoc specification can be found at:
7
+ #
8
+ # http://tomdoc.org
9
+ #
10
+ # The latest version of the TomDoc specification can be found at:
11
+ #
12
+ # https://github.com/mojombo/tomdoc/blob/master/tomdoc.md
13
+ #
14
+ # To choose TomDoc as your only default format see RDoc::Options@Saved+Options
15
+ # for instructions on setting up a <code>.rdoc_options</code> file to store
16
+ # your project default.
17
+ #
18
+ # There are a few differences between this parser and the specification. A
19
+ # best-effort was made to follow the specification as closely as possible but
20
+ # some choices to deviate were made.
21
+ #
22
+ # A future version of RDoc will warn when a MUST or MUST NOT is violated and
23
+ # may warn when a SHOULD or SHOULD NOT is violated. RDoc will always try
24
+ # to emit documentation even if given invalid TomDoc.
25
+ #
26
+ # Here are some implementation choices this parser currently makes:
27
+ #
28
+ # This parser allows rdoc-style inline markup but you should not depended on
29
+ # it.
30
+ #
31
+ # This parser allows a space between the comment and the method body.
32
+ #
33
+ # This parser does not require the default value to be described for an
34
+ # optional argument.
35
+ #
36
+ # This parser does not examine the order of sections. An Examples section may
37
+ # precede the Arguments section.
38
+ #
39
+ # This class is documented in TomDoc format. Since this is a subclass of the
40
+ # RDoc markup parser there isn't much to see here, unfortunately.
41
+
42
+ class RDoc::TomDoc < RDoc::Markup::Parser
43
+
44
+ # Internal: Token accessor
45
+
46
+ attr_reader :tokens
47
+
48
+ # Internal: Adds a post-processor which sets the RDoc section based on the
49
+ # comment's status.
50
+ #
51
+ # Returns nothing.
52
+
53
+ def self.add_post_processor # :nodoc:
54
+ RDoc::Markup::PreProcess.post_process do |comment, code_object|
55
+ next unless code_object and
56
+ RDoc::Comment === comment and comment.format == 'tomdoc'
57
+
58
+ comment.text.gsub!(/(\A\s*# )(Public|Internal|Deprecated):\s+/) do
59
+ section = code_object.add_section $2
60
+ code_object.temporary_section = section
61
+
62
+ $1
63
+ end
64
+ end
65
+ end
66
+
67
+ add_post_processor
68
+
69
+ # Public: Parses TomDoc from text
70
+ #
71
+ # text - A String containing TomDoc-format text.
72
+ #
73
+ # Examples
74
+ #
75
+ # RDoc::TomDoc.parse <<-TOMDOC
76
+ # This method does some things
77
+ #
78
+ # Returns nothing.
79
+ # TOMDOC
80
+ # # => #<RDoc::Markup::Document:0xXXX @parts=[...], @file=nil>
81
+ #
82
+ # Returns an RDoc::Markup::Document representing the TomDoc format.
83
+
84
+ def self.parse text
85
+ parser = new
86
+
87
+ parser.tokenize text
88
+ doc = RDoc::Markup::Document.new
89
+ parser.parse doc
90
+ doc
91
+ end
92
+
93
+ # Internal: Extracts the Signature section's method signature
94
+ #
95
+ # comment - An RDoc::Comment that will be parsed and have the signature
96
+ # extracted
97
+ #
98
+ # Returns a String containing the signature and nil if not
99
+
100
+ def self.signature comment
101
+ return unless comment.tomdoc?
102
+
103
+ document = comment.parse
104
+
105
+ signature = nil
106
+ found_heading = false
107
+ found_signature = false
108
+
109
+ document.parts.delete_if do |part|
110
+ next false if found_signature
111
+
112
+ found_heading ||=
113
+ RDoc::Markup::Heading === part && part.text == 'Signature'
114
+
115
+ next false unless found_heading
116
+
117
+ next true if RDoc::Markup::BlankLine === part
118
+
119
+ if RDoc::Markup::Verbatim === part then
120
+ signature = part
121
+ found_signature = true
122
+ end
123
+ end
124
+
125
+ signature and signature.text
126
+ end
127
+
128
+ # Public: Creates a new TomDoc parser. See also RDoc::Markup::parse
129
+
130
+ def initialize
131
+ super
132
+
133
+ @section = nil
134
+ @seen_returns = false
135
+ end
136
+
137
+ # Internal: Builds a heading from the token stream
138
+ #
139
+ # level - The level of heading to create
140
+ #
141
+ # Returns an RDoc::Markup::Heading
142
+
143
+ def build_heading level
144
+ heading = super
145
+
146
+ @section = heading.text
147
+
148
+ heading
149
+ end
150
+
151
+ # Internal: Builds a verbatim from the token stream. A verbatim in the
152
+ # Examples section will be marked as in Ruby format.
153
+ #
154
+ # margin - The indentation from the margin for lines that belong to this
155
+ # verbatim section.
156
+ #
157
+ # Returns an RDoc::Markup::Verbatim
158
+
159
+ def build_verbatim margin
160
+ verbatim = super
161
+
162
+ verbatim.format = :ruby if @section == 'Examples'
163
+
164
+ verbatim
165
+ end
166
+
167
+ # Internal: Builds a paragraph from the token stream
168
+ #
169
+ # margin - Unused
170
+ #
171
+ # Returns an RDoc::Markup::Paragraph.
172
+
173
+ def build_paragraph margin
174
+ p :paragraph_start => margin if @debug
175
+
176
+ paragraph = RDoc::Markup::Paragraph.new
177
+
178
+ until @tokens.empty? do
179
+ type, data, = get
180
+
181
+ case type
182
+ when :TEXT then
183
+ @section = 'Returns' if data =~ /\A(Returns|Raises)/
184
+
185
+ paragraph << data
186
+ when :NEWLINE then
187
+ if :TEXT == peek_token[0] then
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
196
+ else
197
+ break
198
+ end
199
+ else
200
+ unget
201
+ break
202
+ end
203
+ end
204
+
205
+ p :paragraph_end => margin if @debug
206
+
207
+ paragraph
208
+ end
209
+
210
+ ##
211
+ # Detects a section change to "Returns" and adds a heading
212
+
213
+ def parse_text parent, indent # :nodoc:
214
+ paragraph = build_paragraph indent
215
+
216
+ if false == @seen_returns and 'Returns' == @section then
217
+ @seen_returns = true
218
+ parent << RDoc::Markup::Heading.new(3, 'Returns')
219
+ parent << RDoc::Markup::BlankLine.new
220
+ end
221
+
222
+ parent << paragraph
223
+ end
224
+
225
+ # Internal: Turns text into an Array of tokens
226
+ #
227
+ # text - A String containing TomDoc-format text.
228
+ #
229
+ # Returns self.
230
+
231
+ def tokenize text
232
+ text = text.sub(/\A(Public|Internal|Deprecated):\s+/, '')
233
+
234
+ setup_scanner text
235
+
236
+ until @s.eos? do
237
+ pos = @s.pos
238
+
239
+ # leading spaces will be reflected by the column of the next token
240
+ # the only thing we loose are trailing spaces at the end of the file
241
+ next if @s.scan(/ +/)
242
+
243
+ @tokens << case
244
+ when @s.scan(/\r?\n/) then
245
+ token = [:NEWLINE, @s.matched, *pos]
246
+ @s.newline!
247
+ token
248
+ when @s.scan(/(Examples|Signature)$/) then
249
+ @tokens << [:HEADER, 3, *pos]
250
+
251
+ [:TEXT, @s[1], *pos]
252
+ when @s.scan(/([:\w][\w\[\]]*)[ ]+- /) then
253
+ [:NOTE, @s[1], *pos]
254
+ else
255
+ @s.scan(/.*/)
256
+ [:TEXT, @s.matched.sub(/\r$/, ''), *pos]
257
+ end
258
+ end
259
+
260
+ self
261
+ end
262
+
263
+ end