Skip to content

tsserver should implement the Language Server Protocol  #39459

Open
@leungbk

Description

@leungbk

Search Terms

language server protocol

Suggestion

As the language server protocol ( https://github.com/Microsoft/language-server-protocol ) is getting more and more popularity and clients ( https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations ), it would be very useful to have the tsserver implement this protocol.

This is a duplicate of issue #11274, which the OP closed because at that time, there existed two reasonable-looking LSP implementations for TypeScript.

But the times have changed. The Theia IDE now uses a VS Code extension for its TypeScript needs, and in the last eighteen months, Sourcegraph's server has received exactly one update by a sentient person.

There continue to be requests for LSP support within #11724 despite its Closed status. The OP has expressed no interest in revisiting the issue.

Use Cases

It would be useful to programmers who use TypeScript but don't use VS Code.

Checklist

My suggestion meets these guidelines:

  • This wouldn't be a breaking change in existing TypeScript/JavaScript code
    This wouldn't change the runtime behavior of existing JavaScript code
    This could be implemented without emitting different JS based on the types of the expressions
    This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
    This feature would agree with the rest of TypeScript's Design Goals.

Activity

halfnibble

halfnibble commented on Sep 20, 2020

@halfnibble

Is there any traction on this? I feel like this should be somewhat high priority, but only because my favorite IDE's all blame TypeScript's non-conformance to the Language Server Protocol as the reason TypeScript support is buggy.

How bad is this issue, and how difficult would it be to remedy? Thanks. I'd also be interested in links to reading material that might enlighten me on the subject.

RyanCavanaugh

RyanCavanaugh commented on Sep 21, 2020

@RyanCavanaugh
Member

We're working on this, albeit slowly. tsserver's implementation predates LSP so it's nontrivial work to move forward in a way that doesn't adversely affect old clients or result in code duplication.

Your favorite IDE should misplace their blame somewhere else 🙃

laktak

laktak commented on Sep 23, 2020

@laktak

@RyanCavanaugh If you are looking for a testing environment may I suggest vim with vim-lsp.

yyoncho

yyoncho commented on Dec 11, 2020

@yyoncho

@RyanCavanaugh is there a branch to track? Or what is the best way to track the work on that?

rubencaro

rubencaro commented on Jan 15, 2021

@rubencaro

@RyanCavanaugh In line with last comment: any list of issues/tasks that someone could tackle on free time to help with this?

100 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

CommittedThe team has roadmapped this issueDomain: TSServerIssues related to the TSServerSuggestionAn idea for TypeScript

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @marcelbeumer@apexskier@dcousens@mickaelistria@rubencaro

      Issue actions

        tsserver should implement the Language Server Protocol · Issue #39459 · microsoft/TypeScript