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)
Language LSP config for Neovim LSP server package
Ada/SPARK als ada_language_serverAUR
Angular angularls
Autotools autotools autotools-language-serverAUR
BASH bashls bash-language-server
C, C++, Objective-C ccls, sourcekit, clangd ccls,

swift-languageAUR,

clang

Clojure clojure_lsp clojure-lsp-binAUR
CMake cmake, neocmakelsp cmake-language-serverAUR,

neocmakelspAUR

CodeQL codeqlls codeqlAUR
CSS, LESS, SASS cssls vscode-css-languageserver
Crystal crystalline crystallineAUR
Dart dartls dart
Dhall dhall_lsp_server dhall-lsp-server
Dockerfile dockerls dockerfile-language-serverAUR
Elixir elixirls elixir-lsAUR
Elm elmls elm-language-serverAUR
Erlang erlangls erlang_lsAUR
Flow flow flowAUR
Fortran fortls fortlsAUR,

fortran-language-serverAUR

F# fsautocomplete, fsharp-language-server fsharp-language-serverAUR
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 ghcide, hls ghcideAUR,

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

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