microsoft / microsoft/multilspy

Error in implementation of various LS (methods don't exist)

Open
#114 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
610
Forks
111
PR merge metrics
No merged PRs in 30d

Description

Several methods are called in the clang server which don't exist, here in start_server:

                if registration["method"] == "workspace/executeCommand":
                    self.initialize_searcher_command_available.set()
                    self.resolve_main_method_available.set(

And also

            if params["type"] == "ServiceReady" and params["message"] == "ServiceReady":
                self.service_ready_event.set()

I guess they used to exist but were removed during some refactoring? It doesn't always lead to runtime errors, I suppose the conditions when they are called are rarely or never fulfilled

EDIT: initialize_searcher_command_available is also called without being defined for rust, solargraph and typescript. In eclipse it is defined as

self.initialize_searcher_command_available = asyncio.Event()

Should it be defined as event everywhere? Or should the code calling it be removed (since hasn't been functional for a while)?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the clang server's start_server implementation and search for the referenced method calls and definitions across the rust, solargraph, typescript, and eclipse implementations. Determine whether the missing methods should be consistently defined as asyncio events or whether their callers are obsolete, then verify the affected language-server paths no longer fail when those conditions occur.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust, typescript
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.