microsoft / microsoft/language-server-protocol

Request batching

Open
#988 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

The protocol defines quite some message which are executed on a text document (e.g. folding ranges, document links, colors, ...). Clients usually send these request after a timeout ask the server to recompute the responses after the user typed. Since these request require to reconcile the AST and even may be resolving symbols it would be useful for a server to know that a client will ask for on of these requests. To support such an optimization we should look into batch n requests. Two ideas:

  • have special LSP level notifications for this. This is comparable to begin/end transaction in DBs.
  • use JSON RPC Batching (https://www.jsonrpc.org/specification#batch). Downside is that most RPC libraries have no support for this.

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

No files, tests, or implementation entry points are named. Start by comparing the two proposed approaches—the LSP-level notifications and JSON-RPC batching—and read the linked JSON-RPC batching specification; done requires a decided, specified batching mechanism for these requests.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.