Skip to content

Resolve placeholders in server instead of in client #43

@stephanspiegel

Description

@stephanspiegel

Is your feature request related to a problem? Please describe.
Currently, the SOQL language server produces various placeholders during completion:

__SOBJECTS_PLACEHOLDER
__SOBJECT_FIELDS_PLACEHOLDER
__RELATIONSHIPS_PLACEHOLDER
__RELATIONSHIP_FIELDS_PLACEHOLDER
__LITERAL_VALUES_FOR_FIELD

It's then up to the LSP client to resolve the placeholder into the appropriate SObject names, field names, etc. for the users' current org.

This means any editor (besides VS Code) wanting to use the SOQL LSP server has to re-implement this placeholder resolution.

Describe the solution you'd like
Move the action of resolving placeholders from the LSP client into the LSP server.

Describe alternatives you've considered
The alternative is for each editor (client) to re-implement this functionality, which is counter to the point of having an LSP in the first place.

Additional context
I've successfully set up this language server using neovim as a client, but not being able to get completion for SObjects and fields limits its usefulness.

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