Jump to content

Language Server Protocol

From ArchWiki

Language Server Protocol (LSP) defines the protocol used between an editor or IDE and a language server that provides language features like auto complete, go to definition, find all references.

Language servers can be installed natively using the following packages. If your programming language is not in the list, search in the Arch official repositories or in the AUR.

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Reason: When multiple packages are listed in one table cell, it is not clear if users should install all of them to get LSP for given language, or choose one of the alternatives. For example, the LSPs for Python have very different features, some are alternatives and some complement each other. (Discuss in Talk:Language Server Protocol)

This article or section needs expansion.

Reason: Some links in the "LSP config for text editors" column (e.g. clangd) do not provide any config. (Discuss in Talk:Language Server Protocol)
Language LSP config for text editors LSP server package
Ada/SPARK als ada_language_serverAUR
Angular angularls
Arduino arduino-language-server arduino-language-server
Ansible ansible-language-server ansible-language-server
Astrojs astrojs-language-server astrojs-language-serverAUR
Awk awk-language-server awk-language-serverAUR
Autotools autotools autotools-language-serverAUR
BASH bashls bash-language-server
Bicep bicep bicep-langserver-binAUR
C, C++, Objective-C ccls, sourcekit, clangd ccls, swift-languageAUR, clang
C# C# omnisharp-roslynAUR
Clojure clojure_lsp clojure-lsp-binAUR
CMake cmake, neocmakelsp cmake-language-serverAUR, neocmakelspAUR
CodeQL codeqlls codeqlAUR
CSS, LESS, SASS cssls, tailwindcss vscode-css-languageserver, tailwindcss-language-server
Crystal crystalline crystallineAUR
D serve-d serve-dAUR
Dart dartls dart
Dhall dhall-lang dhall-lsp-server
Dockerfile, Dockercompose dockerls, compose-language-service dockerfile-language-serverAUR, nodejs-compose-language-serviceAUR
Elixir elixirls elixir-lsAUR
Elm elmls elm-language-serverAUR
Erlang elp, erlangls elpAUR, erlang_lsAUR
Flow flow flowAUR
Fortran fortls, fortran-language-server fortlsAUR, fortran-language-serverAUR
F# fsautocomplete, fsharp-language-server fsharp-language-serverAUR, fsautocomplete-binAUR
GDScript gdscript godot
General purpose diagnosticls, efm diagnostic-languageserverAUR, efm-langserverAUR
GOlang gopls gopls
GraphQL graphql graphql-lspAUR
Groovy groovyls groovy-language-server-gitAUR
Haskell hls haskell-language-server
Haxe haxe_language_server
HTML html vscode-html-languageserver
JavaScript denols deno
Java java_language_server, jdtls java-language-serverAUR, jdtlsAUR
JSON jsonls vscode-json-languageserver
Julia julials
Kotlin kotlin_language_server kotlin-language-serverAUR
Lean lean3ls lean-language-serverAUR
Lua lua_ls lua-language-server
Markdown marksman marksman
Nim nimls nimlspAUR
nix nil nil-gitAUR
OCaml, Reason ocamllsp ocaml-lsp-gitAUR
OmniSharp omnisharp omnisharp-roslynAUR
Perl perlls perl-perl-languageserverAUR
PHP phpactor, intelephense phpactorAUR, nodejs-intelephenseAUR
PowerShell powershell_es powershell-editor-servicesAUR
PureScript purescriptls purescript-language-serverAUR
Python pylsp, basedpyright, pyright, jedi_language_server, ruff python-lsp-server, pyright, basedpyrightAUR, jedi-language-server, ruff
R r_language_server r-languageserverAUR
Racket racket_langserver
ReScript rescriptls rescript-lsAUR
Rome biome biome
Rust rust_analyzer rust-analyzer
Ruby solargraph, sorbet ruby-solargraphAUR, ruby-sorbet-runtime
Scala metals metalsAUR
SQL sqlls, sqls sqlsAUR, sql-language-serverAUR
CSS stylelint_lsp stylelint-lspAUR
Svelte svelte svelte-language-server
SystemVerilog svls svlsAUR
Terraform terraformls terraform-lsAUR
(La)TeX texlab texlab
Terraform tflint tflint
TypeScript tsserver, denols typescript-language-server, deno
Typst tinymist tinymist
Vala vala_ls vala-language-serverAUR
Vim vimls vim-language-serverAUR
V v-analyzer v-analyzer-binAUR
Vue volar vue-language-server
YAML yamlls yaml-language-server
Zig zls zls

See also