>------------------------------------------------------------------------------
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
>--                         Language Server Protocol                         --
#^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
#                           ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
>--                                                                          --
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
#                                                                          ^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                            ^^^ source.ada comment.line.double-dash.ada
>--                     Copyright (C) 2018-2023, AdaCore                     --
#^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                       ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
>--                                                                          --
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
#                                                                          ^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                            ^^^ source.ada comment.line.double-dash.ada
>-- This is free software;  you can redistribute it  and/or modify it  under --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                           ^^^^ source.ada comment.line.double-dash.ada
>-- terms of the  GNU General Public License as published  by the Free Soft- --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                            ^^^ source.ada comment.line.double-dash.ada
>-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                            ^^^ source.ada comment.line.double-dash.ada
>-- sion.  This software is distributed in the hope  that it will be useful, --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                           ^^^^ source.ada comment.line.double-dash.ada
>-- but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN- --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                            ^^^ source.ada comment.line.double-dash.ada
>-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                           ^^^^ source.ada comment.line.double-dash.ada
>-- License for  more details.  You should have  received  a copy of the GNU --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                           ^^^^ source.ada comment.line.double-dash.ada
>-- General  Public  License  distributed  with  this  software;   see  file --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                           ^^^^ source.ada comment.line.double-dash.ada
>-- COPYING3.  If not, go to http://www.gnu.org/licenses for a complete copy --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                                                                           ^^^^ source.ada comment.line.double-dash.ada
>-- of the license.                                                          --
#^^^ source.ada comment.line.double-dash.ada
#   ^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada entity.name.section.ada
#                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
>------------------------------------------------------------------------------
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
>--
#^^ source.ada comment.line.double-dash.ada
>--  This package provides requests and notifications handler for Ada
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
>--  language.
#^^^^^^^^^^^^^ source.ada comment.line.double-dash.ada
>
>with Ada.Containers.Hashed_Maps;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                               ^ source.ada meta.context.with.ada punctuation.ada
>with Ada.Containers.Hashed_Sets;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                               ^ source.ada meta.context.with.ada punctuation.ada
>with Ada.Strings.Unbounded;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                          ^ source.ada meta.context.with.ada punctuation.ada
>with VSS.String_Vectors;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                       ^ source.ada meta.context.with.ada punctuation.ada
>
>with GNATCOLL.JSON;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                  ^ source.ada meta.context.with.ada punctuation.ada
>with GNATCOLL.VFS;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                 ^ source.ada meta.context.with.ada punctuation.ada
>with GNATCOLL.Traces;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                    ^ source.ada meta.context.with.ada punctuation.ada
>
>with VSS.Strings;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                ^ source.ada meta.context.with.ada punctuation.ada
>
>private with GNATdoc.Comments.Options;
#^^^^^^^ source.ada meta.context.with.ada storage.visibility.ada
#       ^ source.ada meta.context.with.ada
#        ^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#            ^ source.ada meta.context.with.ada
#             ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                                     ^ source.ada meta.context.with.ada punctuation.ada
>
>with GPR2;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^ source.ada meta.context.with.ada entity.name.package.ada
#         ^ source.ada meta.context.with.ada punctuation.ada
>with GPR2.Context;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                 ^ source.ada meta.context.with.ada punctuation.ada
>with GPR2.File_Readers;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                      ^ source.ada meta.context.with.ada punctuation.ada
>with GPR2.Path_Name;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                   ^ source.ada meta.context.with.ada punctuation.ada
>with GPR2.Path_Name.Set;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                       ^ source.ada meta.context.with.ada punctuation.ada
>with GPR2.Project.Configuration;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                               ^ source.ada meta.context.with.ada punctuation.ada
>with GPR2.Project.Tree;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                      ^ source.ada meta.context.with.ada punctuation.ada
>
>with LSP.Ada_Contexts;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                     ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Ada_Context_Sets;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                         ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Ada_Documents;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                      ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Ada_File_Sets;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                      ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Ada_Highlighters;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                         ^ source.ada meta.context.with.ada punctuation.ada
>
>with LSP.File_Monitors;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                      ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Messages.Server_Requests;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                                 ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Messages.Server_Responses;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                                  ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Search;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#               ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Server_Backends;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                        ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Server_Request_Handlers;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                                ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Server_Notification_Receivers;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                                      ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Servers;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Types;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#              ^ source.ada meta.context.with.ada punctuation.ada
>with LSP.Messages;
#^^^^ source.ada meta.context.with.ada keyword.other.using.ada
#    ^ source.ada meta.context.with.ada
#     ^^^^^^^^^^^^ source.ada meta.context.with.ada entity.name.package.ada
#                 ^ source.ada meta.context.with.ada punctuation.ada
>
>package LSP.Ada_Handlers is
#^^^^^^^ source.ada meta.declaration.package.specification.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada
#        ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada entity.name.package.ada
#                        ^ source.ada meta.declaration.package.specification.ada
#                         ^^ source.ada meta.declaration.package.specification.ada keyword.ada
>
>   type Message_Handler
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>     (Server  : access LSP.Servers.Server;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada variable.name.ada
#            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#                       ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
>      Trace   : GNATCOLL.Traces.Trace_Handle) is
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada variable.name.ada
#           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                                ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                                      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                                              ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
>   limited new LSP.Server_Request_Handlers.Server_Request_Handler
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#               ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>     and LSP.Server_Notification_Receivers.Server_Notification_Receiver
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                                               ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>     and LSP.Server_Backends.Server_Backend
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>     and LSP.Ada_Documents.Document_Provider
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>   with private;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.visibility.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>   --  A handler of LSP notifications and requests from Ada language
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   overriding procedure Handle_Error (Self : access Message_Handler);
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  This procedure will be called when an unexpected error is raised in the
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  request processing loop.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   procedure Change_Configuration
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#             ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Options : GNATCOLL.JSON.JSON_Value'Class);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                              ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                   ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada meta.attribute.ada punctuation.ada
#                                         ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada meta.attribute.ada entity.other.attribute-name.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  Change server configuration with settings from Ada JSON object.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   procedure Change_Configuration_Before_Init
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Options : GNATCOLL.JSON.JSON_Value'Class;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                              ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                   ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada meta.attribute.ada punctuation.ada
#                                         ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada meta.attribute.ada entity.other.attribute-name.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Root    : GNATCOLL.VFS.Virtual_File);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                     ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  Change server configuration with settings from Ada JSON object, taking
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  Root to resolve all relative references. This is expected to work
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  before the server get initialize request and find root folder.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   procedure Stop_File_Monitoring (Self : access Message_Handler);
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#             ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                                                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   procedure Cleanup (Self : access Message_Handler);
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  Free memory referenced by Self
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   procedure Clean_Logs
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Dir  : GNATCOLL.VFS.Virtual_File);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  Remove the oldest logs in Dir
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   subtype Context_Access is LSP.Ada_Context_Sets.Context_Access;
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada keyword.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#           ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada keyword.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#                             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                                             ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada punctuation.ada
>
>   function From_File
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self : Message_Handler'Class;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada meta.attribute.ada punctuation.ada
#                             ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada meta.attribute.ada entity.other.attribute-name.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      File : GNATCOLL.VFS.Virtual_File) return LSP.Messages.DocumentUri;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                                               ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                   ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>   --  Turn Virtual_File to URI
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   function To_File
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self : Message_Handler'Class;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada meta.attribute.ada punctuation.ada
#                             ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada meta.attribute.ada entity.other.attribute-name.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      URI  : LSP.Types.LSP_URI) return GNATCOLL.VFS.Virtual_File;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                 ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                       ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                                       ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>   --  Turn URI into Virtual_File
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>private
#^^^^^^^ source.ada meta.declaration.package.specification.ada keyword.ada
>
>   --  Options for refactoring/renaming
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   type Renaming_Options is record
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                            ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
>      In_Comments : Boolean := False;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                               ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   --  Options for refactoring
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   type Refactoring_Options is record
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                               ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
>      Renaming : Renaming_Options;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   -- Options for folding --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada entity.name.section.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   type Folding_Options is record
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                        ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                           ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
>      Comments : Boolean := True;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   --  Options for documentation
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   type Documentation_Options is record
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                              ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
>      Style : GNATdoc.Comments.Options.Documentation_Style :=
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                       ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                                           ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
>        GNATdoc.Comments.Options.GNAT;
#^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                 ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   -- Options holder --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
#      ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada entity.name.section.ada
#                    ^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   type Options_Holder is record
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                       ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
>      Refactoring   : Refactoring_Options;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                      ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                  ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Configuration options for refactoring
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada comment.line.double-dash.ada
>
>      Folding       : Folding_Options;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  folding options
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada comment.line.double-dash.ada
>
>      Documentation : Documentation_Options;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                      ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Configuration options for documentation
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada comment.line.double-dash.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   type Internal_Document_Access is access all LSP.Ada_Documents.Document;
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                                    ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada storage.visibility.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#                                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada storage.visibility.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#                                               ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada entity.name.type.ada punctuation.ada
#                                                   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada entity.name.type.ada punctuation.ada
#                                                                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada entity.name.type.ada
#                                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   procedure Free (Self : in out Internal_Document_Access);
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#             ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada keyword.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada keyword.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  Free all the data for the given document.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   --  Container for documents indexed by URI
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   package Document_Maps is new Ada.Containers.Hashed_Maps
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada keyword.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada
#           ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada entity.name.package.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada
#                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada keyword.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada
#                            ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.operator.new.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada entity.name.package.ada
>     (Key_Type        => GNATCOLL.VFS.Virtual_File,
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
#      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada variable.parameter.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.other.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
>      Element_Type    => Internal_Document_Access,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada variable.parameter.ada
#                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.other.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
>      Hash            => GNATCOLL.VFS.Full_Name_Hash,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada variable.parameter.ada
#          ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.other.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
>      Equivalent_Keys => GNATCOLL.VFS."=");
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#      ^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada variable.parameter.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.other.ada
#                        ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada punctuation.definition.string.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada punctuation.definition.string.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada punctuation.ada
>
>   --  Container for the predefined source files
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   package File_Sets is new Ada.Containers.Hashed_Sets
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada keyword.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada
#           ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada entity.name.package.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada
#                     ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada
#                        ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.operator.new.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada entity.name.package.ada
>     (Element_Type        => GNATCOLL.VFS.Virtual_File,
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
#      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada variable.parameter.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.other.ada
#                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
>      Hash                => GNATCOLL.VFS.Full_Name_Hash,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada variable.parameter.ada
#          ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.other.ada
#                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
>      Equivalent_Elements => GNATCOLL.VFS."=",
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada variable.parameter.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.other.ada
#                            ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada punctuation.definition.string.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada punctuation.definition.string.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
>      "="                 => GNATCOLL.VFS."=");
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada punctuation.definition.string.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada
#        ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada punctuation.definition.string.ada
#         ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada keyword.other.ada
#                            ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada punctuation.definition.string.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada string.quoted.double.ada punctuation.definition.string.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada meta.declaration.package.generic.ada punctuation.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.package.specification.ada punctuation.ada
>
>   type Get_Symbol_Access is access procedure
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#            ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada storage.visibility.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#                                    ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada keyword.ada
>     (Self     : LSP.Ada_Documents.Document;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada variable.parameter.ada
#          ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                   ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada punctuation.ada
>      Context  : LSP.Ada_Contexts.Context;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada variable.parameter.ada
#             ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                  ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada punctuation.ada
>      Pattern  : LSP.Search.Search_Pattern'Class;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada variable.parameter.ada
#             ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                     ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                            ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada meta.attribute.ada punctuation.ada
#                                           ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada meta.attribute.ada entity.other.attribute-name.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada punctuation.ada
>      Canceled : access function return Boolean;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada variable.parameter.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada storage.visibility.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                        ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada keyword.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada keyword.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada punctuation.ada
>      Result   : out LSP.Messages.Symbol_Vector);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada variable.parameter.ada
#            ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada keyword.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada
#                     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                  ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                         ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada meta.type.annotation.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.access.ada punctuation.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>   --  textDocument/documentSymbol handler
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   Empty_Token : LSP.Types.LSP_Number_Or_String :=
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada variable.name.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada punctuation.ada
#                     ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada punctuation.ada
#                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada punctuation.ada
#                                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada punctuation.ada
#                                         ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                                ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.operator.new.ada
>     (Is_Number => False, String => <>);
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#      ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.other.ada
#                  ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.other.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.operator.relational.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.operator.relational.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
>
>   type Load_Project_Status is
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                     ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
>     (Valid_Project_Configured,
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
>      Single_Project_Found,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#      ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
>      Alire_Project,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#      ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
>      No_Runtime_Found,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#      ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
>      No_Project_Found,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#      ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
>      Multiple_Projects_Found,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
>      Invalid_Project_Configured);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>   --  Variants for state of the project loaded into the handler:
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  @value Valid_Project_Configured didChangeConfiguration provided a valid
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
#     ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#       ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada punctuation.definition.tag.ada
#        ^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada entity.name.tag.ada
#             ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
>   --  project
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  @value Single_Project_Found no project in didChangeConfiguration, but
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
#     ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#       ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada punctuation.definition.tag.ada
#        ^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada entity.name.tag.ada
#             ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
>   --  just one project in Root dir
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  @value Alire_Project no project in didChangeConfiguration, but Alire
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
#     ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#       ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada punctuation.definition.tag.ada
#        ^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada entity.name.tag.ada
#             ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
>   --  knows what project to use
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  @value No_Runtime_Found project loaded, but no Ada runtime library was
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
#     ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#       ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada punctuation.definition.tag.ada
#        ^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada entity.name.tag.ada
#             ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
>   --  found
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  @value No_Project_Found no project in didChangeConfiguration and no
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
#     ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#       ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada punctuation.definition.tag.ada
#        ^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada entity.name.tag.ada
#             ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
>   --  project in Root dir
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  @value Multiple_Projects_Found no project in didChangeConfiguration and
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
#     ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#       ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada punctuation.definition.tag.ada
#        ^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada entity.name.tag.ada
#             ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
>   --  several projects in Root dir
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  @value Invalid_Project_Configured didChangeConfiguration provided a
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
#     ^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#       ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada punctuation.definition.tag.ada
#        ^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada entity.name.tag.ada
#             ^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.block.documentation.ada comment.line.double-dash.ada
>   --  valid project
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   subtype Implicit_Project_Loaded is Load_Project_Status range
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada keyword.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                            ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#                                   ^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada keyword.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#                                      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada punctuation.ada
#                                                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#                                                          ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada storage.modifier.ada
>     No_Project_Found .. Invalid_Project_Configured;
#^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada keyword.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.subtype.ada punctuation.ada
>   --  Project status when an implicit project loaded
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   type Advanced_Refactorings is
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                              ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
>     (Add_Parameter, Change_Parameters_Type, Change_Parameters_Default_Value,
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
#      ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#                     ^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
>      Replace_Type);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada
#      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada variable.name.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.enumeration.ada punctuation.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>   --  Enum with the advanced refactorings that clients might support
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   type Advanced_Refactorings_Capabilities is
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                              ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                                           ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
>     array (Advanced_Refactorings) of Boolean;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada storage.modifier.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada meta.declaration.type.definition.array.dimensions.ada punctuation.ada
#            ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada meta.declaration.type.definition.array.dimensions.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada meta.declaration.type.definition.array.dimensions.ada entity.name.type.ada punctuation.ada
#                     ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada meta.declaration.type.definition.array.dimensions.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada meta.declaration.type.definition.array.dimensions.ada punctuation.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada
#                                   ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada storage.modifier.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada
#                                      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.array.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>   --  Array that determines what advanced refactorings clients support
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   type Experimental_Client_Capabilities is record
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                     ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                            ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                                            ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
>      Advanced_Refactorings : Advanced_Refactorings_Capabilities;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                       ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>   --  Experimental client capabilities that are extensions of the ones defined
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  in the LSP
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   function Parse
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Value : LSP.Types.Optional_LSP_Any)
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                        ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return Experimental_Client_Capabilities;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>   --  Parses an LSP.Types.Optional_LSP_Any and creates an
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  Experimental_Client_Capabilities object.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   type Scenario_Variable_List is record
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                               ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                                  ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
>      Names  : VSS.String_Vectors.Virtual_String_Vector;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#           ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#               ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                  ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Values : VSS.String_Vectors.Virtual_String_Vector;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#               ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                  ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   No_Scenario_Variable : constant Scenario_Variable_List :=
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada variable.name.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada storage.modifier.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                   ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada punctuation.ada
#                                            ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.operator.new.ada
>     (Names  => VSS.String_Vectors.Empty_Virtual_String_Vector,
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#             ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.other.ada
#               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
>      Values => VSS.String_Vectors.Empty_Virtual_String_Vector);
#^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#             ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.other.ada
#               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
>
>   type Environment is record
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                    ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
>      Filename         : GPR2.Path_Name.Object := GPR2.Path_Name.Undefined;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                               ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Context          : GPR2.Context.Object := GPR2.Context.Empty;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                             ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                                ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Config           : GPR2.Project.Configuration.Object :=
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#            ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                      ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                                           ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
>                           GPR2.Project.Configuration.Undefined;
#^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                           ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Project_Dir      : GPR2.Path_Name.Object := GPR2.Path_Name.Undefined;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                               ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Build_Path       : GPR2.Path_Name.Object := GPR2.Path_Name.Undefined;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                               ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Subdirs          : Ada.Strings.Unbounded.Unbounded_String;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                     ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Src_Subdirs      : Ada.Strings.Unbounded.Unbounded_String;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                     ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Check_Shared_Lib : Boolean := True;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                    ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Absent_Dir_Error : Boolean := False;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                    ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Implicit_With    : GPR2.Path_Name.Set.Object :=
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                        ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                            ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                                   ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
>                           GPR2.Path_Name.Set.Empty_Set;
#^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                           ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                     ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                          ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                              ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                    ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Pre_Conf_Mode    : Boolean := False;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                    ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      File_Reader      : GPR2.File_Readers.File_Reader_Reference :=
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#      ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                           ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                                                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
>                           GPR2.File_Readers.No_File_Reader_Reference;
#^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada
#                           ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                             ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.definition.record.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   Empty_Environment : constant Environment := (others => <>);
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada variable.name.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                       ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada storage.modifier.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.operator.new.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#                                                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                                       ^^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.other.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.operator.relational.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada keyword.operator.relational.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.object.ada punctuation.ada
>
>   type Message_Handler
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>     (Server  : access LSP.Servers.Server;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada variable.name.ada
#            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#                       ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
>      Trace   : GNATCOLL.Traces.Trace_Handle)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada variable.name.ada
#           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada
#                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                                ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada punctuation.ada
#                                      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.declaration.type.discriminant.ada punctuation.ada
>   is limited new LSP.Server_Request_Handlers.Server_Request_Handler
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#   ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada keyword.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#                  ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                     ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>     and LSP.Server_Notification_Receivers.Server_Notification_Receiver
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                                               ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>     and LSP.Server_Backends.Server_Backend
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>     and LSP.Ada_Documents.Document_Provider
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada storage.modifier.ada
#        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada entity.name.type.ada
>   with record
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada
#   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada keyword.ada
#       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada storage.modifier.ada
>      Contexts : LSP.Ada_Context_Sets.Context_Set;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                 ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  There is one context in this list per loaded project.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  There should always be at least one "project" context - if no .gpr
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  is known to the server, this context should map to the implicit
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  project.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Client : LSP.Messages.InitializeParams;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#               ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                   ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                            ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Client settings got during initialization request
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Root : GNATCOLL.VFS.Virtual_File;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  The directory passed under rootURI/rootPath during the initialize
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  request.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Charset : VSS.Strings.Virtual_String;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  A character set for Libadalang
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Project_File : VSS.Strings.Virtual_String;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                         ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  The project file, if provided by the user on Configuration/Init
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Scenario_Variables : Scenario_Variable_List;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                             ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Scenario variables, if provided by the user on Configuration/Init
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Diagnostics_Enabled : Boolean := True;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                    ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                       ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Whether to publish diagnostics
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Token_Id : Integer := 0;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada constant.numeric.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  An ever-increasing number used to generate unique progress tokens
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Indexing_Enabled  : Boolean := True;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                  ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                     ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Whether to index sources in the background. This should be True
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  for normal use, and can be disabled for debug or testing purposes.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Indexing_Token  : LSP.Types.LSP_Number_Or_String := Empty_Token;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                    ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                        ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                            ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                  ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                             ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                                       ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                                          ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                                ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  The token of the current indexing progress sequence
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Files_To_Index : File_Sets.Set;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                       ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Contains any files that need indexing.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  Indexing of sources is performed in the background as soon as needed
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  (typically after a project load), and pre-indexes the Ada source
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  files, so that subsequent request are fast.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  The way the "backgrounding" works is the following:
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --      * each request which should trigger indexing (for instance
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --        project load) adds files to Files_To_Index
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --      * the procedure Index_Files takes care of the indexing; it's also
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --        looking at the queue after each indexing to see if there
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --        are requests pending. If a request is pending, it stops
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --        indexing.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --      * whenever the server has finished processing a notification
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --        or a requests, it looks at whether Files_To_Index contains
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --        files; if it does, it runs Index_Files
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Total_Files_Indexed  : Natural := 0;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                     ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada constant.numeric.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      Total_Files_To_Index : Positive := 1;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada constant.numeric.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  These two fields are used to produce a progress bar for the indexing
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  operations. Total_Files_To_Index starts at 1 so that the progress
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  bar starts at 0%.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Options : Options_Holder;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>
>      Open_Documents : Document_Maps.Map;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                       ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                     ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  The documents that are currently open
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Get_Symbols : Get_Symbol_Access;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                    ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  textDocument/documentSymbol handler. Actual value depends on
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  client's capabilities.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Resource_Operations : LSP.Messages.Optional_ResourceOperationKindSet;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                            ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Client capabilities to support resource operations in
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  `WorkspaceEdit`s.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Versioned_Documents : Boolean := False;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                    ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                       ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Client capabilities to support versioned document changes in
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  `WorkspaceEdit`s.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Line_Folding_Only : Boolean := False;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                  ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                     ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Client capabilities, folding only per lines
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Supports_Related_Diagnostics : Boolean := False;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                             ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                                ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Client capabilities to support diagnostics' relatedInformation.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Completion_Snippets_Enabled : Boolean := False;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                               ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  True if the client supports completion snippets
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Use_Completion_Snippets : Boolean := True;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                        ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                           ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  True if we should use snippets for completion (e.g:
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  subprogram calls).
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Completion_Resolve_Properties : VSS.String_Vectors.Virtual_String_Vector;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  The list of CompletionItem properties that can be resolved
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  lazily (i.e: when the item is selected on client-side) via
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  the completionItem/resolve request.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Range_Formatting_Enabled : Boolean := False;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                            ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  True if the handler has registered rangeFormatting provider
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Named_Notation_Threshold : Natural := 3;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada constant.numeric.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Defines the number of parameters/components at which point named
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  notation is used for subprogram/aggregate completion snippets.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Display_Method_Ancestry_Policy :
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>         LSP.Messages.AlsDisplayMethodAncestryOnNavigationPolicy :=
#^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
>           LSP.Messages.Usage_And_Abstract_Only;
#^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#               ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                        ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                           ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Defines the policy regarding the listing of
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  overriding/overridden subprograms for navigation requests
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  such as textDocument/definition, textDocument/declaration
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  and textDocument/implementation.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Follow_Symlinks : Boolean := True;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                   ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  False if the client disables symlink following. In this case
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  URIs from client should match file names reported by LAL and
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  GNATCOLL.Project.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Highlighter    : LSP.Ada_Highlighters.Ada_Highlighter;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                 ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                       ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                            ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Semantic token highlighter for Ada
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      ----------------------
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      -- Project handling --
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
#         ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada entity.name.section.ada
#                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      ----------------------
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Project_Tree : GPR2.Project.Tree.Object;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                     ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  The currently loaded project tree
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Project_Environment : Environment;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                            ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  The project environment for the currently loaded project
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Project_Predefined_Sources : LSP.Ada_File_Sets.Indexed_File_Set;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                       ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                           ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                                  ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  A cache for the predefined sources in the loaded project (typically,
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  runtime files).
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Relocate_Build_Tree : VSS.Strings.Virtual_String;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                            ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Value of `relocateBuildTree`. See `--relocate-build-tree[=dir]`
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  of `gprbuild`.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Relocate_Root_Dir : VSS.Strings.Virtual_String;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Value of `rootDir`. See `--root-dir=dir` of `gprbuild`.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Project_Status : Load_Project_Status := No_Project_Found;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                       ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                           ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                              ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Status of loading the project
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      --  Scenario : LSP.Types.LSP_Any;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  Last used scenario variables
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      --  Charset : Ada.Strings.Unbounded.Unbounded_String;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  Character set from didChangeConfiguration
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Project_Dirs_Loaded : File_Sets.Set;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                 ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  The directories to load in the "implicit project"
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      File_Monitor    : LSP.File_Monitors.File_Monitor_Access;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                  ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                        ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Filesystem monitoring
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Log_Threshold : Natural := 10;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                              ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada constant.numeric.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>      --  Maximum number of logs (should be > to the number of servers run
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  simultaneously)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      ---------------------------------------
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      --  Experimental Client Capabilities --
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
#          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada entity.name.section.ada
#                                          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>      ---------------------------------------
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada comment.line.double-dash.ada
>
>      Experimental_Client_Capabilities :
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada variable.name.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>        LSP.Ada_Handlers.Experimental_Client_Capabilities :=
#^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#        ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#            ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                         ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                                          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.operator.new.ada
>          (Advanced_Refactorings => (others => False));
#^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#          ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#           ^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                 ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.other.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada keyword.other.ada
#                                              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada meta.declaration.type.definition.record.component.ada punctuation.ada
>   end record;
#^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#   ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada keyword.ada
#      ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada
#       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada meta.aspect.specification.ada storage.modifier.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.type.definition.regular.ada punctuation.ada
>
>   overriding procedure Before_Work
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Message : LSP.Messages.Message'Class);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada meta.attribute.ada punctuation.ada
#                                     ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada meta.attribute.ada entity.other.attribute-name.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure After_Work
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Message : LSP.Messages.Message'Class);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada meta.attribute.ada punctuation.ada
#                                     ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada meta.attribute.ada entity.other.attribute-name.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding function On_Initialize_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Initialize_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Initialize_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Shutdown_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Shutdown_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Shutdown_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_CodeAction_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.CodeAction_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.CodeAction_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Completion_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Completion_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Completion_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_CompletionItemResolve_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.CompletionItemResolve_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                                   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.CompletionItemResolve_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Definition_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Definition_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Location_Link_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Declaration_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Declaration_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Location_Link_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Implementation_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Implementation_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Location_Link_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Type_Definition_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Type_Definition_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Location_Link_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Highlight_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Highlight_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Highlight_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Hover_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Hover_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Hover_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_References_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.References_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Location_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Signature_Help_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Signature_Help_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.SignatureHelp_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Document_Links_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Document_Links_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Links_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Document_Tokens_Full_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Document_Tokens_Full_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                                  ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.SemanticTokens_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Document_Tokens_Range_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Document_Tokens_Range_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                                   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.SemanticTokens_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Document_Symbols_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Document_Symbols_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Symbol_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Folding_Range_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Folding_Range_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                           ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.FoldingRange_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                        ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Prepare_Call_Hierarchy_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Prepare_Call_Hierarchy_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.PrepareCallHierarchy_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Incoming_Calls_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Incoming_Calls_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.IncomingCalls_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Outgoing_Calls_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Outgoing_Calls_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.OutgoingCalls_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Selection_Range_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Selection_Range_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.SelectionRange_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Rename_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Rename_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                    ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Rename_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Prepare_Rename_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Prepare_Rename_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Prepare_Rename_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                   ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Execute_Command_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Execute_Command_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.ExecuteCommand_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Workspace_Symbols_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Workspace_Symbols_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Symbol_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Workspace_Execute_Command_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Workspace_Execute_Command_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.ExecuteCommand_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Workspace_Will_Create_Files_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
>                  Workspace_Will_Create_Files_Request)
#^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                  ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.WillCreateFiles_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding procedure On_DidCreateFiles_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.CreateFilesParams);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding function On_Workspace_Will_Rename_Files_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
>                  Workspace_Will_Rename_Files_Request)
#^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                  ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.WillRenameFiles_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding procedure On_DidRenameFiles_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.RenameFilesParams);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding function On_Workspace_Will_Delete_Files_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
>                  Workspace_Will_Delete_Files_Request)
#^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                  ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.WillDeleteFiles_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding procedure On_DidDeleteFiles_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.DeleteFilesParams);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding function On_Color_Presentation_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Color_Presentation_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                   ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                                ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.ColorPresentation_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Document_Color_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Document_Color_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.DocumentColor_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                         ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_ALS_Show_Dependencies_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.ALS_Show_Dependencies_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                                   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.ALS_ShowDependencies_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                                ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_ALS_Source_Dirs_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.ALS_Source_Dirs_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                        ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.ALS_SourceDirs_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                          ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_ALS_Debug_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.ALS_Debug_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.ALS_Debug_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Formatting_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Formatting_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                        ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Formatting_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                      ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_Range_Formatting_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.Range_Formatting_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                   ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.Range_Formatting_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding procedure On_Initialized_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler) is null;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.modifier.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_Exit_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler);
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_DidChangeTextDocument_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.DidChangeTextDocumentParams);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_DidCloseTextDocument_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.DidCloseTextDocumentParams);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_DidOpenTextDocument_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.DidOpenTextDocumentParams);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_DidSaveTextDocument_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.DidSaveTextDocumentParams) is null;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                                         ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.modifier.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_DidChangeConfiguration_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.DidChangeConfigurationParams);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_DidChangeWorkspaceFolders_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.DidChangeWorkspaceFoldersParams) is null;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                                            ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                                               ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.modifier.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_DidChangeWatchedFiles_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.DidChangeWatchedFilesParams);
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>
>   overriding procedure On_Cancel_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.CancelParams) is null;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                        ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                         ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                            ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.modifier.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  This is intentionally null procedure, because cancel is implemented by
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  LSP server itself.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   overriding procedure On_SetTrace_Notification
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.visibility.ada
#              ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                        ^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>      Value : LSP.Messages.SetTraceParams) is null;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                           ^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                              ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada storage.modifier.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  This is intentionally set to null since VS Code already handle traces
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  by itself correctly, outputting the LSP requests being sent
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  and the returned results with more or less verbosity depending on the
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  settings.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   overriding function Get_Open_Document
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      URI   : LSP.Messages.DocumentUri;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Force : Boolean := False)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                      ^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.operator.new.ada
#                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Ada_Documents.Document_Access;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                     ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                       ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                        ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>   --  Return the open document for the given URI.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  If the document is not opened, then if Force a new document
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  will be created and must be freed by the user else null will be
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  returned.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   overriding function Get_Open_Document_Version
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self  : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#              ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                     ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      URI   : LSP.Messages.DocumentUri)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#         ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#              ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                  ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                           ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.OptionalVersionedTextDocumentIdentifier;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>   --  Return the version of an open document for the given URI.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  If the document is not opened, then it returns a
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>   --  VersionedTextDocumentIdentifier with a null version.
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>   overriding function On_ALS_Check_Syntax_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.ALS_Check_Syntax_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                              ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.ALS_Check_Syntax_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                            ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_GLS_Mains_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.GLS_Mains_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.GLS_Mains_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                     ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   overriding function On_GLS_Executables_Request
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada storage.visibility.ada
#              ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.function.ada
>     (Self    : access Message_Handler;
#^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#     ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
#      ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#          ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada storage.visibility.ada
#                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                       ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                               ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                      ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      Request : LSP.Messages.Server_Requests.GLS_Executables_Request)
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada variable.parameter.ada
#             ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada punctuation.ada
#               ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada
#                ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                             ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                    ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                 ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                             ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                                    ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>      return LSP.Messages.Server_Responses.GLS_Executables_Response;
#^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#      ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada
#             ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                 ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                         ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                          ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                 ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                           ^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                              ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                               ^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada punctuation.ada
#                                                           ^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada entity.name.type.ada
#                                                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.function.body.ada punctuation.ada
>
>   procedure Reload_Project (Self : access Message_Handler);
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada keyword.ada
#            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#             ^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada entity.name.function.ada
#                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                            ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                             ^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada variable.parameter.ada
#                                 ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada
#                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada punctuation.ada
#                                   ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                                    ^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada storage.visibility.ada
#                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada
#                                           ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                  ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada punctuation.ada
#                                                   ^^^^^^^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada meta.type.annotation.ada entity.name.type.ada
#                                                          ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
#                                                           ^ source.ada meta.declaration.package.specification.ada meta.declaration.procedure.body.ada punctuation.ada
>   --  Reload current project
#^^^ source.ada meta.declaration.package.specification.ada
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada comment.line.double-dash.ada
>
>end LSP.Ada_Handlers;
#^^^ source.ada meta.declaration.package.specification.ada keyword.ada
#   ^ source.ada meta.declaration.package.specification.ada
#    ^^^^^^^^^^^^^^^^ source.ada meta.declaration.package.specification.ada entity.name.package.ada
#                    ^ source.ada meta.declaration.package.specification.ada punctuation.ada
>