--- a/source/server/lsp-text_documents.adb
+++ b/source/server/lsp-text_documents.adb
@@ -23,7 +23,7 @@
 with VSS.Strings.Line_Iterators;
 with VSS.String_Vectors;
 with VSS.Unicode;
-with XDiff;
+with Ada_XDiff;
 
 package body LSP.Text_Documents is
 
@@ -175,23 +175,23 @@
    is
       use type LSP.Structures.A_Range;
 
-      C_Edit    : constant XDiff.Edits := XDiff.XDiff
+      C_Edit    : constant Ada_XDiff.Edits := Ada_XDiff.XDiff
         (VSS.Strings.Conversions.To_UTF_8_String
            (if Span /= LSP.Text_Documents.Empty_Range
             then Self.Slice (Span)
             else Self.Text),
          VSS.Strings.Conversions.To_UTF_8_String (New_Text),
-         XDiff.XDF_NEED_MINIMAL);
+         Ada_XDiff.XDF_NEED_MINIMAL);
 
       New_Lines : constant VSS.String_Vectors.Virtual_String_Vector :=
         New_Text.Split_Lines
           (Terminators     => LSP_New_Line_Function_Set,
            Keep_Terminator => False);
 
-      Cur       : XDiff.Edits := C_Edit;
+      Cur       : Ada_XDiff.Edits := C_Edit;
 
       function Get_Range
-        (Cur_Edit : XDiff.Edits) return LSP.Structures.A_Range;
+        (Cur_Edit : Ada_XDiff.Edits) return LSP.Structures.A_Range;
 
       function Get_Slice
         (Lines      : VSS.String_Vectors.Virtual_String_Vector;
@@ -203,7 +203,7 @@
       -- Get_Range --
       ---------------
 
-      function Get_Range (Cur_Edit : XDiff.Edits) return LSP.Structures.A_Range
+      function Get_Range (Cur_Edit : Ada_XDiff.Edits) return LSP.Structures.A_Range
       is
          Start_Line : Natural;
          End_Line   : Natural;
@@ -214,13 +214,13 @@
             then Span.start.line
             else 0);
       begin
-         if XDiff.Delete_Line_Start (Cur_Edit) = -1 then
-            Start_Line := XDiff.Delete_Line_End (Cur_Edit);
+         if Ada_XDiff.Delete_Line_Start (Cur_Edit) = -1 then
+            Start_Line := Ada_XDiff.Delete_Line_End (Cur_Edit);
          else
-            Start_Line := XDiff.Delete_Line_Start (Cur_Edit) - 1;
+            Start_Line := Ada_XDiff.Delete_Line_Start (Cur_Edit) - 1;
          end if;
 
-         End_Line := XDiff.Delete_Line_End (Cur_Edit);
+         End_Line := Ada_XDiff.Delete_Line_End (Cur_Edit);
 
          return (start => (Start_Line + Start_Bloc, 0),
                  an_end => (End_Line + Start_Bloc, 0));
@@ -250,19 +250,19 @@
          --  Discard the first node which is fake and will have -1 for all its
          --  value. Only Delete_Line_Start is allowed to have -1 to indicate
          --  that nothing should be deleted.
-         if XDiff.Delete_Line_End (Cur) /= -1 then
+         if Ada_XDiff.Delete_Line_End (Cur) /= -1 then
             Edit.Append
               (LSP.Structures.TextEdit'
                  (a_range => Get_Range (Cur),
                   newText => Get_Slice (New_Lines,
-                    XDiff.Insert_Line_Start (Cur),
-                    XDiff.Insert_Line_End (Cur))));
+                    Ada_XDiff.Insert_Line_Start (Cur),
+                    Ada_XDiff.Insert_Line_End (Cur))));
          end if;
-         exit when not XDiff.Has_Next (Cur);
-         Cur := XDiff.Next_Edit (Cur);
+         exit when not Ada_XDiff.Has_Next (Cur);
+         Cur := Ada_XDiff.Next_Edit (Cur);
       end loop;
 
-      XDiff.Free_Edits (C_Edit);
+      Ada_XDiff.Free_Edits (C_Edit);
    end Diff_C;
 
    --------------------
