Language Server Protocol - ArchWiki

Jump to content

# Language Server Protocol

From ArchWiki

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_serverAUR
Angular | angularls |
Ansible | ansible-language-server | ansible-language-serverAUR
Arduino | arduino-language-server | arduino-language-server
Assembly | asm-lsp | asm-lspAUR
Astrojs | astrojs-language-server | astrojs-language-serverAUR
Autotools | autotools-language-server | autotools-language-serverAUR
AWK | awk-language-server | awk-language-serverAUR
Bash | bashls | bash-language-server
Bazel | bazelrc-lsp | bazelrc-lspAUR
Bicep | bicep | bicep-langserver-binAUR
C3 | c3-lsp | c3-lspAUR
C# | omnisharp-roslyn | omnisharp-roslynAUR
C, C++, Objective-C | ccls, clangd | ccls, clang
Cabal | hls | haskell-language-server
Clojure | clojure_lsp | clojure-lsp-binAUR
CMake | cmake, neocmakelsp | cmake-language-serverAUR, neocmakelspAUR
CodeQL | codeqlls | codeqlAUR
Crystal | crystalline | crystallineAUR
CSS, LESS, SASS | cssls, tailwindcss | vscode-css-languageserver, tailwindcss-language-server
D | serve-d | serve-dAUR
Dart | dartls | dart
Dhall | dhall-lang | dhall-lsp-server
Dockerfile, Dockercompose | dockerls, compose-language-service | dockerfile-language-server, nodejs-compose-language-serviceAUR
DOT | dot-language-server | dot-language-server
Elixir | elixirls | elixir-lsAUR
Elm | elmls | elm-language-serverAUR
Erlang | elp, erlangls | elpAUR, erlang_lsAUR
F# | fsautocomplete, fsharp-language-server | fsharp-language-serverAUR, fsautocomplete-binAUR
Fennel | fennel-ls | fennel-lsAUR
Fish | fish-lsp | fish-lspAUR
Flow | flow | flowAUR
Fortran | fortls, fortran-language-server | fortlsAUR, fortran-language-serverAUR
GDScript | gdscript | godot
General purpose | diagnosticls, efm | diagnostic-languageserverAUR, efm-langserverAUR
Gleam | gleam | gleam
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
Hyprlang | hyprls | hyprlsAUR
Janet | janet-lsp |
Java | java_language_server, jdtls | java-language-serverAUR, jdtlsAUR
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-serverAUR
Kubernetes |  |
Lean 3 | lean3ls | lean-language-serverAUR
Lean 4 |  |
Lua | lua_ls, emmylua_ls | lua-language-server, emmylua-ls-binAUR
Makefile | autotools-language-server | autotools-language-serverAUR
Markdown | marksman, markdown-oxide, rumdl | marksman, markdown-oxide, rumdl
Meson | muon analyze lsp, mesonlsp | muon-mesonAUR, mesonlspAUR
Mojo | mojo-lsp-server | mojo-gitAUR
Natural language | typos-lsp, codebook | typos-lsp, codebook-lsp
Nginx | nginx-language-server |
Nickel | nls | nickel-language-server
Nim | nimls | nimlspAUR
nix | nil, nixd | nil-gitAUR, nixdAUR
Nushell | nu --lsp | nushell
OCaml, Reason | ocamllsp | ocaml-lsp-gitAUR
Odin | ols | odinls-binAUR
OmniSharp | omnisharp | omnisharp-roslynAUR
Perl | perlls | perl-perl-languageserverAUR
PHP | phpactor, intelephense | phpactorAUR, nodejs-intelephenseAUR
Pkl | pkl-lsp |
Pony | pony-lsp | ponyc
PowerShell | powershell_es | powershell-editor-services-binAUR
PureScript | purescriptls | purescript-language-serverAUR
Python | pylsp, basedpyright, pyright, jedi_language_server, pyrefly, ruff, ty | python-lsp-server, pyright, basedpyrightAUR, jedi-language-server, pyreflyAUR, ruff, ty
QML | qmlls | qt6-declarative
R | r_language_server | r-languageserverAUR
Racket | racket_langserver |
ReScript | rescriptls | rescript-lsAUR
Roc | roc_language_server | roc-nightly-binAUR
RST |  |
Ruby | solargraph, sorbet, ruby-lsp | ruby-solargraphAUR, ruby-sorbet-runtime, ruby-lsp
Rust | rust_analyzer | rust-analyzer
Scala | metals | metalsAUR
Solidity | solc --lsp | solidityAUR
SQL | sqls, sql-language-server | sqlsAUR, sql-language-serverAUR
Standard ML | Millet | milletAUR
Svelte | svelte | svelte-language-server
Swift | sourcekit | swift-languageAUR
Systemd | systemd-lsp | systemd-lsp
SystemVerilog | svls | svlsAUR
Tcl |  |
Terraform | terraformls | terraform-lsAUR
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-binAUR
Vala | vala_ls | vala-language-serverAUR
Vimscript | vimls | vim-language-serverAUR
Vue | volar | vue-language-server
WebAssembly | wasm-language-tools | wasm-language-toolsAUR
XML | LemMinX | lemminxAUR
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

Category:

- Programming languages

Language Server Protocol
Add topic