                   indent-tabs-mode nil                      ; no tabs
                   evil-shift-width 2                        ; need this since no tabs
                   lisp-body-indent 2)))                     ; indent elisp by 2
-
-;; setup spell check, prefer hunspell
-(cond
- ;; try hunspell at first
- ;; if hunspell does NOT exist, use aspell
- ((executable-find "hunspell")
-  (setq ispell-program-name "hunspell")
-  (setq ispell-local-dictionary "en_US")
-  (setq ispell-local-dictionary-alist
-        ;; Please note the list `("-d" "en_US")` contains ACTUAL parameters passed to hunspell
-        ;; You could use `("-d" "en_US,en_US-med")` to check with multiple dictionaries
-        '(("en_US" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-d" "en_US") nil utf-8)
-          )))
-
- ((executable-find "aspell")
-  (setq ispell-program-name "aspell")
-  ;; Please note ispell-extra-args contains ACTUAL parameters passed to aspell
-  (setq ispell-extra-args '("--sug-mode=ultra" "--lang=en_US"))))
 
 (use-package dash-functional)
 

  ("<f4> n" . deft))

(use-package company
  :init
  (progn
    (setq company-minimum-prefix-length 1)
    (add-hook 'after-init-hook 'global-company-mode))
  :config
  (progn
    ;(use-package helm-company :defer 3)
    (use-package company-irony
      :config
      (progn
        (add-to-list 'company-backends 'company-irony))))
  :diminish company-mode)

;; N.B. to use, need to run irony-install-server, which requires libclang-dev
(use-package irony
  :init
  (progn
    (add-hook 'c++-mode-hook 'irony-mode)

          smooth-scroll-strict-margins t)))

(use-package whitespace
  :commands whitespace-mode
  :init
  (progn
    (setq whitespace-line-column 80                      ; highlight columns past 80
