-
Notifications
You must be signed in to change notification settings - Fork 54
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
Implement completionItem/resolve, textDocument/codeAction, textDocument/codeLens and codeLens/resolve #107
Conversation
@ebkalderon I'm also working on Edit: Here's the branch on my repo with the implementation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks correct to me, I think!
If you'd like to introduce support for the other three LSP request methods in this PR, feel free. I think that because #100 and #58 are now resolved, we no longer need to be overly wary about new methods introducing too much boilerplate. All of these items are somewhat related, so I don't think it's a big deal to group them together.
Also, this repository is rebasing merges and not squashing them, meaning we still get to preserve commit-by-commit history. So it's not like having them bundled in one PR ruins the readability of history in Ideally, we should have each newly added method be in a separate commit. Feel free to ping me again for a second review, if needed! Thanks for opening this pull request, @icsaszar. |
@ebkalderon I've added the new methods, everything should be complete now. This also brings up a small new issue: now that methods are optional by default, it is easy to forget to implement them for Box in lib.rs. If you're ok with it, I can try to write a macro (I don't have too much experience with macros either) to automatically fill out the impls for Box. Edit: I just found auto_impl, which seems to be exactly what what we need. The only question is if it works with |
I agree that we should write a macro, but I doubt Otherwise, thanks a lot for the helpful PR! I think it's ready to merge. 👍 |
It turns out that `auto_impl` can work with `async-trait` as long as the invocation occurs first, before calling `#[async_trait]`, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the invocation occurs first, before calling `#[async_trait]`, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the invocation occurs first, before calling `#[async_trait]`, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the `auto_impl` invocation occurs first, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the `auto_impl` invocation occurs first, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the `auto_impl` invocation occurs first, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the `auto_impl` invocation occurs first, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the `auto_impl` invocation occurs first, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the `auto_impl` invocation occurs first, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
It turns out that `auto_impl` can work with `async-trait` as long as the `auto_impl` invocation occurs first, such that the `#[auto_impl]` macro receives the desugared output of `#[async_trait]`. Original suggestion can be found here: #107 (comment)
Resolves #9