committed by
Bozhidar Batsov
3 changed files with 83 additions and 8 deletions
@ -0,0 +1,63 @@ |
|||||
|
;;; prelude-lsp.el --- lsp-mode setup |
||||
|
;; |
||||
|
;; Copyright © 2011-2018 Bozhidar Batsov |
||||
|
;; |
||||
|
;; Author: Bozhidar Batsov, Ben Alex |
||||
|
;; URL: https://github.com/bbatsov/prelude |
||||
|
;; Version: 1.0.0 |
||||
|
;; Keywords: convenience |
||||
|
|
||||
|
;; This file is not part of GNU Emacs. |
||||
|
|
||||
|
;;; Commentary: |
||||
|
|
||||
|
;; lsp-mode config. |
||||
|
|
||||
|
;;; License: |
||||
|
|
||||
|
;; This program is free software; you can redistribute it and/or |
||||
|
;; modify it under the terms of the GNU General Public License |
||||
|
;; as published by the Free Software Foundation; either version 3 |
||||
|
;; of the License, or (at your option) any later version. |
||||
|
;; |
||||
|
;; This program is distributed in the hope that it will be useful, |
||||
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
;; GNU General Public License for more details. |
||||
|
;; |
||||
|
;; You should have received a copy of the GNU General Public License |
||||
|
;; along with GNU Emacs; see the file COPYING. If not, write to the |
||||
|
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
||||
|
;; Boston, MA 02110-1301, USA. |
||||
|
|
||||
|
;;; Code: |
||||
|
|
||||
|
(prelude-require-packages '(company-lsp |
||||
|
lsp-mode |
||||
|
lsp-ui)) |
||||
|
|
||||
|
(require 'lsp-ui) |
||||
|
(require 'company-lsp) |
||||
|
(require 'lsp-imenu) |
||||
|
|
||||
|
(push 'company-lsp company-backends) |
||||
|
(add-hook 'lsp-mode-hook 'lsp-ui-mode) |
||||
|
(add-hook 'lsp-after-open-hook 'lsp-enable-imenu) |
||||
|
|
||||
|
(define-key lsp-ui-mode-map [remap xref-find-definitions] #'lsp-ui-peek-find-definitions) |
||||
|
(define-key lsp-ui-mode-map [remap xref-find-references] #'lsp-ui-peek-find-references) |
||||
|
(define-key lsp-ui-mode-map (kbd "C-c C-l .") 'lsp-ui-peek-find-definitions) |
||||
|
(define-key lsp-ui-mode-map (kbd "C-c C-l ?") 'lsp-ui-peek-find-references) |
||||
|
(define-key lsp-ui-mode-map (kbd "C-c C-l r") 'lsp-rename) |
||||
|
(define-key lsp-ui-mode-map (kbd "C-c C-l x") 'lsp-restart-workspace) |
||||
|
(define-key lsp-ui-mode-map (kbd "C-c C-l w") 'lsp-ui-peek-find-workspace-symbol) |
||||
|
(define-key lsp-ui-mode-map (kbd "C-c C-l i") 'lsp-ui-peek-find-implementation) |
||||
|
(define-key lsp-ui-mode-map (kbd "C-c C-l d") 'lsp-describe-thing-at-point) |
||||
|
|
||||
|
(setq lsp-ui-sideline-enable t) |
||||
|
(setq lsp-ui-doc-enable t) |
||||
|
(setq lsp-ui-peek-enable t) |
||||
|
(setq lsp-ui-peek-always-show t) |
||||
|
|
||||
|
(provide 'prelude-lsp) |
||||
|
;;; prelude-lsp.el ends here |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue