Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 language-server-protocol Open-Source Projects
-
ale
Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
ccls
C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
jupyterlab-lsp
Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol
-
KotlinLanguageServer
Kotlin code completion, diagnostics and more for any editor/IDE using the Language Server Protocol
-
elixir-ls
A frontend-independent IDE "smartness" server for Elixir. Implements the "Language Server Protocol" standard and provides debugger support via the "Debug Adapter Protocol"
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: I can't stand using VSCode so I wrote my own (it wasn't easy) | news.ycombinator.com | 2024-04-21As an alternative to VSCode, consider Theia[1].
Open-source, runs all the VSCode extensions, etc.
[1] https://theia-ide.org
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
Project mention: JetBrains' unremovable AI assistant meets irresistible outcry | news.ycombinator.com | 2024-02-03I suggest looking for blog posts about this, you're gunnuh wanna pick out a plugin manager and stuff. It's kind of like a package manager for neovim. You can install everything manually but usually you manually install a plugin manager and it gives you commands to manage the rest of your plugins.
These two plugins are the bare minimum in my view.
https://github.com/nvim-treesitter/nvim-treesitter
Treesitter gives you much better syntax highlighting based on a parser for a given language.
https://github.com/neovim/nvim-lspconfig
This plugin helps you connect to a given language LSP quickly with sensible defaults. You more or less pick your language from here and copy paste a snippet, and then install the relevant LSP:
https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...
For Python you'll want pylsp. For JavaScript it will depend on what frontend framework you're using, I probably can't help you there.
pylsp itself takes some plugins and you'll probably want them. https://github.com/python-lsp/python-lsp-server
Best of luck! Happy hacking.
Project mention: Spyder – The Scientific Python Development Environment | news.ycombinator.com | 2023-09-09
Project mention: lsp-mode: Emacs client/library for the Language Server Protocol | /r/planetemacs | 2023-10-15
Then it would just have a dependency on Clang, and you couldn't use Emacs at all (since you can't use Clang).
AFAIK, the only alternative to the clangd language server is ccls: https://github.com/MaskRay/ccls
Project mention: jdtls debugging "Could not resolve java executable: Index 1 out of bounds for length 1" | /r/neovim | 2023-11-21I'm using lsp-zero and i followed this tutorial https://github.com/VonHeikemen/lsp-zero.nvim/blob/v2.x/doc/md/guides/setup-with-nvim-jdtls.md and i have essentially just copy pasted the code from there into ~/.config/nvim/lua/plugin/jdtls.lua
Project mention: We built our customer data warehouse all on Postgres | news.ycombinator.com | 2024-02-02Thank you for turning me on top Cornucopia, it looks awesome. I've used the very similar aiosql in Python, but I hadn't realized there was a Rust analog.
To tell the truth I've been waiting for postgres_lsp to mature before trying it out, but based on this example [1] I think it does support multiple queries.
Since it uses a parser extracted from Postgres, the nonstandard syntax would probably trip it up, but there's probably a way to fix that.
[1] https://github.com/supabase/postgres_lsp/blob/main/example/f...
Has anybody managed or got an idea how to make SonarLint Language Server work with e.g. vim-lsp?
Project mention: Open source versus Microsoft: The new rebellion begins | news.ycombinator.com | 2024-04-15One of the things that comes to mind here is the fact that the default Python extension for VS Code is, perhaps surprisingly to many, not open source. https://github.com/microsoft/pylance-release
While it's possible to fork VS Code, it is not possible to fork VS Code and provide a seamless onramp towards a Python editing experience that is fully open source, because users are used to the nuances of the closed-source Pylance experience in VS Code proper. You could use the minified/compiled Pylance plugin in your fork, but you'd have no way to expand its capabilities to new hooks your fork provides. Microsoft's development process would always be able to move faster than a fork, because it could coordinate VS Code internal API development with its internal Pylance team, and could become incompatible with forks at any time.
It's worth re-reading the quote from J Allard in https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis... with this modern example in mind.
(Also worth mentioning https://github.com/detachhead/basedpyright?tab=readme-ov-fil... which is a heroic effort to derisk this, but it's an uphill battle for sure!)
Project mention: 2.5 Million Java Developers on Visual Studio Code. Microsoft and Red Hat shares Joint Roadmap for Next 6 Months Together | /r/java | 2023-12-11Thanks Eclipse : https://github.com/eclipse-jdtls/eclipse.jdt.ls
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
I'm going to use intelephense to show the minimal configuration needed to setup a language server in Neovim.
Project mention: Kotlin is a much better language than Java even with all the new stuff Java has added. | /r/Kotlin | 2023-12-11There's a community-made one, but of course as much effort as has been put into it it's not as featureful as JetBrains's own stuff.
No. Not even close. But it's getting better.
There are currently two worth mentioning:
ElixirLSP: https://github.com/elixir-lsp/elixir-ls
Elixir tools: https://www.elixir-tools.dev/
ElixirLSP is the older project, and has been around for a while. It does a lot, but has had sporadic issues over the years. Things like the debugger are a dog to get working, and the server itself will occasionally run into issues where it just doesn't want to work. It's always sort of focused on a subset of language server features, so don't expect much in the way of inline corrections. But it's got the essentials, formatting, basic linting, type hinting, on demand documentation, and primitive reference navigation
Elixir tools is a new up and comer, written by Mitchell Hanberg. It's aiming to be a more complete lsp, and has plugins in its "ecosystem" for most editors. Features have been arriving rapidly, starting with things like inline corrections and far more reliable linting, and recently growing autocomplete. One of the main selling points is the elixir-tools backend is a self contained binary, so it can mostly work independent of system Elixir/Erlang version, which was a frequent tripping point for ElixirLSP
Personally I use both at the same time, but plan to move to tools only when it's got all the features I need
Project mention: What's this type of plugin called? (it shows the structure of code) | /r/neovim | 2023-05-30This can be done using a statusline plugin like nvim-navic
language-server-protocol related posts
-
Open source versus Microsoft: The new rebellion begins
-
An Experimental Cloudformation language server
-
A decent VS Code and Ruby on Rails setup
-
Amazon MSK 101 with Python
-
A guide on Neovim's LSP client
-
Build Server Protocol
-
Show HN: Common Lisp Vim Compiler Plug-In
-
A note from our sponsor - InfluxDB
www.influxdata.com | 10 May 2024
Index
What are some of the best open-source language-server-protocol projects? This list will help you:
Project | Stars | |
---|---|---|
1 | theia | 18,847 |
2 | ale | 13,295 |
3 | nvim-lspconfig | 9,585 |
4 | Spyder | 8,057 |
5 | lsp-mode | 4,672 |
6 | ccls | 3,647 |
7 | LanguageClient-neovim | 3,547 |
8 | lsp-zero.nvim | 3,523 |
9 | postgres_lsp | 3,134 |
10 | vim-lsp | 3,019 |
11 | nvim | 1,946 |
12 | vista.vim | 1,873 |
13 | vim-config | 1,830 |
14 | jupyterlab-lsp | 1,733 |
15 | typescript-language-server | 1,714 |
16 | marksman | 1,697 |
17 | pylance-release | 1,653 |
18 | eclipse.jdt.ls | 1,651 |
19 | LSP | 1,597 |
20 | vscode-intelephense | 1,545 |
21 | KotlinLanguageServer | 1,506 |
22 | elixir-ls | 1,386 |
23 | nvim-navic | 1,295 |
Sponsored