Add a Language Server extension to get the project main sources (glsMains request).
Add a Language Server extension to get the project main executables (glsExecutables request).
Activate the extension when Gpr or Ada sources are present in the current directory or sub-directory (only 1 level lookup).
Add tests to the VS Code extension test-suite, testing the alsCheckSyntax, glsMains and glsExecutables requests.
In order to not raise an exception when VS Code sends it.
We don't handle it for now since VS Code already outputs a lot
of useful information (resquests being sent, results...) when
the trace setting is set to 'messages' or 'verbose'.
This could be used in the future if we want to have more debug
traces in the ALS.
closes eng/ide/ada_language_server#1116
Allowing the extension to query them in order to add them to the workspace
if not already present.
This allows to search for files that come from imported projects that might
not be under the workspace root directory.
This works only for importing non-externally built source directories
for the moment.
Use the newly added completionItem/resolve request to compute
the 'documentation' and 'detail' fieds of completion items lazily
when the client supports it (i.e: when a given item gets selected
in the completion window).
This makes the ALS way faster to return completion items for packages
that contain a huge number of declarations (e.g: Libadalang.Common).
VS Code already supports this lazy computation method but not other
clients.
Use P_All_Env_Elements and filter the returned node
to find all the function declaration with the same name.
Fix param type in the generated spec.
Add tests.
This adds support for monitoring the filesystem for changes
that might occur in project directories, outside of the IDE.
Add support for `workspace/didChangeWatchedFiles`.
Add an optional dependency on ada_libfswatch.gpr, and document
it. Add support in the travis CI builder to generate it on Linux.
Add a stub project to make the ALS useable without this dependency.
Rework the way files are indexed, to allow reindexing for any
file that might change on disk. In particular, no longer store
in LSP.Ada_Contexts a reference to the "Last_Indexed" file, which
prevented indexing of new files altogether.
A new custom request has been introduced to query the dependencies of a
given unit.
Documentation and a two tests have been added for this custom request.