83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# File 'lib/cosensee/line_parser.rb', line 83
def parse_code(line)
return line if line.parsed?
parsed = []
strs = line.split_rest_by('`')
loop do
str = strs.shift
unless str
return line.update(rest: nil,
content: parsed)
end
parsed << str
str = strs.shift
unless str
line.update(rest: nil,
content: parsed)
return line
end
if strs.empty?
parsed.last.concat("`#{str}")
return line.update(rest: nil,
content: parsed)
else
parsed << Node::Code.new(str, "`#{str}`")
end
end
end
|