anchor.diff:    BB, BE: TBufferCoord;
   begin
     if not TJedi.Ready or (FFileId = '') or (FlangId <> lidPython) or
  -    not fTransmitChanges or
  +    not FTransmitChanges or
       not (lspscIncrementalSync in TJedi.LspClient.ServerCapabilities)
     then
       Exit;
   
     BB := BufferCoord(1, FirstLine + 1);
     BE := BB;
  +  var TextAdded := '';
  +  for var I := FirstLine to FirstLine + Count - 1 do
  +    TextAdded := TextAdded + Editor.Lines[I]  + SLineBreak;
     Change := TJsonObject.Create;
     Change.AddPair('range', LspRange(BB, BE));
  -  Change.AddPair('text',
  -    TJsonString.Create(DupeString(Editor.Lines.LineBreak, Count)));
  +  Change.AddPair('text', TJsonString.Create(TextAdded));
     fIncChanges.Add(Change);
   end;
   
  
positive.code:   BB := BufferCoord(NSameCharStart + 1, aIndex + 1);
    BE := BufferCoord(OldL - NSameCharEnd + 1, aIndex + 1);
  
    NewLine := Copy(NewLine, NSameCharStart + 1, NewL - NSameCharStart - NSameCharEnd);
  
    Change := TJsonObject.Create;
    Change.AddPair('range', LspRange(BB, BE));
    Change.AddPair('text', TJsonString.Create(NewLine));
    fIncChanges.Add(Change);
  end;
  
  
negative.code: var
    Change: TJsonObject;
    BB, BE: TBufferCoord;
    NewLine, Diff: string;
    OldL, NewL: Integer;
  begin
    if not TJedi.Ready or (FFileId = '') or (FLangId <> lidPython) or
      not FTransmitChanges or
      not (lspscIncrementalSync in TJedi.LspClient.ServerCapabilities)
    then
      Exit;
  