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-server
Arduino | arduino-language-server | arduino-language-server
Astrojs | astrojs-language-server | astrojs-language-serverAUR
Autotools | autotools | autotools-language-serverAUR
AWK | awk-language-server | awk-language-serverAUR
Bash | bashls | bash-language-server
Bicep | bicep | bicep-langserver-binAUR
C3 | c3-lsp | c3-lspAUR
C# | omnisharp-roslyn | omnisharp-roslynAUR
C, C++, Objective-C | ccls, clangd | ccls, clang
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-serverAUR, nodejs-compose-language-serviceAUR
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, typos-lsp | diagnostic-languageserverAUR, efm-langserverAUR, typos-lsp
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
Java | java_language_server, jdtls | java-language-serverAUR, jdtlsAUR
JavaScript | denols | deno
JSON | jsonls | vscode-json-languageserver
Julia | julials |
Just | just-lsp | just-lsp
Kotlin | kotlin_language_server | kotlin-language-serverAUR
Lean | lean3ls | lean-language-serverAUR
Lua | lua_ls | lua-language-server
Markdown | marksman | marksman
Meson | muon analyze lsp | muon-mesonAUR
Mojo | mojo-lsp-server | mojo-gitAUR
Nim | nimls | nimlspAUR
nix | nil, nixd | nil-gitAUR, nixdAUR
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
PowerShell | powershell_es | powershell-editor-servicesAUR
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
Rome | biome | biome
Ruby | solargraph, sorbet | ruby-solargraphAUR, ruby-sorbet-runtime
Rust | rust_analyzer | rust-analyzer
Scala | metals | metalsAUR
SQL | sqlls | sqlsAUR, sql-language-serverAUR
Standard ML | Millet | milletAUR
Svelte | svelte | svelte-language-server
Swift | sourcekit | swift-languageAUR
SystemVerilog | svls | svlsAUR
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
YAML | yamlls | yaml-language-server
Zig | zls | zls

## 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