Language Server Protocol

Related articles
Lint
Formatter
Debug adapter protocol
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
.
Note
In most cases, you only need one Language Server for each language. However, some Language Severs do not provide certain features, in which case you may want to install multiple Language Serves for a single language. Consult the upstream documentation for more information.
Language
Language Server
Language server package
Ada/SPARK
als
ada_language_server
AUR
Angular
angularls
Ansible
ansible-language-server
ansible-language-server
AUR
Arduino
arduino-language-server
arduino-language-server
Assembly
asm-lsp
asm-lsp
AUR
Astrojs
astrojs-language-server
astrojs-language-server
AUR
Autotools
autotools-language-server
autotools-language-server
AUR
AWK
awk-language-server
awk-language-server
AUR
Bash
bashls
bash-language-server
Bazel
bazelrc-lsp
bazelrc-lsp
AUR
Bicep
bicep
bicep-langserver-bin
AUR
C3
c3-lsp
c3-lsp
AUR
C#
omnisharp-roslyn
omnisharp-roslyn
AUR
C, C++, Objective-C
ccls
,
clangd
ccls
,
clang
Cabal
hls
haskell-language-server
Clojure
clojure_lsp
clojure-lsp-bin
AUR
CMake
cmake
,
neocmakelsp
cmake-language-server
AUR
,
neocmakelsp
AUR
CodeQL
codeqlls
codeql
AUR
Crystal
crystalline
crystalline
AUR
CSS, LESS, SASS
cssls
,
tailwindcss
vscode-css-languageserver
,
tailwindcss-language-server
D
serve-d
serve-d
AUR
Dart
dartls
dart
Dhall
dhall-lang
dhall-lsp-server
Dockerfile, Dockercompose
dockerls
,
compose-language-service
dockerfile-language-server
,
nodejs-compose-language-service
AUR
DOT
dot-language-server
dot-language-server
Elixir
elixirls
elixir-ls
AUR
Elm
elmls
elm-language-server
AUR
Erlang
elp
,
erlangls
elp
AUR
,
erlang_ls
AUR
F#
fsautocomplete
,
fsharp-language-server
fsharp-language-server
AUR
,
fsautocomplete-bin
AUR
Fennel
fennel-ls
fennel-ls
AUR
Fish
fish-lsp
fish-lsp
AUR
Flow
flow
flow
AUR
Fortran
fortls
,
fortran-language-server
fortls
AUR
,
fortran-language-server
AUR
GDScript
gdscript
godot
General purpose
diagnosticls
,
efm
diagnostic-languageserver
AUR
,
efm-langserver
AUR
Gleam
gleam
gleam
GOlang
gopls
gopls
GraphQL
graphql
graphql-lsp
AUR
Groovy
groovyls
groovy-language-server-git
AUR
Haskell
hls
haskell-language-server
Haxe
haxe_language_server
HTML
html
vscode-html-languageserver
Hyprlang
hyprls
hyprls
AUR
Janet
janet-lsp
Java
java_language_server
,
jdtls
java-language-server
AUR
,
jdtls
AUR
JavaScript
denols
deno
JSON
jsonls
vscode-json-languageserver
Julia
julials
Jupyter
jupyterlab-lsp
jupyterlab-lsp
Just
just-lsp
just-lsp
KDL
Kotlin
kotlin_language_server
kotlin-language-server
AUR
Kubernetes
Lean 3
lean3ls
lean-language-server
AUR
Lean 4
Lua
lua_ls
,
emmylua_ls
lua-language-server
,
emmylua-ls-bin
AUR
Makefile
autotools-language-server
autotools-language-server
AUR
Markdown
marksman
,
markdown-oxide
,
rumdl
marksman
,
markdown-oxide
,
rumdl
Meson
muon analyze lsp
muon-meson
AUR
Mojo
mojo-lsp-server
mojo-git
AUR
Natural language
typos-lsp
,
codebook
typos-lsp
,
codebook-lsp
Nginx
nginx-language-server
Nickel
nls
nickel-language-server
Nim
nimls
nimlsp
AUR
nix
nil
,
nixd
nil-git
AUR
,
nixd
AUR
Nushell
nu --lsp
nushell
OCaml, Reason
ocamllsp
ocaml-lsp-git
AUR
Odin
ols
odinls-bin
AUR
OmniSharp
omnisharp
omnisharp-roslyn
AUR
Perl
perlls
perl-perl-languageserver
AUR
PHP
phpactor
,
intelephense
phpactor
AUR
,
nodejs-intelephense
AUR
Pkl
pkl-lsp
Pony
pony-lsp
ponyc
PowerShell
powershell_es
powershell-editor-services
AUR
PureScript
purescriptls
purescript-language-server
AUR
Python
pylsp
,
basedpyright
,
pyright
,
jedi_language_server
,
pyrefly
,
ruff
,
ty
python-lsp-server
,
pyright
,
basedpyright
AUR
,
jedi-language-server
,
pyrefly
AUR
,
ruff
,
ty
QML
qmlls
qt6-declarative
R
r_language_server
r-languageserver
AUR
Racket
racket_langserver
ReScript
rescriptls
rescript-ls
AUR
Roc
roc_language_server
roc-nightly-bin
AUR
RST
Ruby
solargraph
,
sorbet
,
ruby-lsp
ruby-solargraph
AUR
,
ruby-sorbet-runtime
,
ruby-lsp
Rust
rust_analyzer
rust-analyzer
Scala
metals
metals
AUR
Solidity
solc --lsp
solidity
AUR
SQL
sqls
,
sql-language-server
sqls
AUR
,
sql-language-server
AUR
Standard ML
Millet
millet
AUR
Svelte
svelte
svelte-language-server
Swift
sourcekit
swift-language
AUR
Systemd
systemd-lsp
systemd-lsp
SystemVerilog
svls
svls
AUR
Tcl
Terraform
terraformls
terraform-ls
AUR
TOML
taplo
,
tombi
taplo-cli
,
tombi
(La)TeX
texlab
texlab
TypeScript
tsserver
,
denols
typescript-language-server
,
deno
Typst
tinymist
tinymist
V
v-analyzer
v-analyzer-bin
AUR
Vala
vala_ls
vala-language-server
AUR
Vimscript
vimls
vim-language-server
AUR
Vue
volar
vue-language-server
WebAssembly
wasm-language-tools
wasm-language-tools
AUR
XML
LemMinX
lemminx
AUR
YAML
yamlls
yaml-language-server
Zig
zls
zls
Zsh
See also
Wikipedia:Language Server Protocol
Comprehensive list of LSP configs for neovim
langserver
A community-driven source of knowledge for Language Server Protocol implementations