Movatterモバイル変換


[0]ホーム

URL:


Langserver.org
A community-driven source of knowledge for Language Server Protocol implementations


Langserver.org is a community-driven site, maintained bySourcegraph, to track development progress of LSP-compatible language servers and clients.

What is LSP?

The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, go to definition, find all references and alike into the tool

official Language Server Protocol specification

The LSP was created by Microsoft to define a common language for programming language analyzers to speak. Today, several companies have come together to support its growth, including Codenvy, Red Hat, and Sourcegraph, and the protocol is becoming supported by a rapidly growing list of editor and language communities. See below for details on and links to current client and server implementations.


Why LSP?

LSP creates the opportunity to reduce them-times-n complexity problem of providing a high level of support for any programming language in any editor, IDE, or client endpoint to a simplerm-plus-n problem.

For example, instead of the traditional practice of building a Python plugin for VSCode, a Python plugin for Sublime Text, a Python plugin for Vim, a Python plugin for Sourcegraph, and so on, for every language, LSP allows language communities to concentrate their efforts on a single, high performing language server that can provide code completion, hover tooltips, jump-to-definition, find-references, and more, while editor and client communities can concentrate on building a single, high performing, intuitive and idiomatic extension that can communicate withany language server to instantly provide deep language support.


The problem: "The Matrix"

GoJavaTypeScript...
Emacs
Vim
VSCode
...

The solution: lang servers and clients

Go
Java
TypeScript
...
Emacs
Vim
VSCode
...

Current implementations

LSP is growing - fast. Seetables below for the latest on adoption.

Microsoft currently maintains aparallel list of language server implementations in the core LSP repository. This site is designed to operate alongside Microsoft's list by providing more information about the capabilities of language servers and LSP clients, informing users which features to expect when they download and install a new language server and/or client, and communicating to open-source contributors where help is needed.


Qualifications:

To be included on this list, language servers and clients must:

  1. Be fully open source
  2. Be editor-agnostic for language servers or language-agnostic for clients
  3. Implement at least one of the key methods listed below

Key

Implemented
WIP
Not implemented
Not applicable

Language servers

LanguageMaintainer      RepositoryCode completionHoverJump to defWorkspace symbolsFind referencesDiagnosticsAdditional capabilities
ActionScript3Josh Tynjalagithub.com/BowlerHatLLC/vscode-nextgenas/tree/master/language-server
AdaAdaCoregithub.com/AdaCore/ada_language_server
ANTLRKen Dominogithub.com/kaby76/AntlrVSIXSemantic highlighting, rename, reformat, refactoring, ANTLR 2/3/4, Bison, W3C EBNF
Apache CamelCamel Toolinggithub.com/camel-tooling/camel-language-server
Ballerinaballerina.iogithub.com/ballerina-platform/ballerina-lang/tree/master/language-server
BashMads Hartmanngithub.com/bash-lsp/bash-language-server
BibTeXAndrew Pilschhttps://github.com/oncomouse/citation-langserver
C#OmniSharpgithub.com/OmniSharp/csharp-language-server-protocol
  • Runs tests
  • Quick fixes
  • Debug profiles
C#CXuesonggithub.com/CXuesong/LanguageServer.NET
C#Saulius Menkevičiusgithub.com/razzmatazz/csharp-language-server
  • suppport for go-to-definition in metadata (on imported dlls)
C / C++LLVM Teamclang-tools-extra/trunk/clangd
C / C++Jacob Dufaultgithub.com/cquery-project/cquery
C / C++MaskRaygithub.com/MaskRay/ccls
Clojuresnoegithub.com/snoe/clojure-lsp
Common Workflow Language (CWL)Seven Bridges/RabixRabix/Benten
  • Outline view
  • Javascript expression test evaluation
  • Preview of workflow graph
  • Preview of linked files
CoqCoq LSP Teamcoq-lsp
  • Outline view
  • Extensions: info panel request, file progress notification, performance report
Cucumber (Gherkin)Cucumber core teamcucumber/language-server
  • Autocomplete steps
  • Go to step definition
  • Generate step definition from snippets
  • Syntax highlighting (semantic tokens)
  • Diagnostics for undefined steps
  • Formatting
  • Outline view
IBM Enterprise COBOL for z/OSIBMmarketplace.visualstudio.com/items?itemName=IBM.zopeneditor
  • Outline view
  • Previewing of included copybooks on hover
  • Navigate to copybooks
  • Code template snippets
  • Refactoring such as "rename symbol"
  • Variable completion
IBM Enterprise COBOL for z/OSBroadcomgithub.com/eclipse/che-che4z-lsp-for-cobol
  • Automatic copybook resolution
  • Previewing of included copybooks on hover
  • COBOL Control Flow integration
  • Outline view
  • Code snippets support
  • Support for DB2, CICS and IDMS statements in Cobol
  • Subroutines support
CSS/LESS/SASSMicrosoftgithub.com/Microsoft/vscode/tree/main/extensions/css
CSS/LESS/SASSDeltaEvogithub.com/vscode-langservers/vscode-css-languageserver-bin
DWebFreak001github.com/Pure-D/serve-d
DartDart Teamgithub.com/dart-lang/sdk
DelphiEmbarcaderoProprietary (DelphiLSP)
  • No arbitrary code execution2
  • Multi-process architecture
DenoDeno Teamgithub.com/denoland/deno/tree/master/cli/lsp
DockerfileRemy Suengithub.com/rcjsuen/dockerfile-language-server-nodejs
DreamMakerSpaceManiacgithub.com/SpaceManiac/SpacemanDMM/tree/master/crates/dm-langserver
  • No arbitrary code execution2
ErgShunsuke Shibayama and contributorsgithub.com/erg-lang/erg/tree/main/crates/els
ErlangErlang/OTPandVlad Dumitrescugithub.com/erlang/sourcer
ErlangRoberto Aloi,Juan Facorro andother contributorsgithub.com/erlang-ls/erlang_ls
ElixirElixir LSPgithub.com/elixir-lsp/elixir-ls
ElmElm Toolinggithub.com/elm-tooling/elm-language-server
  • SymbolDescriptor extension4
F#Ionidegithub.com/fsharp/FsAutoComplete/
FennelXeroOlgit.sr.ht/~xerool/fennel-ls
  • No arbitrary code execution2
fluent-bitSeonghyeon Chogithub.com/sh-cho/fluent-bit-lsp
FluxInfluxDatagithub.com/influxdata/flux-lsp
FortranChris Hansengithub.com/hansec/fortran-language-server
FuzionTokiwa Software GmbHgithub.com/tokiwa-software/fuzion-lsp-serverRenaming, Outline, Signature Help
GaugeGaugegithub.com/getgauge/gauge
GleamLouis Pilfoldgithub.com/gleam-lang/gleam
GLSLSven-Hendrik Haasegithub.com/svenstaro/glsl-language-server
GoArchivedSourcegraphgithub.com/sourcegraph/go-langserver
  • No arbitrary code execution2
GoGo Teamgithub.com/golang/tools/tree/master/gopls
GrainGrain Teamgithub.com/grain-lang/grainCode formatting
GraphQLGraphQL Foundationgithub.com/graphql/graphiql
GroovyProminicgithub.com/prominic/groovy-language-server
GroovyPalantirgithub.com/palantir/groovy-language-server
GroovyVsCode Groovy Lintgithub.com/nvuillam/vscode-groovy-lint/tree/master/serverCode Formatting
Code refactoring (auto-fix errors)
HackHHVM Teamgithub.com/facebook/hhvm
HaskellHaskellhttps://github.com/haskell/haskell-language-server
HaxeHaxe Foundationgithub.com/vshaxe/haxe-language-server
Helm (Kubernetes)qvalentingithub.com/mrjosh/helm-ls
IBM High Level AssemblerBroadcomgithub.com/eclipse/che-che4z-lsp-for-hlasm
IBM High Level AssemblerIBMmarketplace.visualstudio.com/items?itemName=IBM.zopeneditor
  • Outline view
  • Previewing of copybooks on hover
  • Navigate to copybooks
HTMLMicrosoftgithub.com/Microsoft/vscode/tree/main/extensions/html
Imandra Protocol LanguageAesthetic Integrationhttps://github.com/AestheticIntegration/ipl-vscode
JavaEclipse Foundation,Red Hat,Microsoftgithub.com/eclipse/eclipse.jdt.ls
Javageorgewfrasergithub.com/georgewfraser/vscode-javac
JavaApache NetBeansmarketplace.visualstudio.com/items?itemName=ASF.apache-netbeans-java
  • Gradle, Maven, and mx support
  • Polyglot and Native Image debugging
  • OpenJDK sources support + jtreg
JavaScriptTypefoxgithub.com/theia-ide/typescript-language-server
JavaScriptquick-lint-jsgithub.com/quick-lint/quick-lint-js
JavaScript (Flow)Flowtypegithub.com/flowtype/flow-for-vscode
JSONMicrosoftgithub.com/microsoft/vscode/tree/main/extensions/json-language-features/server
JSON SchemaMicrosoftgithub.com/microsoft/vscode/tree/main/extensions/json-language-features/server
JSON-LDArthur Vercruyssegithub.com/ajuvercr/jsonld-lsp
JsonnetGrafana Labsgithub.com/grafana/jsonnet-language-server
JS/TS + PHP + Python + JavaSonarSourcegithub.com/SonarSource/sonarlint-language-server
JuliaDavid Anthoffgithub.com/JuliaEditorSupport/LanguageServer.jl
Kotlinfwcdgithub.com/fwcd/KotlinLanguageServer
LangiumTypeFoxgithub.com/langium/langiumTool for implementing a language server in any language
LanguageToolJulian Valentingithub.com/valentjn/ltex-lsChecking spelling and grammar in markup languages such as LaTeX, Markdown, XHTML, …
LaTeXEric Förstergithub.com/efoerster/texlab
LuaAlloyedgithub.com/Alloyed/lua-lsp
Luatangzxgithub.com/EmmyLua/EmmyLua-LanguageServer
LuaLuaLSgithub.com/LuaLS/lua-language-server
MarkdownArtem Pianykhgithub.com/artempyanykh/marksman
  • Support for wiki-links
  • Table of Contents generation
  • Single-file mode
MOCADanny Glassgithub.com/mrglassdanny/moca-language-serverFormatting, Semantic Highlighting, Signature Help, MOCA Client Capabilities
NextflowSeqeragithub.com/nextflow-io/language-serverFormatting, rename, semantic highlighting, visualization of code as workflow diagrams
OdinDaniel Gavinhttps://github.com/DanielGavin/ols
OCamlOCamlgithub.com/ocaml/ocaml-lsp
NimPMunchgithub.com/PMunch/nimlsp
openVALIDATIONopenVALIDATIONgithub.com/openvalidation/ov-language-server
PerlGerald Richtergithub.com/richterger/Perl-LanguageServer
  • Installable via CPAN - https://metacpan.org/pod/Perl::LanguageServer
  • Implements Debug Adaptor Protocol
PerlBrian Scannellgithub.com/bscan/PerlNavigator
  • No external dependencies
PerlMarc Reisnergithub.com/FractalBoy/perl-language-server
PHPFelix Beckergithub.com/felixfbecker/php-language-server
  • No arbitrary code execution2
PHPDan Leechgithub.com/phpactor/phpactor
  • No arbitrary code execution2
  • Code Action
  • Document Highlight
  • Goto Implementation
  • Document Symbol
  • Has custom extensions
PHPTom Gerritsgitlab.com/Serenata/Serenata
  • No arbitrary code execution2
  • Has custom extensions
PHPHvy Industriesgithub.com/HvyIndustries/crane/blob/master/server
PHPMatt Browngithub.com/vimeo/psalm
  • No arbitrary code execution2
IBM Enterprise PL/I for z/OSIBMmarketplace.visualstudio.com/items?itemName=IBM.zopeneditor
  • Outline view
  • Previewing of include files on hover
  • Navigate to include files
  • Refactoring such as "rename symbol"
  • Variable completion
Polyglot
(Java, JavaScript, Python, R, Ruby, …)
GraalVMmarketplace.visualstudio.com/items?itemName=oracle-labs-graalvm.graalvm
  • Supports polyglot programming
  • Based on dynamic run-time data
  • Supports delegation to other language servers
PowerShellMicrosoftgithub.com/PowerShell/PowerShellEditorServices
PuppetLingua Pupuligithub.com/lingua-pupuli/puppet-editor-services
PureScriptNicholas Wolversongithub.com/nwolverson/purescript-language-server
PythonMicrosoftgithub.com/microsoft/pyright
PythonArchivedMicrosoftgithub.com/Microsoft/python-language-server
PythonArchivedSourcegraphhttps://github.com/sourcegraph/python-langserver
  • Automatic dependency management1
  • No arbitrary code execution2
Pythonpython-lspgithub.com/python-lsp/python-lsp-server
PythonSamuel Roecagithub.com/pappasam/jedi-language-server
Q#ArchivedMicrosoftgithub.com/microsoft/qsharp-compiler
RREditorSupportgithub.com/REditorSupport/languageserverCode Formatting
RacketConor Finegangithub.com/jeapostrophe/racket-langserver
RakuBrian Scannellgithub.com/bscan/RakuNavigator
Redbitbegingithub.com/bitbegin/redlangserver
reStructuredTextswyddfagithub.com/swyddfa/esbonio
RegoStyragithub.com/StyraInc/regalGoto Definition Request, Code Actions, Folding Range, Formatting, Inlay Hints
RellChromaWaygitlab.com/chromaway/core-tools/rell-toolbox/Goto Definition, Code Actions, Code Formatting, Signature Help, Rename, Semantic highlighting, Outline view
Robot FrameworkRobocorpgithub.com/robocorp/robotframework-lspCode Formatting
RubyFred Snydergithub.com/castwide/solargraph
RubyShopifygithub.com/Shopify/ruby-lsp
RustArchivedNick Cameron and the Rust communitygithub.com/rust-lang/rls
  • Automatic dependency management1
RustAleksey Kladov and contributorsgithub.com/rust-analyzer/rust-analyzer
  • Automatic dependency management1
ScalaIulian Dragosgithub.com/dragos/dragos-vscode-scala
ScalaScalametagithub.com/scalameta/metals
  • Automatic dependency management1
  • Tree View Protocol5
  • Decoration Protocol6
SPARQLIoannis Nezisgithub.com/IoannisNezis/Qlue-ls
SPARQLStardog Uniongithub.com/stardog-union/stardog-language-servers/tree/master/packages/sparql-language-server
  • No arbitrary code execution2
Smalltalk/PharoBenoît Verhaeghegithub.com/badetitou/Pharo-LanguageServerCode Formatting, Signature Help
SnykSnykhttps://github.com/snyk/snyk-lsAutomatic download of Snyk CLI with custom notification of path to binary, diagnostic workspace scans over all workspace folders on startup. Supports Snyk Code, Snyk IaC and Snyk Open Source. Authentication to Snyk is supported and token returned via custom notification.
Standard MLAriel DavisMilletCode formatting
Swift & C-familyApple Incgithub.com/apple/sourcekit-lsp
SystemtapRed HatSystemtap LSP
SystemVerilogdalancegithub.com/dalance/svls
TerraformJulio Tain Sueirasgithub.com/juliosueiras/terraform-lsp
  • Dynamic completion from provider binary
TerraformHashicorpgithub.com/hashicorp/terraform-ls
TTCN-3Nokiagithub.com/nokia/ntt
  • Automatic dependency management1
TurtleStardog Uniongithub.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server
  • No arbitrary code execution2
TypeScriptTypeFoxgithub.com/theia-ide/typescript-language-server
Vvlanghttps://github.com/vlang/v-analyzer
Valavala-langhttps://github.com/vala-lang/vala-language-server
Veryldalancegithub.com/dalance/veryl/tree/master/crates/languageserverFormatting, Semantic highlighting
VimScriptiamccogithub.com/iamcco/vim-language-server
WikitextBhsdgithub.com/bhsd-harry/vscode-extension-wikiparser
  • Color decorator
  • Document link
  • Rename
  • Folding
  • Outline view
  • Signature help
  • Inlay hint
XMLIBMgithub.com/microclimate-devops/xml-language-server
XMLRed Hat andAngelo ZERRgithub.com/angelozerr/lsp4xmlXML Schema validation/completion, Foldings, Rename element, Formatting, Document Link, Extensible to add custom completion, hover, etc
YAMLRed Hatgithub.com/redhat-developer/yaml-language-server
YANGTypeFoxgithub.com/yang-tools/yang-lsp
Xtext (Any Language)TypeFoxgithub.com/eclipse/xtext-core

Work in Progress
CrystalArchivedRyan L. Bell andcontributorsgithub.com/crystal-lang-tools/scry
PlantUMLPatrick Deweygithub.com/ptdewey/plantuml-lsp
reStructuredTextArchivedLex Ligithub.com/lextm/restructuredtext-antlr
RubyFumiaki MATSUSHIMAgithub.com/mtsmfm/language_server-ruby
TypeCobolTypeCobol TeamTypeCobol Language Server
WebAssemblyArchivedDarin Morrisongithub.com/wasm-lsp/wasm-language-server
Zigzigtools andcontributorsgithub.com/zigtools/zls
Notes:
Automatic dependency management
Language servers that support this feature are able to resolve / install a project's 3rd-party dependencies without the need for a user to manually intervene.
No arbitrary code execution
Language servers that support this featuredon't execute arbitrary code (some language servers do this when running build scripts, analyzing the project, etc.).
Tree View Protocol
Language servers that support this feature are able to render tree views.See this link for more information.
Decoration Protocol
Language servers that support this feature are able to provide text to be displayed as "non-editable" text in the text editor.See this link for more information.


LSP clients

Editor/clientMaintainer      RepositoryCode completionHoverJump to defFind referencesSymbol searchDiagnostics
AcmeFazlul Shahriarhttps://github.com/fhs/acme-lsp
BBEditBare Bones Software, Inc.Proprietary
C++BuilderEmbarcaderoProprietary
DelphiEmbarcaderoProprietary
Eclipse LSP4EEclipsegithub.com/eclipse/lsp4e/
Eclipse CheEclipse,Codenvygithub.com/eclipse/che/
ecodeMartín Lucas Golinigithub.com/SpartanJ/ecode
EmacsVibhav Pantgithub.com/emacs-lsp/lsp-mode
EmacsJoão Távoragithub.com/joaotavora/eglot
EmacsAndy Stewartgithub.com/manateelazycat/lsp-bridge
GeanyJiří Techetgithub.com/techee/geany-lsp
GNATStudioAdaCorehttps://github.com/AdaCore/gps
HelixBlaž Hrastnikhttps://github.com/helix-editor/helix
IntelliJ / JetBrains IDEsBallerina-Lang Teamgithub.com/ballerina-platform/lsp4intellij
IntelliJ / JetBrains IDEsGuillaume Tâchegithub.com/gtache/intellij-lsp
KakouneRuslan Prokopchukgithub.com/ul/kak-lsp
KateKate Teaminvent.kde.org/kde/kate
Moonshine IDEProminicgithub.com/prominic/Moonshine-IDE
OniOnigithub.com/onivim/oni
Qt CreatorQt Projectcode.qt.io/cgit/qt-creator
VSCodeMicrosoftgithub.com/microsoft/VSCode
multilspyMicrosoftgithub.com/microsoft/monitors4codegen
vimYegappan Lakshmanangithub.com/yegappan/lsp
NeovimNeovim Teamgithub.com/neovim/neovim
vim/neovimNate Boschgithub.com/natebosch/vim-lsc
vim/neovimPrabir Shresthagithub.com/prabirshrestha/vim-lsp
vim/neovimJunfeng Ligithub.com/autozimu/LanguageClient-neovim
vim/neovimw0rpgithub.com/w0rp/ale
vim/neovimQiming zhaogithub.com/neoclide/coc.nvim
Sublime TextTom van Ommerengithub.com/sublimelsp/LSP
MS Monaco EditorTypeFoxgithub.com/TypeFox/monaco-languageclient

Work in progress
AtomGitHubgithub.com/atom-community/atom-languageclient
CodeMirrorWylie Conlongithub.com/wylieconlon/lsp-editor-adapter
CodeMirror 6Mahmud Ridwangithub.com/FurqanSoftware/codemirror-languageserver
EmacsCorey Richardsongithub.com/sourcegraph/emacs-lsp
SublimeSourcegraphgithub.com/sourcegraph/sublime-lsp
TheiaTheia IDEgithub.com/theia-ide/theia
Spyder IDESpyder IDE Dev Teamgithub.com/spyder-ide/spyder
YcmdYcmd teamgithub.com/Valloric/ycmd
BracketsAdobegithub.com/adobe/brackets
JupyterLabMichał Krassowskikrassowski/jupyterlab-lsp
RapunzelSebastiaan Mathôtopensesame-extension-language_server

Community Discussion Forums


Contact us

Langserver.org is maintained bySourcegraph.

To suggest additions or to update the status of a project, please file issues or submit PRs on this project atgithub.com/langserver/langserver.github.io



Icons fromGlyphicons Free, licensed underCC BY 3.0.


[8]ページ先頭

©2009-2025 Movatter.jp