8616f07b86
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
48 lines
2.2 KiB
EmacsLisp
48 lines
2.2 KiB
EmacsLisp
;;; packages.el --- Language Server Protocol functions File for Spacemacs
|
|
;;
|
|
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
|
|
;;
|
|
;; Author: Fangrui Song <i@maskray.me>
|
|
;; URL: https://github.com/syl20bnr/spacemacs
|
|
;;
|
|
;; This file is not part of GNU Emacs.
|
|
;;
|
|
;;; License: GPLv3
|
|
|
|
(defun spacemacs//lsp-sync-peek-face ()
|
|
"Synchronize the face used in `lsp-ui' peek window according to the theme."
|
|
(set-face-attribute 'lsp-ui-peek-list nil
|
|
:background (face-attribute 'hl-line :background nil t))
|
|
(set-face-attribute 'lsp-ui-peek-peek nil
|
|
:background (face-attribute 'hl-line :background nil t))
|
|
(set-face-attribute 'lsp-ui-peek-selection nil
|
|
:background (face-attribute 'highlight :background nil t)
|
|
:foreground (face-attribute 'default :foreground nil t))
|
|
(set-face-attribute 'lsp-ui-peek-filename nil
|
|
:foreground (face-attribute 'font-lock-constant-face
|
|
:foreground nil t))
|
|
(set-face-attribute 'lsp-ui-peek-highlight nil
|
|
:background (face-attribute 'highlight :background nil t)
|
|
:foreground (face-attribute 'highlight :foreground nil t)
|
|
:distant-foreground (face-attribute 'highlight
|
|
:foreground nil t))
|
|
(set-face-attribute 'lsp-ui-peek-header nil
|
|
:background (face-attribute 'highlight :background nil t)
|
|
:foreground (face-attribute 'default :foreground nil t))
|
|
)
|
|
|
|
(defun spacemacs//setup-lsp-jump-handler (&rest modes)
|
|
"Set jump handler for LSP with the given MODE."
|
|
(dolist (m modes)
|
|
(add-to-list (intern (format "spacemacs-jump-handlers-%S" m))
|
|
'(lsp-ui-peek-find-definitions))))
|
|
|
|
(defun fix-lsp-company-prefix ()
|
|
"fix lsp-javascript company prefix
|
|
https://github.com/emacs-lsp/lsp-javascript/issues/9#issuecomment-379515379"
|
|
(interactive)
|
|
(defun lsp-prefix-company-transformer (candidates)
|
|
(let ((completion-ignore-case t))
|
|
(all-completions (company-grab-symbol) candidates)))
|
|
(make-local-variable 'company-transformers)
|
|
(add-to-list 'company-transformers 'lsp-prefix-company-transformer))
|