51 Commits

Author SHA1 Message Date
Anthony Leonardo Gracio
2fc9fa8b96 U622-021: Compute some completion items properties lazily
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.
2021-09-07 13:41:48 +02:00
Adrien Boulanger
4989b86087 T903-007: purge ALS_Calls and ALS_Calls_By requests 2021-06-25 14:40:29 +02:00
Vadim Godunko
397d3d16ef T714-004 Use Virtual_String for method parameter. 2021-06-23 10:41:39 +03:00
Vadim Godunko
4434c26ad4 T714-004 Use Virtual_String for jsonrpc field. 2021-06-23 10:41:39 +03:00
Vadim Godunko
74f3bf7985 T714-004 Use Virtual_String for error message. 2021-06-23 10:41:39 +03:00
Adrien Boulanger
ee91f1b08d T723-027: Implement SignatureHelp
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.
2021-04-22 11:16:17 +02:00
Anthony Leonardo Gracio
7b70fa4a13 R306-004: Add implementation for textDocument/highlight
A basic test has also been added.
2020-11-23 12:48:07 +01:00
Nicolas Setton
ff913823a8 TA09-019 Add support for filesystem monitoring
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.
2020-11-11 12:03:51 +00:00
Maxim Reznik
46c17a1298 TA12-011 Add stubs for textDocument/prepareRename request 2020-10-12 15:32:21 +03:00
Maxim Reznik
ae65fde47b T903-007 Add a stub for callHierarchy/outgoingCalls request 2020-09-21 14:04:19 +03:00
Maxim Reznik
374fc38dee T903-007 Add a stub for callHierarchy/incomingCalls request 2020-09-21 14:04:19 +03:00
Maxim Reznik
9b1af28af9 T903-007 Add a stub for textDocument/prepareCallHierarchy request 2020-09-21 14:04:19 +03:00
Maxim Reznik
d72105c486 Add textDocument/alsCalls to generate.py 2020-09-21 14:04:19 +03:00
Simon Wright
0dc0ffd762 Ensure scripts are compatible with both Python 2 and 3
* scripts/generate.py: All files that are to be opened for write and
      are to contain text must be opened "w", not "wb".
2020-09-13 12:40:45 +01:00
Anthony Leonardo Gracio
ac226926e8 SC16-001: Implement a custom request to show unit dependencies
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.
2020-06-09 15:23:35 +02:00
Andry Ogorodnik
de9cb9c870 S628-009 Stubs for formatting and rangeFormatting requests 2020-05-06 13:04:10 +03:00
Maxim Reznik
b595b8a6fa T212-025 Add SelectionRange request
to complete migration to LSP 3.15.
2020-03-20 19:05:27 +02:00
Maxim Reznik
24d8f40136 SA21-039 Add textDocument/foldingRange request 2020-01-21 14:19:00 +02:00
Maxim Reznik
c83ead00bb SA21-039 Add textDocument/colorPresentation request 2020-01-15 18:11:19 +02:00
Maxim Reznik
83af4cc932 SA21-039 Add textDocument/documentColor request. 2020-01-15 18:11:19 +02:00
Maxim Reznik
19c1dfec9b SA21-039 Add workspace/didChangeWorkspaceFolders notification 2020-01-15 09:38:38 +02:00
Maxim Reznik
b45ca08a6a SA21-039 Fix 4 requests to be compatible with LSP 3.14
Requests are:
 * textDocument/definition
 * textDocument/declaration
 * textDocument/implementation
 * textDocument/typeDefinition
2020-01-14 18:10:16 +02:00
Maxim Reznik
7c25f0396a SA21-039 Add documentLink request. 2020-01-14 13:25:34 +02:00
Maxim Reznik
cf95cb2e64 SC13-034 Don't raise Program_Error on unknown method.
Use a dedicated Unknown_Method exception. Replace if statements
in message decoders with Generic_Dispatching_Constructor and
a hash table.

Add test case for unknown request
2020-01-06 17:35:45 +02:00
Nicolas Setton
65372a5ec5 SC05-038 Implement 'textDocument/implementation'
Generate the boilerplate to support this, and implement the body.

Revisit the way we handle contexts: store the source files in an ordered
set to improve speed of lookup and memory management.
2019-12-20 11:05:48 -05:00