microsoft / microsoft/language-server-protocol

Improve CodeDescription or add the ability to provide text documents or handle URIs

Open
#2,130 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

The CodeDescription type is a dead end if the text isn't a website or file. When this server-defined URI is produced, one would assume that the server could resolve the URI as well. However, this is unfortunately an implementation detail in the clients. For example, VS Code has UriHandler and TextDocumentContentProvider.

Different ideas for improvement:

  1. Allow servers to provide CodeDescription text
    • Add a client-to-server request codeDescription/resolve that is given a URI responds with something like a TextDocumentItem
    • Add a field codeDescriptionProvider to ServerCapabilities
  2. Allow servers to provide text documents
  3. Allow servers to perform arbitrary actions with a given URI
    • Add a client-to-server notification workspace/openUri that can do anything such as open a graphical application to display the content of a URI
    • Add a field uriProvider to ServerCapabilities

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 LSP 3.17 definitions for CodeDescription, ServerCapabilities, and TextDocumentItem, then compare the three proposed request or notification designs. Done means selecting and specifying one approach, including its capability field and response or notification behavior, in the protocol specification.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.