spacemacs/layers/+tools/lsp
Ting Zhou 8616f07b86 Add: use rjsx-mode for react framework
Fix: add yas-activate-extra-mode
Add: add lsp support for react layer
Add: Add rjsx-mode key-bindings doc
Clean: rename spacemacs//set-lsp-key-bindings to spacemacs//setup-lsp-jump-handler
Fix: remove buggy hooks
Clean: move fix-lsp-company-prefix to lsp layer
Fix: rjsx-mode company
Fix: rjsx-mode lsp backend
2018-05-18 01:25:29 -04:00
..
funcs.el Add: use rjsx-mode for react framework 2018-05-18 01:25:29 -04:00
packages.el Revert "Defer packages by default using use-package-always-defer" 2018-03-03 23:40:10 -05:00
README.org lsp: respect 80 chars per line in README.org 2018-02-18 22:49:13 -05:00

LSP layer

Description

This layer adds support for basic language server protocol packages speaking language server protocol.

Features:

  • Cross references (definitions, references, document symbol, workspace symbol search and others)
  • Workspace-wide symbol rename
  • Symbol highlighting
  • Flycheck
  • Completion with company-lsp
  • Signature help with eldoc
  • Symbol documentation in a child frame (lsp-ui-doc)

Each language server may support the language server protocol in varying degree and they may also provide extensions, check the language server's website for details. M-x lsp-capabilities in a LSP buffer to list capabilities of the server.

Configuration

The LSP ecosystem is based on two packages: lsp-mode and lsp-ui. Please check out their documentation.

If you add lsp-*-enable to major mode hooks for auto initialization of language clients, customize lsp-project-whitelist lsp-project-blacklist to disable projects you don't want to enable LSP.

If some features doe not work as intended, here is a common check list.

  • M-x lsp-capabilities If the LSP workspace is initialized correctly
  • M-: xref-backend-functions should be (lsp--xref-backend) for cross references
  • M-: completion-at-point-functions should be (lsp-completion-at-point) for completion