self.backslash = False
return True
+ def handle_tag(self, c):
+ for tag_class in MDTag.registered_tags:
+ if c == tag_class.char and self.check_states(tag_class):
+ return tag_class(self.states, self.sio)
+ return None
+
def join_lines(self):
if self.sio.getvalue():
assert not self.lines
if c == "\\":
self.backslash = True
continue
- tag = None
- for tag_class in MDTag.registered_tags:
- if c == tag_class.char and self.check_states(tag_class):
- tag = tag_class(self.states, self.sio)
- break
- if tag is not None:
- continue
- if len(self.states) > 0:
- self.states[-1].write(c)
- else:
- self.sio.write(c)
+ if not self.handle_tag(c):
+ (self.states[-1] if self.states else self.sio).write(c)
assert len(self.states) == 0, self.states
assert not self.backslash
self.lines.clear()
return self.list_items[-1].lines
@lines.setter
- def lines(self, value):
+ def lines(self, _):
self.list_items.append(self.ListItem())
def join_lines(self):