Skip to content
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

Automatically upgrade existing user-defined language server definitions based on changes to their originating templates #701

Open
SCWells72 opened this issue Dec 13, 2024 · 0 comments

Comments

@SCWells72
Copy link
Contributor

In 0.9.0, we've added two key new configuration concepts, configuration JSON schema and client configuration. These enable significant enhancements to the configuration process and runtime behavior respectively. Existing user-defined language server definitions won't immediately benefit from these enhancements, though. LSP4IJ should compare existing user-defined language definitions against their originating templates (would need to determine the best matching logic) and, if the template has a non-empty, non-default value for either of these properties and the definition has an empty or default value for the same property, the definition should be upgraded either automatically or after prompting the user.

For what it's worth, I've already implemented this for my own plugin that creates TypeScript and CSS language server definitions for the end user. Obviously the template/definition matching logic is much easier when you're in full control, but assuming a more general version of that logic was determined -- and I think that prompting the user helps to insulate against incorrect matching if/when it occurs -- I'm happy to port the logic I've already implemented to LSP4IJ as a more general and encapsulated solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant