Markdown and Astro language servers do not start when the project path contains a non-ASCII character or a space

Open Beginner friendly
#2,277 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@RoiSoleil is already working on this.

Since Nov 12, 2026.

  • #2278 by @RoiSoleil — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
java, markdown
Domain
backend

Research direction

Read MarkdownLanguageServer.getInitializationOptions and AstroLanguageServer.getInitializationOptions, which the issue identifies as building the working directory from projectRootUri.getRawPath(). Check how Paths.get(projectRootUri) produces the filesystem path and look for tests covering paths with spaces or non-ASCII characters. Done when both language servers start with those project paths; the issue names no test file.

Written by the indexing model from the issue text.

Description

When a project's path contains a non-ASCII character or a space, the Markdown language server cannot start. On Windows (Eclipse 4.41, Java 25), opening a Markdown file of a project located in C:\Users\<user>\Desktop\Evénements\<project> logs:

java.io.IOException: Cannot run program "D:\Programs\eclipse\.node\node-v24.22.1-win-x64\node.exe" (in directory "C:\Users\<user>\Desktop\Ev%C3%A9nements\<project>"): CreateProcess error=267, Nom de répertoire non valide
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1112)
	at org.eclipse.lsp4e.server.ProcessStreamConnectionProvider.start(ProcessStreamConnectionProvider.java:58)
	at org.eclipse.wildwebdeveloper.ui.preferences.ProcessStreamConnectionProviderWithPreference.start(ProcessStreamConnectionProviderWithPreference.java:133)
	at org.eclipse.lsp4e.LanguageServerWrapper.lambda$0(LanguageServerWrapper.java:438)

The working directory still contains %C3%A9 instead of é, so it does not exist.

MarkdownLanguageServer.getInitializationOptions and AstroLanguageServer.getInitializationOptions set the working directory with projectRootUri.getRawPath(), which keeps the percent-encoding of the URI (%C3%A9 for é, %20 for a space). Paths.get(projectRootUri) gives the actual file system path.

#1413 (Vue, project name with spaces) looks like the same kind of problem.

Dominant language
Java
Stars
203
Forks
76
Avg merge
1d 5h
Merged PRs (30d)
30

Getting set up

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.

More from eclipse-wildwebdeveloper/wildwebdeveloper

All issues in eclipse-wildwebdeveloper/wildwebdeveloper

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.