diff options
| author | benj <benj@rse8.com> | 2018-12-23 23:59:20 -0800 |
|---|---|---|
| committer | benj <benj@rse8.com> | 2018-12-23 23:59:20 -0800 |
| commit | 969df3eb75d9785364333957fa0311d991d82144 (patch) | |
| tree | 27e4701c5a721f5ae147cbd1e379d0a038f64ed0 | |
| parent | bc1e86d1c863a3846ec4fea02be213ddb3622b2f (diff) | |
| download | emacs-969df3eb75d9785364333957fa0311d991d82144.tar emacs-969df3eb75d9785364333957fa0311d991d82144.tar.gz emacs-969df3eb75d9785364333957fa0311d991d82144.tar.bz2 emacs-969df3eb75d9785364333957fa0311d991d82144.tar.lz emacs-969df3eb75d9785364333957fa0311d991d82144.tar.xz emacs-969df3eb75d9785364333957fa0311d991d82144.tar.zst emacs-969df3eb75d9785364333957fa0311d991d82144.zip | |
basic lsp setup for c/c++ with company-lsp
| -rw-r--r-- | init.el | 14 | ||||
| -rw-r--r-- | settings/setup-company-mode.el | 2 | ||||
| -rw-r--r-- | settings/setup-lisp-mode.el | 1 | ||||
| -rw-r--r-- | settings/setup-lsp-mode.el | 13 |
4 files changed, 26 insertions, 4 deletions
@@ -24,11 +24,14 @@ ;;; Code: ;; Suppress splash screen +;; Are we on a mac? +(setq is-mac (equal system-type 'darwin)) + ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. -(package-initialize) +;;(package-initialize) (setq inhibit-startup-message t) @@ -42,9 +45,6 @@ `(("." . ,(expand-file-name (concat user-emacs-directory "backups"))))) -;; Are we on a mac? -(setq is-mac (equal system-type 'darwin)) - (defun init-install-packages() (packages-install '(ace-window @@ -52,10 +52,12 @@ company company-c-headers company-glsl + company-lsp clojure-mode clojure-mode-extra-font-locking clojure-snippets cmake-mode + cquery dash dockerfile-mode elm-mode @@ -63,6 +65,7 @@ ensime flx-ido flycheck + flycheck-clangcheck flycheck-clojure flycheck-haskell flycheck-pos-tip @@ -70,6 +73,8 @@ highlight-escape-sequences ido-vertical-mode json + lsp-mode + lsp-ui magit markdown-mode modern-cpp-font-lock @@ -129,6 +134,7 @@ (require 'setup-ido) (require 'setup-keychain-environment) (require 'setup-lisp-mode) +(require 'setup-lsp-mode) (require 'setup-magit) (require 'setup-markdown-mode) (require 'setup-multiple-cursors) diff --git a/settings/setup-company-mode.el b/settings/setup-company-mode.el index 311496c..61ee053 100644 --- a/settings/setup-company-mode.el +++ b/settings/setup-company-mode.el @@ -6,6 +6,7 @@ ;;; Code: (require 'company) +(require 'company-lsp) ;; When working with a larger project, until a parser is written ;; for compile_commands.json DB, you can add the headers to @@ -15,6 +16,7 @@ (setq company-idle-delay 0.1) (setq company-clang-executable "/usr/bin/clang++") +(push 'company-lsp company-backends) (add-hook 'after-init-hook 'global-company-mode) (provide 'setup-company-mode) diff --git a/settings/setup-lisp-mode.el b/settings/setup-lisp-mode.el index c014d17..6f8cdcb 100644 --- a/settings/setup-lisp-mode.el +++ b/settings/setup-lisp-mode.el @@ -25,6 +25,7 @@ ;;; Code: (add-hook 'lisp-mode-hook 'enable-paredit-mode) +(add-hook 'emacs-lisp-mode-hook 'enable-paredit-mode) (slime-mode) diff --git a/settings/setup-lsp-mode.el b/settings/setup-lsp-mode.el new file mode 100644 index 0000000..d6f1189 --- /dev/null +++ b/settings/setup-lsp-mode.el @@ -0,0 +1,13 @@ +;;; setup-lsp-mode.el --- lsp setup -*- lexical-binding: t; -*- +(require 'lsp-mode) +(require 'cquery) + +(setq cquery-executable "/usr/local/bin/cquery") + +(add-hook 'c-mode-hook #'lsp) +(add-hook 'c++-mode-hook #'lsp) + +(add-hook 'lsp-after-open-hook 'lsp-ui-mode) + +(provide 'setup-lsp-mode) +;;; setup-lsp-mode.el ends here |
