Before this patch, the language server initialized versions of all newly
opened file to 1. However, the language server protocol defines a
parameter for didOpen that says that the client gets to decide the
initial versions of opened files. One client, namely Helix 25.1, passes
an initial value of 0 which caused e.g. renaming a variable right after
opening a file to fail.
This patch makes the initial value of versions the one that's passed by
the client.
Use `Fence` priority for
* `didOpen`
* `didClose`
* `didChangeWorkspaceFolders`
* `exit`
* `initialize`
Before this patch the default priority was `Fence`.
Refs #1141
We now append the right 'als-auto-import' command to
invisible completion items, when the 'insertWithClauses' setting
is enabled.
This allows client that support executing completionItem commands
to execute the attached command in order to add the missing with-clause,
appending the qualifier if not already specified.
Automatic tests for both cases (i.e: with and without an already specified
qualifier) have been added.
For eng/ide/ada_language_server#1159
before creating a next job. It is to fix this scenario:
* didChage document has been executed and waits its completion
* the next request creates a job, job remebers AnalysisUnit
* this job for request triggers completion of didChange and
reparse AnalysisUnit
* then the job is executed with raising Stale_Reference exception
After this patch, the request triggers completion before next
job is actually created, so it can't get previous version of AU.
Refs #1141