Jump to content

Language Server Protocol

From ArchWiki
Revision as of 12:24, 16 June 2025 by Lahwaacz (talk | contribs) (Undo revision 837224 by Matthewq337 (talk) - the note does not apply to e.g. Python where different LSPs provide different features and may complement each other; also the second style flag was not addressed at all)

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 row, it is not clear if users should install all of them to get LSP for given language, or choose one of the alternatives. (Discuss in Talk:Language Server Protocol)

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Reason: "Language" should be the first column because it defines the ordering. (Discuss in Talk:Language Server Protocol)
LSP config for Neovim Language LSP server package
als Ada/SPARK ada_language_serverAUR
angularls Angular
autotools Autotools autotools-language-serverAUR
bashls BASH bash-language-server
ccls, sourcekit, clangd C, C++, Objective-C ccls, swift-languageAUR, clang
clojure_lsp Clojure clojure-lsp-binAUR
cmake, neocmakelsp CMake cmake-language-serverAUR, neocmakelspAUR
codeqlls CodeQL codeqlAUR
cssls CSS, LESS, SASS vscode-css-languageserver
crystalline Crystal crystallineAUR
dartls Dart dart
dhall_lsp_server Dhall dhall-lsp-server
dockerls Dockerfile dockerfile-language-serverAUR
elixirls Elixir elixir-lsAUR
elmls Elm elm-language-serverAUR
erlangls Erlang erlang_ls-gitAUR
flow Flow flowAUR
fortls Fortran fortlsAUR, fortran-language-serverAUR
fsautocomplete, fsharp-language-server F# fsharp-language-serverAUR
gdscript GDScript godot
diagnosticls, efm General purpose diagnostic-languageserverAUR, efm-langserverAUR
gopls GOlang gopls
graphql GraphQL graphql-lspAUR
groovyls Groovy groovy-language-server-gitAUR
ghcide, hls Haskell ghcideAUR, haskell-language-server
haxe_language_server Haxe
html HTML vscode-html-languageserver
denols JavaScript deno
java_language_server, jdtls Java java-language-serverAUR, jdtlsAUR
jsonls JSON vscode-json-languageserver
julials Julia
kotlin_language_server Kotlin kotlin-language-serverAUR
lean3ls Lean lean-language-serverAUR
lua_ls Lua lua-language-server
marksman Markdown marksman
nimls Nim nimlspAUR
nil nix nil-gitAUR
ocamllsp OCaml, Reason ocaml-lsp-gitAUR
omnisharp OmniSharp omnisharp-roslynAUR
perlls Perl perl-perl-languageserverAUR
phpactor, intelephense PHP phpactorAUR, nodejs-intelephenseAUR
powershell_es PowerShell powershell-editor-servicesAUR
purescriptls PureScript purescript-language-serverAUR
pylsp, basedpyright, pyright, jedi_language_server, ruff Python python-lsp-server, pyright, basedpyrightAUR, jedi-language-server, ruff
r_language_server R r-languageserverAUR
racket_langserver Racket
rescriptls ReScript rescript-lsAUR
biome Rome biome
rust_analyzer Rust rust-analyzer
solargraph, sorbet Ruby ruby-solargraphAUR, ruby-sorbet-runtime
metals Scala metalsAUR
sqlls, sqls SQL sqlsAUR, sql-language-serverAUR
stylelint_lsp CSS stylelint-lspAUR
svelte Svelte svelte-language-server
svls SystemVerilog svlsAUR
terraformls Terraform terraform-lsAUR
texlab (La)TeX texlab
tflint Terraform tflint
tsserver, denols TypeScript typescript-language-server, deno
vala_ls Vala vala-language-serverAUR
vimls Vim vim-language-serverAUR
v-analyzer V v-analyzer-binAUR
volar Vue vue-language-server
yamlls YAML yaml-language-server
zls Zig zls

See also