treydavis / lsp-mode

Emacs client for the Language Server Protocol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

emacs-lsp

Join the chat at https://gitter.im/emacs-lsp/lsp-mode

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>")
(with-eval-after-load 'lsp-mode
    (require 'lsp-flycheck))
(require 'lsp-mode)
(add-hook 'prog-major-mode #'lsp-mode)

to your .emacs, where prog-major-mode is the hook variable for a supported programming language major mode.

Clients

Support for programming languages is provided by the following packages:

Adding support for languages

See API docs

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

Symbol Highlighting

sym_highlight

Flycheck

flycheck

About

Emacs client for the Language Server Protocol

License:GNU General Public License v3.0


Languages

Language:Emacs Lisp 100.0%