line += c
yield line
+ def is_colour(self, c):
+ return self.c == c * len(self.c)
+
class BlankLine:
def render(self, width):
yield ColouredString("")
self.words.extend(para.words)
self.space_colours.extend(para.space_colours)
+ def delete_mention_words_from(self, pos):
+ while pos < len(self.words) and self.words[pos].is_colour('@'):
+ self.words[pos:pos+1] = []
+ self.space_colours[pos:pos+1] = []
+
+ def __len__(self):
+ return len(self.words)
+
def __repr__(self):
return f"Paragraph({self.words!r}, unfinished={self.unfinished_word!r})"
self.para.end_word()
if want_content:
+ currlen = len(self.para)
for cpara in cparas:
self.para.add_para(cpara)
+ self.para.delete_mention_words_from(currlen)
def render(self, width):
it = self.para.render(width, max(0, width-2))