Home

Awesome


title: LSP Mode - Language Server Protocol support for Emacs description: Language Server Protocol support with multiples languages support for Emacs root_file: README.md

CI

<img src="examples/logo.png" width="240" align="right">

Language Server Protocol Support for Emacs

LSP mode

<hr> <p align="center"> <a href="https://emacs-lsp.github.io/lsp-mode"><strong>homepage</strong></a> • <a href="https://emacs-lsp.github.io/lsp-mode/page/installation"><strong>installation</strong></a> • <a href="https://emacs-lsp.github.io/lsp-mode/page/languages"><strong>languages</strong></a> • <a href="https://emacs-lsp.github.io/lsp-mode/page/settings/mode/"><strong>settings</strong></a> • <a href="https://emacs-lsp.github.io/lsp-mode/tutorials/CPP-guide/"><strong>tutorials</strong></a> • <a href="https://emacs-lsp.github.io/lsp-mode/page/troubleshooting"><strong>troubleshooting</strong></a> • <a href="https://emacs-lsp.github.io/lsp-mode/page/gallery"><strong>screenshots</strong></a> • <a href="https://emacs-lsp.github.io/lsp-mode/page/faq"><strong>FAQ</strong></a> </p> <hr>

Why?

Overview

Client for Language Server Protocol (v3.14). lsp-mode aims to provide IDE-like experience by providing optional integration with the most popular Emacs packages like company, flycheck and projectile.

Presentations/demos

See also

Contributions

Contributions are very much welcome!

NOTE Documentation for clients is generated from doc comments in the clients themselves (see lsp-doc.el) and some metadata (see lsp-clients.json) so please submit corrections accordingly.

Support the project

The emacs-lsp organization has more than 20,000 lines of code, to keep all of this working, we need to implement new features and help the community on a lot of issues.

You can help us keep going and improving it by supporting the project

<a href="https://opencollective.com/emacs-lsp"><img src="https://opencollective.com/emacs-lsp/tiers/backer.svg" /></a>

Members

Here it is a list of the current lsp-mode members and what they are primary working on/responsible for.

<table id="emacs-lsp-members"> <tr> <td align="center"> <div> <a href="https://github.com/totbwf"> <img src="https://github.com/totbwf.png" width="100px;" style="border-radius: 50%;" alt="totbwf"/> <br/> <sub><b>totbwf</b></sub> </a> <br/> F# </div> </td> <td align="center"> <div> <a href="https://github.com/brotzeit"> <img src="https://github.com/brotzeit.png" width="100px;" style="border-radius: 50%;" alt="brotzeit"/> <br/> <sub><b>brotzeit</b></sub> </a> <br/> Rust </div> </td> <td align="center"> <div> <a href="https://github.com/dsyzling"> <img src="https://github.com/dsyzling.png" width="100px;" style="border-radius: 50%;" alt="dsyzling"/> <br/> <sub><b>dsyzling</b></sub> </a> <br/> Scala </div> </td> <td align="center"> <div> <a href="https://github.com/kurnevsky"> <img src="https://github.com/kurnevsky.png" width="100px;" style="border-radius: 50%;" alt="kurnevsky"/> <br/> <sub><b>kurnevsky</b></sub> </a> <br/> Scala | Rust </div> </td> <td align="center"> <div> <a href="https://github.com/seagle0128"> <img src="https://github.com/seagle0128.png" width="100px;" style="border-radius: 50%;" alt="seagle0128"/> <br/> <sub><b>seagle0128</b></sub> </a> <br/> Go | Python MS </div> </td> </tr> <tr> <td align="center"> <div> <a href="https://github.com/sebastiansturm"> <img src="https://github.com/sebastiansturm.png" width="100px;" style="border-radius: 50%;" alt="sebastiansturm"/> <br/> <sub><b>sebastiansturm</b></sub> </a> <br/> lsp-mode core | C++ </div> </td> <td align="center"> <div> <a href="https://github.com/vibhavp"> <img src="https://github.com/vibhavp.png" width="100px;" style="border-radius: 50%;" alt="vibhavp"/> <br/> <sub><b>vibhavp</b></sub> </a> <br/> lsp-mode core </div> </td> <td align="center"> <div> <a href="https://github.com/yyoncho"> <img src="https://github.com/yyoncho.png" width="100px;" style="border-radius: 50%;" alt="yyoncho"/> <br/> <sub><b>yyoncho</b></sub> </a> <br/> lsp-mode core | Java </div> </td> <td align="center"> <div> <a href="https://github.com/ericdallo"> <img src="https://github.com/ericdallo.png" width="100px;" style="border-radius: 50%;" alt="ericdallo"/> <br/> <sub><b>ericdallo</b></sub> </a> <br/> Dart/Flutter | Clojure </div> </td> <td align="center"> <div> <a href="https://github.com/danielmartin"> <img src="https://github.com/danielmartin.png" width="100px;" style="border-radius: 50%;" alt="danielmartin"/> <br/> <sub><b>danielmartin</b></sub> </a> <br/> C++ | Swift </div> </td> </tr> <tr> <td align="center"> <div> <a href="https://github.com/kiennq"> <img src="https://github.com/kiennq.png" width="100px;" style="border-radius: 50%;" alt="kiennq"/> <br/> <sub><b>kiennq</b></sub> </a> <br/> completions | pwsh </div> </td> <td align="center"> <div> <a href="https://github.com/nbfalcon"> <img src="https://github.com/nbfalcon.png" width="100px;" style="border-radius: 50%;" alt="nbfalcon"/> <br/> <sub><b>nbfalcon</b></sub> </a> <br/> lsp-mode core | iedit </div> </td> <td align="center"> <div> <a href="https://github.com/psibi"> <img src="https://github.com/psibi.png" width="100px;" style="border-radius: 50%;" alt="psibi"/> <br/> <sub><b>psibi</b></sub> </a> <br/> Terraform | Nix </div> </td> <td align="center"> <div> <a href="https://github.com/razzmatazz"> <img src="https://github.com/razzmatazz.png" width="100px;" style="border-radius: 50%;" alt="razzmatazz"/> <br/> <sub><b>razzmatazz</b></sub> </a> <br/> C# | F# </div> </td> <td align="center"> <div> <a href="https://github.com/jcs090218"> <img src="https://github.com/jcs090218.png" width="100px;" style="border-radius: 50%;" alt="jcs090218"/> <br/> <sub><b>jcs090218</b></sub> </a> <br/> lsp-mode core </div> </td> </tr> </table>