

GitHub - emacs-lsp/lsp-mode: Emacs client for the Language Server Protocol
source link: https://github.com/emacs-lsp/lsp-mode
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

title | description | root_file |
---|---|---|
LSP Mode - Language Server Protocol support for Emacs |
Language Server Protocol support with multiples languages support for Emacs |
README.md |
Language Server Protocol Support for Emacs
homepage • installation • languages • settings • tutorials • troubleshooting • screenshots • FAQ
Community Driven
Fully featured - supports all features in Language Server Protocol v3.14.
Fast - see performance section.
Flexible - choose between full-blown IDE with flashy UI or minimal distraction free.
Easy to configure - works out of the box and automatically upgrades if additional packages are present.
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
.
- Non-blocking asynchronous calls
- Real-time Diagnostics/linting via
flycheck (recommended) or
flymake
when Emacs > 26 (requires flymake>=1.0.5) - Code completion -
company-capf
/completion-at-point
(note that company-lsp is no longer supported). - Hovers - using lsp-ui
- Code actions - via
lsp-execute-code-action
, modeline (recommended) or lsp-ui sideline. - Code outline - using builtin
imenu
or
helm-imenu
- Code navigation - using builtin xref, lsp-treemacs tree views or lsp-ui peek functions.
- Code lens
- Symbol highlights
- Formatting
- Project errors on modeline
- Debugger - dap-mode
- Breadcrumb on headerline
- Helm integration - helm-lsp
- Ivy integration - lsp-ivy
- Consult integration - consult-lsp
- Treemacs integration - lsp-treemacs
- Semantic tokens as defined by LSP 3.16 (compatible language servers include recent development builds of clangd and rust-analyzer)
- which-key integration for better discovery
- iedit
- dired
- ido
Presentations/demos
See also
- lsp-docker - provide docker image with preconfigured language servers with corresponding emacs configuration.
- company-box -
company
frontend with icons. - dap-mode - Debugger
integration for
lsp-mode
. - eglot - An alternative minimal LSP implementation.
- which-key - Emacs package that displays available keybindings in popup
- projectile - Project Interaction Library for Emacs
- emacs-tree-sitter - Faster, fine-grained code highlighting via tree-sitter.
- gccemacs - modified Emacs capable of compiling and running Emacs Lisp as native code.
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
Members
Here it is a list of the current lsp-mode
members and what they are
primary working on/responsible for.
Scala
|
Scala | Rust
|
Go | Python MS
|
||
lsp-mode core | C++
|
lsp-mode core
|
lsp-mode core | Java
|
Dart/Flutter | Clojure
|
C++ | Swift
|
completions | pwsh
|
lsp-mode core | iedit
|
</article
Recommend
-
275
gopls (pronounced: "go please") is an implementation of the Language Server Protocol (LSP) server for Go. The LSP allows any text editor to be extended with IDE-like features (see
-
35
-
14
java-version.com: What's new in Java 16? 15? Keep up to date! Give to your client a dedicated J2EE server in ASP mode
-
13
Language Server Protocol and .NET894 views•Nov 13, 2020 OmniSharp powers the C# exper...
-
9
解读 MySQL Client/Server Protocol: Connection & ReplicationMySQL 客户端与服务器之间的通信基于特定的 TCP 协议,本文将会详解其中的 Connection 和 Replication 部分,这两个部分分别对应的是客户端与服务器建立连接、完成认证鉴权,以及客户...
-
21
emacs-ccls emacs-ccls is a client for ccls, a C/C++/Objective-C language server supporting multi-million line C++ code-bases, powered by libclang. It leverages
-
7
Language Server Protocol Written by Mattt May 7th, 2020 (
-
10
Bastian DoetschSeptember 6, 2022Snyk provides plugins or extensions for Visual Studio Code, Jetbrains IDEs like IntelliJ, WebStorm, PHPStorm, GoLand, and Visual Studio. But have you ever wanted to integrate Snyk in your daily...
-
6
Client does not support authentication protocol requested by server; consider upgrading MySQL client 1409 views 1 year ago MySql
-
15
homeblogdocs
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK