emacs.d

My emacs configuration, done in a literate programming fashion using org-mode

git clone git://git.shimmy1996.com/emacs.d.git
commit fec79cb5610d8a1bb7c69c33f1fcb9aeb6d19b68
parent f1798fe6ad47bf217394538a0f6aa068e3a783bc
Author: Shimmy Xu <shimmy.xu@shimmy1996.com>
Date:   Sun, 31 Mar 2019 11:10:01 -0400

Add lsp-mode and other integrations.

Diffstat:
MREADME.org | 29+++++++++++++++++++++++++++++
1 file changed, 29 insertions(+), 0 deletions(-)
diff --git a/README.org b/README.org
@@ -582,6 +582,15 @@ Auto complete for =go=. This relies on =gocode= to be installed using =go get=. 
                        'company-go))
 #+END_SRC
 
+**** =company-lsp=
+Company completion via =company-lsp=.
+#+BEGIN_SRC emacs-lisp
+  (use-package company-lsp
+    :ensure t
+    :init
+    (add-to-list 'company-backends 'company-lsp))
+#+END_SRC
+
 **** =company-yasnippet=
 Add =company-yasnippet= backend for =yasnippet= key completion. Run this last to ensure coverage.
 #+BEGIN_SRC emacs-lisp
@@ -833,6 +842,26 @@ Use ESS (Emacs Speaks Statistics) for R and Julia support.
     (setq tab-always-indent 'complete))
 #+END_SRC
 
+** Lsp-mode
+Use Language Server Protocol (LSP) for code completion, jump to definition, etc. By default uses =clang=
+
+*** Installation
+#+BEGIN_SRC emacs-lisp
+  (use-package lsp-mode
+    :ensure t
+    :init
+    (add-hook 'prog-mode-hook #'lsp))
+#+END_SRC
+
+*** Flycheck Integration
+Flycheck integration via =lsp-ui=.
+#+BEGIN_SRC emacs-lisp
+  (use-package lsp-ui
+    :ensure t
+    :init
+    (add-hook 'lsp-mode-hook 'lsp-ui-mode))
+#+END_SRC
+
 ** Go-mode
 Remember to set =$GOPATH= environment variable and add =$GOPATH/bin= to =$PATH=.