return;
}
+ let mut content = "".to_string();
// check if any text in the title range has changed
let pos = match &event.event_type {
- EventType::TextInsert(t) => t.pos,
- EventType::TextDelete(t) => t.begin,
+ EventType::TextInsert(t) => {
+ content = self.text.get();
+ content.insert_str(t.pos as usize, t.text.as_str());
+ t.pos
+ },
+ EventType::TextDelete(t) => {
+ content = self.text.get();
+ let range = t.begin as usize..t.end as usize;
+ content.replace_range(range, "");
+ t.begin
+ },
_ => {
return;
}
};
if self.title_end != -1 && pos > self.title_end + 1 {
- return; // this text edit can not change the title
+ //return; // this text edit can not change the title
}
// TODO: we don't need the full text
- self.update_title(self.text.get().as_str(), true);
+ self.update_title(content.as_str(), true);
}
}