(require 'package)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

(require 'ido)
(require 'ac-nrepl)

(require 'paredit)

(require 'eldoc)
(require 'auto-complete-config)

(eldoc-add-command
 'paredit-backward-delete
 'paredit-close-round)

(add-hook 'clojure-mode-hook 
	  '(lambda ()
             (paredit-mode 1)))

(show-paren-mode 1)
(ido-mode t)

(custom-set-variables
 '(inhibit-startup-screen t))
(custom-set-faces)
(global-font-lock-mode 1)

(add-hook 'nrepl-mode-hook 'ac-nrepl-setup)
(add-hook 'nrepl-interaction-mode-hook 'ac-nrepl-setup)
(eval-after-load "auto-complete"
  '(add-to-list 'ac-modes 'nrepl-mode))

(defun set-auto-complete-as-completion-at-point-function ()
  (setq completion-at-point-functions '(auto-complete)))
(add-hook 'auto-complete-mode-hook 'set-auto-complete-as-completion-at-point-function)

(add-hook 'nrepl-mode-hook 'set-auto-complete-as-completion-at-point-function)
(add-hook 'nrepl-interaction-mode-hook 'set-auto-complete-as-completion-at-point-function)

(ac-config-default)
(define-key ac-mode-map (kbd "C-x C-a") 'auto-complete)

(define-key nrepl-interaction-mode-map (kbd "C-c C-d") 'ac-nrepl-popup-doc)

(add-hook 'text-mode-hook
          '(lambda ()
             (setq indent-tabs-mode nil)
             (setq tab-width 2)
             (setq indent-line-function (quote insert-tab))))

(global-set-key "\C-c\C-d" "\C-a\C- \C-n\M-w\C-y") ; duplicate line
(global-set-key (kbd "C-x C-;") 'comment-or-uncomment-region)

(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))