Skip to content
Fangrui Song edited this page Dec 16, 2018 · 3 revisions

MaskRay's random complaints about Language Server Protocol

Completion

  • VSCode sorts sortText case insensitively.
  • VSCode only allows length-one strings in CompletionRegistrationOptions.triggerCharacters https://github.com/Microsoft/language-server-protocol/issues/138 (closed) Server developers have to work around that. CompletionTriggerKind::TriggerCharacter should extend as well.
  • The order of textEdit additionTextEdits is not specified.

Formatting

  • firstTriggerCharacter and moreTriggerCharacter should be unified

Miscellaneous

  • interface Position uses UTF-16 counting for character. https://github.com/Microsoft/language-server-protocol/issues/376
  • interface Command (workspace/executeCommand) is VSCode centric.
  • textDocument/implementation isn't clear. textDocument/definition isn't clear when it comes to the difference of declaration/definition.
  • namespace DocumentHighlightKind is not a bitmask. Read and Write cannot coexist.
  • Why can't we get more namespace SymbolKind constants sooner? https://github.com/Microsoft/language-server-protocol/issues/344
  • textDocument/signatureHelp: the position of ParameterInformation::label is unspecified: it is difficult to highlight ParameterInformation::label in SignatureInformation::label

Stuff that needs attention

textDocument/calls https://github.com/Microsoft/vscode-languageserver-node/pull/420/files

$ccls/call

Clone this wiki locally