ncm2
typescript-language-server
ncm2 | typescript-language-server | |
---|---|---|
2 | 53 | |
1,332 | 1,705 | |
0.0% | 2.4% | |
1.8 | 8.7 | |
about 2 years ago | 5 days ago | |
Python | TypeScript | |
MIT License | GNU General Public License v3.0 or later |
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.
ncm2
-
Why LSP?
Assuming you're talking about this ncm[0], are you aware that ncm is a " completion framework for neovim", which is different from an LSP? ncm is either an LSP client itself, or, it is talking to neovim's internal LSP client, to get completions from LSPs.
It's also important to note that LSPs almost always provide you more than auto completion (for example, go to definition, go to implementation, find references).
Do let me know if you have more questions, neovim and LSPs are my "daily driver" as a dev, so to speak.
[0] https://github.com/ncm2/ncm2
-
Getting ncm2 and ncm-r to work
call plug#begin() " assuming you're using vim-plug: https://github.com/junegunn/vim-plug Plug 'ncm2/ncm2' Plug 'roxma/nvim-yarp' " enable ncm2 for all buffers autocmd BufEnter * call ncm2#enable_for_buffer() " IMPORTANT: :help Ncm2PopupOpen for more information set completeopt=noinsert,menuone,noselect " NOTE: you need to install completion sources to get completions. Check " our wiki page for a list of sources: https://github.com/ncm2/ncm2/wiki Plug 'ncm2/ncm2-bufword' Plug 'ncm2/ncm2-path' " R plugin " Plug 'jalvesaq/Nvim-R' " Plug 'ncm2/ncm2' " Plug 'roxma/nvim-yarp' Plug 'gaalcaras/ncm-R' if !has('nvim') Plug 'roxma/vim-hug-neovim-rpc' endif Plug 'ncm2/ncm2-bufword' Plug 'ncm2/ncm2-path' call plug#end()
typescript-language-server
- Helix - Front-End Power
-
What is JSDoc and why you may not need typescript for your next project?
Besides the features TypeScript itself proposed, the most important thing it brought to the community was the ability to create cool features around this compiler that enhance the developer experience and productivity. Tools like tsserver, pretty ts errors, and many others are actively improving the ecosystem for both JavaScript and TypeScript writers.
-
A guide on Neovim's LSP client
Sometimes a language server can support multiple filetypes. An example of this is tsserver, the language server for javascript and typescript. In this case a filetype plugin can still work but there is an easier way to go about it.
-
Suspense your federated component with caution
in this way the ts server can detect and parse the component from the microfronent, thanks to monorepos!
-
Let's write an Emacs treesitter major mode
That was interesting, thanks for pointing it out
I was tremendously sad to see that the Typescript Language Server wasn't owned by Microsoft <https://microsoft.github.io/language-server-protocol/impleme...>, 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: https://github.com/typescript-language-server/typescript-lan...
-
How do I select which LSP is currently running?
I would like to use svelte language server when working on +page.server.ts files and not the typescript language server.
-
Formatting on save not working
[[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 https://github.com/typescript-language-server/typescript-language-server#workspacedidchangeconfiguration 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" # https://github.com/executablebooks/mdformat formatter = { command = "mdformat", args = ["-"] } [[language]] name = "json" formatter = { command = "prettier", args = ["--parser", "json"] } [[language]] name = "toml" auto-format = true # https://github.com/bd82/toml-tools/tree/master/packages/prettier-plugin-toml 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
Depending on the language server version, you may be running into https://github.com/typescript-language-server/typescript-language-server/issues/631. 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
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.
Then this is highly likely issue of typescript-language-server. You might consider opening an issue for it.
What are some alternatives?
Nvim-R - Vim plugin to work with R
deno - A modern runtime for JavaScript and TypeScript.
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
nvim-lspconfig - Quickstart configs for Nvim LSP
ncm-R - R autocompletion for Neovim and vim 8 :memo: :bar_chart: :zap:
null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
semshi - 🌈 Semantic Highlighting for Python in Neovim
nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.
defx.nvim - :file_folder: The dark powered file explorer implementation for neovim/Vim8
nvim-lspinstall - Provides the missing :LspInstall for nvim-lspconfig
NeoVintageous - Vim for Sublime Text.
TypeScript - IO wrapper around TypeScript language services, allowing for easy consumption by editor plugins