lsp-mode is a Language Server Protocol client and IDE feature set for Emacs. It functions as a semantic code analysis tool and JSON-RPC communication layer that connects the editor to external language servers to provide intelligent code completion and real-time diagnostics.
The project also serves as a Debug Adapter Protocol client, enabling interactive debugging sessions and breakpoint management. This allows for stepping through code and inspecting variables via a standardized protocol, including support for debugging within Docker containers.
The system covers a broad range of development capabilities, including project-wide code navigation, automated refactoring, and real-time linting. It provides visual aids such as breadcrumbs, symbol trees, and semantic highlighting, while offering automated code formatting and the ability to install and verify language server binaries.