Commit b394810b2aeb

Vincent Demeester <vincent@sbr.pm>
2018-05-04 16:41:33
Update lsp-mode/lsp-ui configurations…
… and disable it on go-mode for now.. It works well on rust… Next step is to try it out with the other languages I'm using/gonna use :). Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent 305d005
lisp/vde-company.el
@@ -38,18 +38,30 @@
   (add-to-list 'company-backends 'company-emoji))
 
 (use-package lsp-mode
-    :init
-    (add-hook 'prog-mode-hook 'lsp-mode)
-    :config
-    (use-package lsp-flycheck
-        :ensure f ; comes with lsp-mode
-        :after flycheck))
+  :config
+  (with-eval-after-load "flycheck"
+    (require 'lsp-flycheck)
+    (add-to-list 'flycheck-checkers 'lsp)))
 
-;; `company' backend for `lsp-mode'
-(use-package company-lsp
-  :after company lsp-mode
-  :init
-  (push 'company-lsp company-backends))
+(with-eval-after-load "company"
+  (use-package company-lsp
+    :after lsp-mode
+    :config
+    (push 'company-lsp company-backends)))
+
+(with-eval-after-load "projectile"
+  (defun my-set-projectile-root ()
+    (when lsp--cur-workspace
+      (setq projectile-project-root (lsp--workspace-root lsp--cur-workspace))))
+  (add-hook 'lsp-before-open-hook #'my-set-projectile-root))
+
+(use-package lsp-ui
+  :after lsp-mode
+  :hook ((lsp-mode . lsp-ui-mode) 
+         (lsp-ui-mode . lsp-ui-peek-mode))
+  :config
+  (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))
 
 (provide 'vde-company)
 
lisp/vde-go.el
@@ -70,9 +70,10 @@ _f_: freevars      ^ ^               _s_: callstack    _e_: whicherrs"
 	      (set (make-local-variable 'company-backends) '(company-go))
 	      (company-mode))))
 
-(use-package lsp-go
-  :defer 2
-  :after lsp-mode)
+;; (use-package lsp-go
+;;   :defer 2
+;;   :after lsp-mode
+;;   :hook ((go-mode . lsp-go-enable)))
 
 (provide 'vde-go)
 
lisp/vde-rust.el
@@ -5,7 +5,9 @@
 
 (use-package lsp-rust
   :defer 2
-  :after lsp-mode)
+  :after lsp-mode
+  :hook ((rust-mode . lsp-rust-enable)
+         (rust-mode . flycheck-mode)))
 
 (provide 'vde-rust)