/lsp-range-unit-survey

A survey to determine what char units language server protocol implementers use.

MIT LicenseMIT

This survey was created to inform the debate over what unit ranges should use in the Language Server Protocol. The debate is occuring in issue #376. The protocol was updated in version 3.0 to clarify that "character" indexes are in UTF-16, however since UTF-16 is controversial many implementations continue to use other units.

Please send a PR if you know what unit (UTF-8, UTF-16, Codepoints, grapheme clusters) a given implementation uses.

unkown should be replaced with [**unit**](issue/relevant information) and count should be updated.

Implementations Count

  • UTF-8: 10
  • UTF-16: 11
  • Codepoints: 7
  • grapheme clusters: 1

Server Count

  • UTF-8: 6
  • UTF-16: 8, Several UTF-16 servers would prefer UTF-8
  • Codepoints: 4
  • grapheme clusters: 0

Client Count

  • UTF-8: 4
  • UTF-16: 3
  • Codepoints: 3
  • grapheme clusters: 1

note: Multiple implementations in the same repo or derived from a shared dependency are counted once.

List Dervied from langserver.org. If a implementation of the language server protocol is missing from this list please submit a PR here and github.com/langserver/langserver.github.io.

Language servers

Work in Progress

LSP clients

Work in progress