Skip to content

sebastiencs/lsp-mode

Repository files navigation

emacs-lsp

Build Status MELPA

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.

Installation

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.

Clients

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.

Examples

completion

Completion is provided with the native completion-at-point (C-M-i), and should therefore work with any other completion backend.

completion

eldoc (Help on hover)

Hover support is provided with eldoc, which should be enabled automatically.

eldoc

Goto definition

Use M - . (xref-find-definition) to find the definition for the symbol under point.

gotodef

Symbol references

Use M - ? (xref-find-references) to find the references to the symbol under point.

ref

About

Emacs client for the Language Server Protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Emacs Lisp 99.9%
  • Makefile 0.1%