Emacs config utilizing prelude as a base
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
2.0 KiB

  1. ;;; prelude-lsp.el --- lsp-mode setup
  2. ;;
  3. ;; Copyright © 2011-2022 Bozhidar Batsov
  4. ;;
  5. ;; Author: Bozhidar Batsov, Ben Alex
  6. ;; URL: https://github.com/bbatsov/prelude
  7. ;; This file is not part of GNU Emacs.
  8. ;;; Commentary:
  9. ;; lsp-mode config.
  10. ;;; License:
  11. ;; This program is free software; you can redistribute it and/or
  12. ;; modify it under the terms of the GNU General Public License
  13. ;; as published by the Free Software Foundation; either version 3
  14. ;; of the License, or (at your option) any later version.
  15. ;;
  16. ;; This program is distributed in the hope that it will be useful,
  17. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. ;; GNU General Public License for more details.
  20. ;;
  21. ;; You should have received a copy of the GNU General Public License
  22. ;; along with GNU Emacs; see the file COPYING. If not, write to the
  23. ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  24. ;; Boston, MA 02110-1301, USA.
  25. ;;; Code:
  26. (prelude-require-packages '(lsp-mode
  27. lsp-ui))
  28. (require 'lsp-ui)
  29. (require 'lsp-ui-imenu)
  30. (define-key lsp-ui-mode-map [remap xref-find-definitions] #'lsp-ui-peek-find-definitions)
  31. (define-key lsp-ui-mode-map [remap xref-find-references] #'lsp-ui-peek-find-references)
  32. (define-key lsp-ui-mode-map (kbd "C-c C-l .") 'lsp-ui-peek-find-definitions)
  33. (define-key lsp-ui-mode-map (kbd "C-c C-l ?") 'lsp-ui-peek-find-references)
  34. (define-key lsp-ui-mode-map (kbd "C-c C-l r") 'lsp-rename)
  35. (define-key lsp-ui-mode-map (kbd "C-c C-l x") 'lsp-workspace-restart)
  36. (define-key lsp-ui-mode-map (kbd "C-c C-l w") 'lsp-ui-peek-find-workspace-symbol)
  37. (define-key lsp-ui-mode-map (kbd "C-c C-l i") 'lsp-ui-peek-find-implementation)
  38. (define-key lsp-ui-mode-map (kbd "C-c C-l d") 'lsp-describe-thing-at-point)
  39. (define-key lsp-ui-mode-map (kbd "C-c C-l e") 'lsp-execute-code-action)
  40. (setq lsp-ui-sideline-enable t)
  41. (setq lsp-ui-doc-enable t)
  42. (setq lsp-ui-peek-enable t)
  43. (setq lsp-ui-peek-always-show t)
  44. (provide 'prelude-lsp)
  45. ;;; prelude-lsp.el ends here