Skip to content

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

Open
@SCWells72

Description

@SCWells72

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions