AttrList.update

Update indices of attributes in list for a change in the text they refer to.

The change that this function applies is removing remove bytes at position pos and inserting add bytes instead.

Attributes that fall entirely in the (pos, pos + remove) range are removed.

Attributes that start or end inside the (pos, pos + remove) range are shortened to reflect the removal.

Attributes start and end positions are updated if they are behind pos + remove.

class AttrList
void
update
(
int pos
,
int remove
,
int add
)

Parameters

pos int

the position of the change

remove int

the number of removed bytes

add int

the number of added bytes