@@ -324,18 +324,31 @@ package body LSP.Ada_Handlers.Symbols is
324324 Package_Deps_Item : LSP.Structures.DocumentSymbol;
325325 begin
326326 if First_Item.kind = Namespace then
327- Package_Deps_Item :=
328- (name => VSS.Strings.To_Virtual_String
329- (" With clauses" ),
330- detail => VSS.Strings.Empty_Virtual_String,
331- kind => Namespace,
332- deprecated => (Is_Set => False),
333- tags => LSP.Constants.Empty,
334- a_range => First_Item.a_range,
335- selectionRange => First_Item.a_range,
336- children => Children,
337- others => <>);
338- Vector.Append (Package_Deps_Item);
327+ declare
328+ Last_Item : constant LSP.Structures.DocumentSymbol :=
329+ LSP.Structures.Get_DocumentSymbol_Constant_Reference
330+ (Children, Children.Length);
331+ With_Range : constant LSP.Structures.A_Range :=
332+ (First_Item.a_range.start, Last_Item.a_range.an_end);
333+ With_Selection : constant LSP.Structures.A_Range :=
334+ (First_Item.a_range.start,
335+ (First_Item.a_range.start.line,
336+ First_Item.a_range.start.character + 4 ));
337+ begin
338+ Package_Deps_Item :=
339+ (name =>
340+ VSS.Strings.To_Virtual_String (" With clauses" ),
341+ detail =>
342+ VSS.Strings.Empty_Virtual_String,
343+ kind => Namespace,
344+ deprecated => (Is_Set => False),
345+ tags => LSP.Constants.Empty,
346+ a_range => With_Range,
347+ selectionRange => With_Selection,
348+ children => Children,
349+ others => <>);
350+ Vector.Append (Package_Deps_Item);
351+ end ;
339352 else
340353 for J in 1 .. Children.Length loop
341354 Vector.Append (Children (J));
0 commit comments