There is no code in the Markup tat does this for you.
The Markup receives a call to:
procedure TSynEditMarkup.DoTextChanged(StartLine, EndLine, ACountDiff: Integer);
This allows you to
1) Recreate the matches in the affected lines
2) Move up/down any matches after the lines affected.
If you need a more exact notification what was edited, in order to move items on a line left/right, then you can add a hook to
Lines.AddEditHandler(@DoLinesEdited);
see components\synedit\synpluginmulticaret.pp
for how to do that.(It is rather tricky, as you need to also catch senrTextBufferChanged, and re-register. (subject to change in future...)