eclipse-lsp4e / eclipse-lsp4e/lsp4e

LanguageServerWrapper: initialProject/initialPath won't be updated when a new LS gets started

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

Nobody has claimed this yet.

Dominant language
Java
Stars
85
Forks
69
Avg merge
8h 33m
Merged PRs (30d)
6

Description

When the LS gets terminated by org.eclipse.lsp4e.LanguageServerWrapper.stop() and a new server gets started later on by org.eclipse.lsp4e.LanguageServerWrapper.stop() the project or path differ in case a document of a different project/path will be opened.

This can lead to problems when a new LS instance will be started with outdated rootUri

A solution would be, to offer a new start method in the wrapper with rootUri as argument. This was also suggested in #157:
org.eclipse.lsp4e.LanguageServerWrapper.start(URI rootUri)

Contributor guide

Open the contributing guide

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 with org.eclipse.lsp4e.LanguageServerWrapper.stop() and the code that starts a replacement language server. Trace how initialProject, initialPath, and rootUri are retained when a document from another project or path is opened. Done means a replacement server receives the current rootUri, with coverage for restarting after termination and opening a different project or path.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.