semantic-source VS typescript-language-server

Compare semantic-source vs typescript-language-server and see what are their differences.


Parsing, analyzing, and comparing source code across many languages (by github)


TypeScript & JavaScript Language Server (by typescript-language-server)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Mergify - Updating dependencies is time-consuming.
semantic-source typescript-language-server
23 49
8,706 1,472
0.0% 6.0%
0.0 8.3
about 1 year ago 2 days ago
Haskell TypeScript
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of semantic-source. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-13.


Posts with mentions or reviews of typescript-language-server. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-14.
  • Let's write an Emacs treesitter major mode
    7 projects | | 14 Sep 2023
    That was interesting, thanks for pointing it out

    I was tremendously sad to see that the Typescript Language Server wasn't owned by Microsoft <>, since if there was any sanity in the world a spec bump would travel with a reference implementation showing how they envision such a thing being used

    But, I found that the Typescript Language Server that they did list does indeed have a semantic-tokens module in it, although it's much shorter than I would have expected from reading that section in the spec:

  • Formatting on save not working
    3 projects | /r/HelixEditor | 5 Jul 2023
    [[language]] name = "python" roots = ["pyproject.toml"] formatter = { command = "black", args = ["--quiet", "-"] } language-server = { command = "pyright-langserver", args = ["--stdio"] } config = {} auto-format = true [[language]] name = "rust" auto-format = true # [[language]] # name = "typescript" # auto-format = true # formatter = { command = "prettier", args = ["--parser", "typescript"]} # # pass format options according to omitting the "[language].format." prefix. # config = { format = { "semicolons" = "insert", "insertSpaceBeforeFunctionParenthesis" = true } } [[language]] name = "tsx" formatter = { command = 'prettier', args = ["--parser", "typescript"] } auto-format = true [[language]] name = "javascript" auto-format = true formatter = { command = 'npx', args = ["prettier", "--config", ".prettierrc", "--parser", "javascript"] } # formatter = { command = "prettier", args = ["--parser", "javascript"]} [[language]] name = "css" formatter = { command = 'prettier', args = ["--parser", "css"] } [[language]] name = "markdown" # formatter = { command = "mdformat", args = ["-"] } [[language]] name = "json" formatter = { command = "prettier", args = ["--parser", "json"] } [[language]] name = "toml" auto-format = true # formatter = { command = "prettier", args = ["--parser", "toml"] } [[language]] name = "yaml" indent = { tab-width = 2, unit = " " } formatter = { command = "prettier", args = ["--parser", "yaml"] } [[language]] name = "astro" scope = "source.astro" injection-regex = "astro" file-types = ["astro"] roots = ["package.json", "astro.config.mjs"] language-server = { command = "astro-ls", args = ["--stdio"] } config = { "typescript" = { serverPath = "/Users/matteostara/.nvm/versions/node/v18.16.0/bin/typescript-language-server" }, "environment" = "node" }
  • Struggling with javascript completion with LSP
    2 projects | /r/emacs | 15 Jun 2023
    Crossposting from github, because the response rate there has been pretty slow:
    2 projects | /r/emacs | 15 Jun 2023
    Depending on the language server version, you may be running into I temporarily fixed it for me by simply sticking with an old enough server build, though judging by the latest typescript-language-server commits a very recent build from master should also work
  • There's another typescript LSP that wraps the official VSCode typescript extension and has almost the same features - vtsls
    6 projects | /r/neovim | 28 Apr 2023
    Before, I was using typescript-language-server as it is LSP compliant but it was slow and lacks the features of what VSCode's implementation has, like extracting functions, constants, types into interfaces or alias and single imports. Auto-completion was also not very predictive as sometimes it works and sometimes it doesn't. For instance, I was having trouble getting it to auto-complete common attributes like className or href in JSX projects. It could be that I may be doing something wrong but didn't find any solution on how to get it properly working.
  • What could cause my LSP to be so slow and sluggish? Takes anywhere from 1 to 8 seconds to show auto-completion results and hide/ unhide errors.
    7 projects | /r/neovim | 13 Apr 2023
    Then this is highly likely issue of typescript-language-server. You might consider opening an issue for it.
  • PSA: Configuring LSP w/o nvim-lspconfig is Simple!
    6 projects | /r/neovim | 11 Apr 2023
    This is not the case! After reading the LSP help pages (:help lsp), I installed and configured two language servers: Typescript Language Server for JavaScript and Pyright for Python. Neovim has fantastic defaults, so things like tags, omnicompletion, and semantic highlighting (New in 0.9) are enabled and configured by default as long as your language server supports them. You can see my configuration below.
  • Which LSP Server for Python and JavaScript?
    6 projects | /r/neovim | 6 Apr 2023
  • How to access tsserver code actions?
    3 projects | /r/neovim | 1 Mar 2023
    Open feature request to typescript-language-server or check corresponding implementaion in vscode and make a pr for it.
  • How do I achieve JavaScript code completition with nvim-cmp and Mason ?
    5 projects | /r/neovim | 22 Feb 2023
    Use mason to install tsserver, or directly install it on your computer following typescript-language-server. Note that your javascript's ls is powered by tsserver not eslint since eslint is a linter, not a ls.

What are some alternatives?

When comparing semantic-source and typescript-language-server you can also consider the following projects:

deno - A modern runtime for JavaScript and TypeScript.

nvim-lspconfig - Quickstart configs for Nvim LSP

null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.

nvim-lspinstall - Provides the missing :LspInstall for nvim-lspconfig

TypeScript - IO wrapper around TypeScript language services, allowing for easy consumption by editor plugins

neovim - Vim-fork focused on extensibility and usability

LunarVim - 🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.

coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

coc-tsserver - Tsserver extension for coc.nvim that provide rich features like VSCode for javascript & typescript

rust-analyzer - A Rust compiler front-end for IDEs [Moved to:]

rust-analyzer - A Rust compiler front-end for IDEs