166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
# File 'lib/cosensee/line_parser.rb', line 166
def parse_double_bracket(line)
return line if line.parsed?
parsed = []
line.content.each do |elem|
if elem.is_a?(String)
loop do
matched = elem.match(/\[\[(.+?)\]\]/)
if matched
parsed << matched.pre_match
parsed << Cosensee::Node::DoubleBracket.new(content: [matched[1]], raw: matched[0])
elem = matched.post_match
else
parsed << elem
break
end
end
else
parsed << elem
end
end
line.update(content: clean_elements(parsed))
end
|