-
-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Milestone 1 #39
Milestone 1 #39
Conversation
This comment has been minimized.
This comment has been minimized.
I haven't read the code in depth, but some general thoughts
|
|
|
The latest commit fails because I'm relying on my version of Vala with LSP mode changes. |
Here's basically the status of where I am on this PR w.r.t. completion:
When every case is marked (done) or something like (signature help) and my commits to vala are accepted, then this PR is ready. edit: These other cases are context-sensitive so they'll be reserved for Milestone 2:
|
I also added some basic hover support, which will need to be improved later in a different PR. There are also some performance issues I'll need to work on in another PR. |
7b423be
to
aa78661
Compare
It's actually a bit hard to do completion for symbol<$ because of ambiguity with binary expressions with '<'. I'll leave that for a later date. |
How to test out this branch in
#!/bin/sh
export LD_LIBRARY_PATH=/usr/local/lib
exec $(dirname $0)/build/vala-language-server "$@"
let serverModule = context.asAbsolutePath(path.join('vala-language-server', 'vls-wrapper'/*'build', 'vala-language-server'*/)) |
Obviously I've taken some inspiration from philippejer in the latest commit. |
584c8b1
to
dcd9b44
Compare
I've left dependency resolution in the build system rewrite for another time. |
ffe32c8
to
74a1ae3
Compare
Yes. Just fyi, I mentioned this once already, but I really just took this bit from @philippejer's repo, since it was already implemented well. On Jan 9, 2020 1:15 AM, gavr123456789 <notifications@github.com> wrote:@gavr123456789 commented on this pull request.
In main.vala:
HashTable<string, NotificationHandler> notif_handlers;
HashTable<string, CallHandler> call_handlers;
InitializeParams init_params;
+ const uint check_update_context_period_ms = 200;
+ const int64 update_context_delay_inc_us = check_update_context_period_ms * 50;
+ const int64 update_context_delay_max_us = 1000 * 1000;
+ const uint wait_for_context_update_delay_ms = 500;
Do I understand correctly that now this is now done as in Gtk.SearchEntry:
"To make filtering appear more reactive, it is a good idea to not react to every change in the entry text immediately, but only after a short delay. To support this, GtkSearchEntry emits the “search-changed” signal which can be used instead of the “changed” signal."
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.
|
f96d1fc
to
2d8e27b
Compare
It looks like this is broken in libvala-0.48. I'll see what I can do later. |
719ca1c
to
709ef20
Compare
I will merge this commit only after the language server changes in upstream Vala have been finalized. |
0a96404
to
b9eeed4
Compare
Use initial_arguments_count == -1 for incomplete OCEs and assume incomplete member accesses have member_names starting with 'S'.
ee706ed
to
b53ea9e
Compare
Requires upstream changes to Vala.GirParser in order to work
098b3f1
to
7411e75
Compare
We'll rely on fixes in upstream from now on
1. Introduce Vls.TestClient, which will be used for testing VLS. 2. Handle signals gracefully (SIGTERM, SIGINT) 3. Small fixes: 3a. Vls.Compilation.compile() won't run if the compilation is empty. This saves some time during server initialization. 3b. Base Vls.Server off of GLib.Object so that we can debug references more effectively with tools like gobject-list. 3c. Remove/destroy GSources during server shutdown [Vls.Server.shutdown_real()]. This helps clear references to the server after shutdown. 3d. Don't invaliate compilations on textDocument/didOpen, unless the sent content differs from the document content. 3e. Improve placement of debugging messages. 4. As Vls.GirDocumentation is experimental and may break without certain bleeding-edge changes, add an option to compile without it (see meson_options.txt). This also aids debugging reference counting problems by reducing the amount of noise in the trace. 5. Move some common functionality to util.vala
Support cases where a project may define two or more targets that include the same file. In this case, we create a HashTable to keep track of the list of duplicate files (that aren't automatically added) for each URI and each TextDocument is capable of synchronizing all of its "clones."
Hide unstable features or features currently not supported in libvala master: - Disable GIR documentation - Disable active parameter for signatureHelp
d15cb5a
to
7a07a6c
Compare
Lit |
Implemented member access completion (edit) and basically everything else from Milestone 1. This requires some changes in valac to work properly, which I have yet to complete.