question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[feature] Add support for passing customization to XML language server and extensions (didChangeConfiguration)

See original GitHub issue

When starting XML language server it would be nice if the language server launcher can inject some system properties from the host JVM to language server JVM

Why? XML extensions such as lemminx-maven depends on several configuration parameters such as the global maven config, user config, and local repository path. Since the extensions can’t directly depend on the host IDE for these settings, the above mechanism can be used inside eclipse to pass in the required m2e configuration as JVM properties.

How? The XML language server launcher can introduce a JVM property namespace like lemminx. . lemminx-maven can define system properties like lemminx.m2.global.config, lemminx.m2.repo for example. All these properties under the lemminx. namespace are injected into the XML language server JVM by the XML language server launcher.

@angelozerr @mickaelistria I would like to hear your thoughts about this proposal.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:11 (11 by maintainers)

github_iconTop GitHub Comments

1reaction
angelozerrcommented, May 2, 2020

Is this what you have in mind?

Exactly and LemMinx support already that. All extensions reacts from settings on startup and when settings changed (it works pretty well on vscode).

For extension side, you need to implement doSave like https://github.com/eclipse/lemminx/blob/f12cf5d1cbd47f59bdb4b632bed57b11b8195be2/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/extensions/contentmodel/ContentModelPlugin.java#L92

1reaction
mickaelistriacommented, May 1, 2020

OK, I get it better. This is indeed something to consider, instead of using system properties at startup, send some didChangeConfiguration. Is this what you have in mind?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Language Server Protocol Specification - 3.17
This document describes the 3.17.x version of the language server protocol. An implementation for node of the 3.17.x version of the protocol can...
Read more >
Language Server Extension Guide - Visual Studio Code
Learn how to create Language Servers to provide rich language features in Visual Studio Code.
Read more >
XML Language Server and the VSCode Extension
Red Hat XML Extension now available on the VSCode Marketplace with schema-based support. Get syntax highlighting and checking, ...
Read more >
Adding a Language Server Protocol extension - Visual Studio ...
Learn how to create a Visual Studio extension that integrates a language server based on the Language Server Protocol (LSP).
Read more >
Integrating a new editor | Metals - Scalameta
log file in the LSP workspace root directory. Metals supports two kinds of JSON-RPC endpoints: Language Server Protocol: for the main functionality of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found