Skip to content

Support the LSP built into Typescript 7 (typescript-go) - #5160

Open
Jiggins wants to merge 1 commit into
dense-analysis:masterfrom
Jiggins:linter/typescript-go-lsp
Open

Support the LSP built into Typescript 7 (typescript-go)#5160
Jiggins wants to merge 1 commit into
dense-analysis:masterfrom
Jiggins:linter/typescript-go-lsp

Conversation

@Jiggins

@Jiggins Jiggins commented Aug 6, 2026

Copy link
Copy Markdown

Typescript moved to go for the 7.0 release. They also ditched tsserver
in favour of tsc --lsp. This commit implements an ALE LSP definition
for tsc --lsp.

From testing, tsc --lsp doesn't seem to be as good as the old
tsserver but hopefully it'll get better.

Fixes: #5128

@Jiggins
Jiggins requested a review from w0rp as a code owner August 6, 2026 16:50
@Jiggins
Jiggins force-pushed the linter/typescript-go-lsp branch from 6e9b776 to 4dea43c Compare August 6, 2026 17:06
Typescript moved to go for the 7.0 release. They also ditched `tsserver`
in favour of `tsc --lsp`. This commit implements an ALE LSP definition
for `tsc --lsp`.

From testing, `tsc --lsp` doesn't seem to be as good as the old
`tsserver` but hopefully it'll get better. Completion is not as good as
before but the documentation (:ALEHover) seems to be a little better.

Fixes: dense-analysis#5128
@Jiggins
Jiggins force-pushed the linter/typescript-go-lsp branch from 4dea43c to 73330dc Compare August 10, 2026 09:39

@hsanson hsanson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before merging this needs to include tests and documentation updates. See this PR as reference:

In specific:

  • New test test/linter/test_typescript_tsc.vader
  • Entry in supported-tools.md
  • Entry in txt/ale.txt
  • Entry in doc/ale-supported-languages-and-tools.txt
  • Help entry in doc/ale-typescript.txt

Important: entries in documentation must be added in alphabetical order to avoid linter errors.

@wutje

wutje commented Aug 25, 2026

Copy link
Copy Markdown

Note that this does not really work for typescriptreact; it does linting/checking, but it for .ts files and gives error when reaching a react component.
I duplicated the ale#linter#Define and changed to 'typescript' to 'tsx' to make it work for typescriptreact files.

It works, but I have know knowledge on ALE aliasing or how LSP work so perhaps this is not the best solution.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for tsgo

3 participants