A Emacs Lisp library for implementing clients for servers using Microsoft's Language Server Protocol.
The library is designed to integrate with existing Emacs IDE frameworks (completion-at-point, xref (beginning with Emacs 25.1), flycheck, etc).
This package is still under development, and is not recommended for daily use.
Clone this repository to a suitable path, and add
(add-to-list 'load-path "<path to emacs-lsp>")
(require 'lsp-mode)
(global-lsp-mode t)
to your .emacs.
The library currently defines clients for Rust Language Server
and Sourcegraph's Go Language Server.
For now, the only supported transport is stdio (see lsp-mode.el
on how to add your
own clients), support for TCP and sockets is planned.
Completion is provided with the native completion-at-point
(C-M-i),
and should therefore work with any other completion backend.
Hover support is provided with eldoc
, which should be enabled automatically.
Use M - . (xref-find-definition
)
to find the definition for the symbol under point.
Use M - ? (xref-find-references
)
to find the references to the symbol under point.