updates highlights if selection starts at the end of a highlight
updates highlights if selection starts at the end of a highlight
Update highlight if selection starts or ends at the middle of an existing highlight
gets first node between existing highlight and selection
updates highlights with selection overlap