Skip to content

feat(neovim): migrate typescript lsps to tsc - #6555

Merged
perrin4869 merged 2 commits into
masterfrom
feat/neovim/lsp-tsc
Aug 19, 2026
Merged

feat(neovim): migrate typescript lsps to tsc#6555
perrin4869 merged 2 commits into
masterfrom
feat/neovim/lsp-tsc

Conversation

@perrin4869

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR aims to migrate the Neovim TypeScript language server setup away from tsserver/vtsls/tsgo and toward a tsc-based configuration, including updating the build tooling and removing the nvim-vtsls submodule.

Changes:

  • Updates Mason-installed tooling list to drop vtsls/typescript-language-server/tsgo and add tsc.
  • Reworks Neovim TypeScript LSP enablement and organize-imports hook to target an LSP client named tsc.
  • Removes the nvim-vtsls git submodule entry.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
mk/build.mk Adjusts Mason package install targets for TypeScript-related tooling.
home/.config/nvim/plugin/typescript.lua Switches TypeScript LSP attach/enable logic to a tsc-named server.
.gitmodules Drops the nvim-vtsls submodule entry.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 27 to 32
vim.api.nvim_create_autocmd('FileType', {
once = true,
pattern = vim.lsp.config[typescript_lsp].filetypes,
pattern = vim.lsp.config['tsc'].filetypes,
callback = function()
if typescript_lsp == 'vtsls' then
vim.cmd.packadd('nvim-vtsls')
end
vim.lsp.enable(typescript_lsp)
vim.lsp.enable('tsc')
end,
Comment thread mk/build.mk
Comment on lines 208 to +218
@@ -215,9 +215,7 @@ $(eval $(call mason_package,json-lsp))
$(eval $(call mason_package,html-lsp))
$(eval $(call mason_package,css-lsp))
$(eval $(call mason_package,js-debug-adapter))
$(eval $(call mason_package,vtsls)) # TODO: remove once tsgo is stable
$(eval $(call mason_package,typescript-language-server)) # TODO: remove once tsgo is stable
$(eval $(call mason_package,tsgo))
$(eval $(call mason_package,tsc))
ignore binaries that do not support --lsp
@perrin4869
perrin4869 merged commit 1e118a1 into master Aug 19, 2026
2 checks passed
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.

2 participants