lsp-experiment:

- call lsp-clangd-enable + flycheck-mode to have IDE like stuff
This commit is contained in:
laurensmiers 2018-11-13 23:32:06 +01:00 committed by Laurens Miers
parent 5f067d2b68
commit 6e2fb64ec8

View file

@ -869,6 +869,43 @@ On-the-fly syntax checking.
(add-hook 'prog-mode-hook 'company-mode) (add-hook 'prog-mode-hook 'company-mode)
#+END_SRC #+END_SRC
** LSP
#+BEGIN_SRC emacs-lisp
(use-package company-lsp
:ensure t
:config
(require 'company-lsp)
(push 'company-lsp company-backends)
(add-hook 'after-init-hook 'global-company-mode)
)
(use-package lsp-mode
:ensure t
:config
(add-hook 'prog-mode-hook lsp-mode)
)
(use-package lsp-ui
:ensure t
:config
(require 'lsp-mode)
(add-hook 'lsp-mode-hook 'lsp-ui-mode)
)
(use-package lsp-clangd
:ensure t
:config
(add-hook 'c-mode-hook #'lsp-clangd-c-enable)
(lsp-define-stdio-client lsp-clangd-c
"c"
#'projectile-project-root
'("/usr/bin/clangd"))
(add-hook 'c-mode-hook 'lsp-clangd-c-enable)
)
#+END_SRC
** (Relative) Line numbers ** (Relative) Line numbers
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@ -896,12 +933,12 @@ https://github.com/Sarcasm/flycheck-irony
(require 'flycheck-clang-analyzer) (require 'flycheck-clang-analyzer)
(flycheck-clang-analyzer-setup))) (flycheck-clang-analyzer-setup)))
(use-package flycheck-irony ;; (use-package flycheck-irony
:ensure t ;; :ensure t
:config ;; :config
(eval-after-load 'flycheck ;; (eval-after-load 'flycheck
'(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)) ;; '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup))
) ;; )
#+END_SRC #+END_SRC
*** Company *** Company
@ -912,21 +949,21 @@ https://github.com/ikirill/irony-eldoc
(use-package company-c-headers (use-package company-c-headers
:ensure t) :ensure t)
(use-package company-irony ;; (use-package company-irony
:ensure t ;; :ensure t
:config ;; :config
(setq company-backends '((company-c-headers ;; (setq company-backends '((company-c-headers
;; company-dabbrev-code ;; not sure what this is ;; ;; company-dabbrev-code ;; not sure what this is
company-irony)))) ;; company-irony))))
(use-package irony ;; (use-package irony
:ensure t ;; :ensure t
:config ;; :config
(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options) ;; (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
(add-hook 'c++-mode-hook 'irony-mode) ;; (add-hook 'c++-mode-hook 'irony-mode)
(add-hook 'c-mode-hook 'irony-mode) ;; (add-hook 'c-mode-hook 'irony-mode)
(add-hook 'objc-mode-hook 'irony-mode) ;; (add-hook 'objc-mode-hook 'irony-mode)
) ;; )
(use-package irony-eldoc (use-package irony-eldoc
:ensure t :ensure t
@ -1257,6 +1294,7 @@ https://github.com/Malabarba/paradox
:config :config
(paradox-enable) (paradox-enable)
) )
#+END_SRC #+END_SRC
* EXWM * EXWM