microsoft / microsoft/language-server-protocol

Define a URI scheme namespaced kind type for DocumentFilter

Open
#1,627 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

document feature-request
Dominant language
TypeScript
Stars
13k
Forks
1k
Avg merge
6d 1h
Merged PRs (30d)
10

Description

The DocumentFilter scheme property documentation has the following:

A Uri scheme, like file or untitled.

This is incomplete in several ways:

  1. The link "#Uri.scheme" does not exist in the LSP specification. A "#uri" link name does, but that does not define a list of valid/supported URI schemes.
  2. It is unclear which URI schemes are available, which are required, and which are optional.
  3. It is unclear whether "untitled" is meant to be an example as a possible URI scheme from the scheme production (i.e. any sequence of ASCII characters), or is some special marker used in the specification/by a client.

The URI section should define the following namespaced kind type:

export type UriSchemeKind = string;

export namespace UriSchemeKind {
    export const FILE: UriSchemeKind = 'file';
    // ...
}

Updated interfaces:

  1. DocumentFilter -- scheme? : string -> UriSchemeKind

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the URI section and the DocumentFilter definition in the LSP specification. Review the existing scheme documentation and determine the required and optional schemes before introducing the requested UriSchemeKind type and updating DocumentFilter; done means the specification clearly defines the scheme values and their usage.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.