Skip to content

Decide tier/authority model for optional ops #2

Description

@bbatsov

The spec currently describes a set of "optional" ops (interrupt, lookup, load-file, completions, close). Some folks have questioned whether the spec has any real authority to dictate the shape of ops that servers can freely choose not to implement.

@alexander-yakushev raised this for interrupt and again for lookup: if it's optional, can the spec really say how it must work?

@technomancy floated a tiered approach, e.g. a tier-1 server implements everything in the spec, a tier-2 server implements only the four required ops, and suggested looking at how LSP handles its long tail of optional features.

My take:

  • I think it's fine for the spec to define the shape and behavior of optional ops. Otherwise clients have no portability story, since they'd have to special-case every server.
  • I like the tiered approach (required + optional), but we'll need consensus on what belongs in each tier.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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