   :ensure t
   :mode "\\.clj\\'")
 
+(use-package cider
+  :ensure t)
+
+(use-package markdown-mode
+  :ensure t
+  :mode (("\\.markdown\\'" . gfm-mode) ("\\.md\\'" . gfm-mode)))
+
+(use-package markdown-preview-mode
+  :ensure t)
+
 (use-package company
   :ensure t
   :diminish (company-mode . " ⓐ")
   :config
-  (global-company-mode))
+  (progn
+    (global-company-mode)
+    (setq company-backends
+          '(company-bbdb company-nxml company-css company-eclim company-semantic company-clang company-xcode company-cmake company-capf company-files
+              (company-dabbrev-code company-gtags company-keywords)
+              company-oddmuse company-dabbrev))))
 
 (use-package magit
   :ensure t
   :bind
   (("C-x g" . magit-status)))
 
+(use-package ghub
+  :ensure t)
+
+(use-package magithub
+  :ensure t
+  :after magit
+  :config
+  (progn
+    (setq magithub-github-hosts (list "github.com" "github.dev.pages"))
+    ;; (setq ghub-default-host my-ghub-base-url)
+    (magithub-feature-autoinject t)
+    (require 'magithub-issue-view)))
+
 (use-package ace-window
   :ensure t
   :bind*

  (global-highlight-parentheses-mode)
  (set-face-attribute 'hl-paren-face nil :weight 'ultra-bold))

;(use-package volatile-highlights
;  :ensure t
;  :config
;  (volatile-highlights-mode t))

(use-package spacemacs-theme
  :ensure t
  :defer t
  :init
  (load-theme 'spacemacs-dark t))

(use-package whitespace
  :diminish ""

(use-package yaml-mode
  :ensure t
  :mode "\\.yml\\'")

(use-package js2-mode
  :ensure t
  :mode "\\.js\\'"
  :config
  (setq js2-basic-offset 2))

(use-package json-mode
  :ensure t
  :mode "\\.json\\'"
  :config
  (setq js-indent-level 2))

(use-package web-mode
  :ensure t
  :mode "\\.html\\'"
  :config
  (setq web-mode-enable-css-colorization t
        web-mode-code-indent-offset 2
        web-mode-markup-indent-offset 2))

(use-package expand-region
  :ensure t
  :bind
  ("C-=" . er/expand-region))

(use-package exec-path-from-shell
  :ensure t
  :init
  (exec-path-from-shell-initialize))

(use-package zop-to-char
  :ensure t
  :bind*
  (("M-z" . zop-up-to-char)
   ("M-Z" . zop-to-char)))

(use-package beacon
  :ensure t
  :diminish ""
  :config
  (beacon-mode 1))

(use-package undo-tree
  :ensure t
  :diminish ""
  :config
  (global-undo-tree-mode))

(use-package browse-kill-ring
  :ensure t
  :config
  (browse-kill-ring-default-keybindings))

(use-package easy-kill
  :ensure t
  :bind*
  (("M-w" . easy-kill)
   ("M-W" . easy-mark)))

(use-package ggtags
  :ensure t
  :bind*
  (("M-." . ggtags-find-tag-dwim)))

(use-package org
  ;; :ensure org-plus-contrib
  :pin "org"
  :bind*
  (("C-c l" . org-store-link)
   ("C-c a" . org-agenda)
   ("C-c c" . org-capture)
   ("C-c b" . org-iswitchb))
  :config
  (setq org-log-done t)
  (setq org-directory "~/.org")
  (setq org-default-notes-file (concat org-directory "/notes.org")))

(use-package org-bullets
  :ensure t
  :init (add-hook 'org-mode-hook 'org-bullets-mode))

;; Font size
(global-set-key (kbd "C-+") 'text-scale-increase)
(global-set-key (kbd "C--") 'text-scale-decrease)

(use-package groovy-mode
  :ensure t
  :mode "\\.groovy\\'"
  :config
  (setq groovy-indent-offset 2))

(use-package auctex
  :defer t
  :ensure t
  :init
  (progn
    (setq TeX-auto-save t)
    (setq TeX-parse-self t)
    (setq-default TeX-master nil)))

(use-package prettier-js
  :ensure t)

(use-package feature-mode
  :ensure t
  :mode "\\.feature\\'")

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(ansi-color-names-vector
   ["#0a0814" "#f2241f" "#67b11d" "#b1951d" "#4f97d7" "#a31db1" "#28def0" "#b2b2b2"])
 '(custom-safe-themes
   (quote
    ("bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" default)))
 '(package-selected-packages
   (quote
    (markdown-preview-mode magithub org-plus-contrib org-bullets browse-kill-ring exec-path-from-shell zoom-window winum markdown-mode window-numbering spaceline-all-the-icons volatile-highlights zop-to-char expand-region web-mode yasnippet-snippets yaml-mode which-key use-package spacemacs-theme spaceline smartparens slim-mode scss-mode ruby-tools move-text magit json-mode js2-mode highlight-parentheses flycheck discover-my-major diff-hl crux counsel-projectile company coffee-mode clojure-mode ace-window))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)
