microsoft / microsoft/vscode-languageserver-node

UTF-8 support

Open
#1,224 4 comments 14 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request help wanted
Dominant language
TypeScript
Stars
1.8k
Forks
404
Avg merge
2d 8h
Merged PRs (30d)
14

Description

For about half a year now, UTF-8 character positioning support has been supported by the LSP protocol since 3.17.0 and multiple servers, such as clangd and rust-analyzer, have supported it either since then or before then (in fact, clangd "invented" this capability with an LSP extension).

This feature would be highly useful in this client library. For my server (and probably many others), UTF-8 is much simpler to handle, already supported by the LSP interface library (lsp-types in my case), and of course supported by many IDEs. Only the glue code client shim doesn't cooperate yet.

Reopens #748 in a new issue, since the author of that issue and the maintainers of this repo have not done so.

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 by tracing the client shim's character-position handling against the LSP 3.17 UTF-8 offset capability and the linked clangd and rust-analyzer behavior. Done means the client library can negotiate and use UTF-8 character positions for servers that support them, with coverage for the supported behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
api, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.