language-server

Top 23 language-server Open-Source Projects

  • nvim-lspconfig

    Quickstart configs for Nvim LSP

    Project mention: JetBrains' unremovable AI assistant meets irresistible outcry | news.ycombinator.com | 2024-02-03

    I 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.

  • templ

    A language for writing HTML user interfaces in Go.

    Project mention: 🤓 My top 3 Go packages that I wish I'd known about earlier | dev.to | 2024-03-01

    ✨ In recent months, I have been developing web projects using GOTTHA stack: Go + Templ + Tailwind CSS + htmx + Alpine.js. As soon as I'm ready to talk about all the subtleties and pitfalls, I'll post it on my social networks.

  • 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.

  • lua-language-server

    A language server that offers Lua language support - programmed in Lua

    Project mention: Beginner question: is there any coding standard for documenting Lua functions or tables emulating OOP? | /r/lua | 2023-06-01

    You can use LLS extension for VSCode. Documentation: https://github.com/LuaLS/lua-language-server/wiki/Annotations

  • zls

    A Zig language server supporting Zig developers with features like autocomplete and goto definition

    Project mention: Have questions/requests/issues related to the Zig Language Server? | /r/Zig | 2023-05-06

    There is no official documentation but the standard library provides definitions for the exchange format and an incomplete set of function for exchanging messages in Client.zig and Server.zig. You can find examples of the zig compile server in action in my PR for ZLS and a showcase of hot-code-swapping by kubkon. The code that implements the ZCS in the zig codebase can be found here.

  • vscode-java

    Java Language Support for Visual Studio Code

    Project mention: language support for java client couldn't create connection to server | /r/vscode | 2023-04-24

    Can this issue on github help?

  • Metals

    Scala language server with rich IDE features 🚀

    Project mention: Reconnecting with Scala. What's new? | /r/scala | 2023-05-24

    Links: - https://dotty.epfl.ch/ - https://scala-native.org/en/stable/ - https://www.scala-js.org/ - https://typelevel.org/ - https://zio.dev/ - https://github.com/scala-native/scala-native/pull/3120 - https://github.com/lampepfl/dotty/pull/16517 - https://dotty.epfl.ch/docs/reference/experimental/index.html - https://scala-cli.virtuslab.org/ - https://scalameta.org/metals/ - https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html - https://www.scala-lang.org/blog/2023/04/18/faster-scalajs-development-with-frontend-tooling.html - https://www.scala-lang.org/blog/2022/08/17/long-term-compatibility-plans.html

  • bash-language-server

    A language server for Bash

    Project mention: Being a bash developer in the 21st century | news.ycombinator.com | 2023-09-22

    In neovim I would recommend setting shellcheck with null.ls or using the bash language server: https://github.com/bash-lsp/bash-language-server

    both work really well

  • 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.

  • solargraph

    A Ruby language server.

    Project mention: A few words on Ruby's type annotations state | /r/ruby | 2023-05-05

    My favorite typing solution so far in ruby is Solargraph https://solargraph.org/.

  • typescript-language-server

    TypeScript & JavaScript Language Server

    Project mention: Helix - Front-End Power | dev.to | 2024-03-12
  • pylance-release

    Documentation and issues for Pylance

    Project mention: Help! Connection to server got closed error | /r/vscode | 2023-12-07
  • marksman

    Write Markdown with code assist and intelligence in the comfort of your favourite editor.

    Project mention: Helix - Front-End Power | dev.to | 2024-03-12
  • vscode-intelephense

    PHP intellisense for Visual Studio Code

    Project mention: A guide on Neovim's LSP client | dev.to | 2024-01-13

    I'm going to use intelephense to show the minimal configuration needed to setup a language server in Neovim.

  • KotlinLanguageServer

    Kotlin code completion, diagnostics and more for any editor/IDE using the Language Server Protocol

    Project mention: Kotlin is a much better language than Java even with all the new stuff Java has added. | /r/Kotlin | 2023-12-11

    There'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.

  • 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"

    Project mention: Vue 3.3.6 Faster Thanks to WeakMaps | news.ycombinator.com | 2023-10-22

    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

  • texlab

    An implementation of the Language Server Protocol for LaTeX

    Project mention: Is there any way to use Helix for juypter notebooks ! | /r/HelixEditor | 2023-05-09

    Helix defaults to texlab so try that?

  • pylyzer

    A fast static code analyzer & language server for Python

    Project mention: Mypy 1.6 Released | news.ycombinator.com | 2023-10-17

    There's pylyzer[0], but it's in the early stages.

    [0] https://github.com/mtshiba/pylyzer

  • clangd

    clangd language server

    Project mention: Configure clangd in eglot to not add headers? | /r/emacs | 2023-12-09

    I know one way to do this, but hoping there's something simpler or more general. clangd (C++ LSP server) is over-aggressive about adding "helpful" #includes during completion. The way to turn that off is to pass -header-insertion=never on its cmd line.

  • efm-langserver

    General purpose Language Server

    Project mention: Style rules for LSP for coursework | /r/nvim | 2023-11-21

    Usually another program is used to lint/format code. Basic way is to just run them as a shell command or in another terminal and reload the file, but you can also hook it up to lsp. For example Javascript/Typescript projects use eslint and prettier. Runing `npx prettier` will format the files according to default rules. This is fine for every once in a while or a pre-commit hook. I think you are looking to have it integrated in nvim. Most formatters don't have a language server so you can connect them to nvim lsp with a general language server like: https://github.com/mattn/efm-langserver

  • vim-lsp-settings

    Auto configurations for Language Server for vim-lsp

    Project mention: LSP with pylsp: it work-ish but autocompletion and hover randomly work. | /r/vim | 2023-06-05

    I am reading here but still... it seems all OK. It is weird that it was working with ALE with the current setup. Anyway, I noticed that every once in a while I get this error when I change buffer.

  • php-language-server

    PHP Implementation of the VS Code Language Server Protocol 🆚↔🖥

  • language-tools

    The Svelte Language Server, and official extensions which use it (by sveltejs)

    Project mention: code whisperer not working with svelte project | /r/sveltejs | 2023-07-09
  • clojure-lsp

    Clojure & ClojureScript Language Server (LSP) implementation

  • monaco-languageclient

    NPM module to connect Monaco editor with language servers

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-03-12.

language-server related posts

Index

What are some of the best open-source language-server projects? This list will help you:

Project Stars
1 nvim-lspconfig 9,208
2 templ 5,984
3 lua-language-server 2,924
4 zls 2,253
5 vscode-java 2,026
6 Metals 2,010
7 bash-language-server 1,889
8 solargraph 1,835
9 typescript-language-server 1,649
10 pylance-release 1,648
11 marksman 1,601
12 vscode-intelephense 1,529
13 KotlinLanguageServer 1,448
14 elixir-ls 1,359
15 texlab 1,311
16 pylyzer 1,289
17 clangd 1,264
18 efm-langserver 1,263
19 vim-lsp-settings 1,221
20 php-language-server 1,139
21 language-tools 1,137
22 clojure-lsp 1,109
23 monaco-languageclient 944
The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com