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