-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclojure.init.el
More file actions
55 lines (42 loc) · 1.61 KB
/
Copy pathclojure.init.el
File metadata and controls
55 lines (42 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
;; add clojure packages
(defvar my-packages '(better-defaults
clojure-mode
cider
projectile
company
smartparens
rainbow-delimiters
aggressive-indent
which-key))
(dolist (p my-packages) (unless (package-installed-p p) (package-install p)))
;; which-key
(require 'which-key)
(which-key-mode)
;; projectile keybinding
(require 'projectile)
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
(projectile-mode +1)
;; use Shift-arrow keys to move between windows
(windmove-default-keybindings)
;; smooth keyboard scrolling
(setq scroll-step 1)
(setq column-number-mode t)
;; set font
(set-frame-font "Inconsolata-16")
;; clojure editing tweaks
(add-hook 'clojure-mode-hook #'smartparens-strict-mode)
(define-key smartparens-mode-map (kbd "M-(") 'sp-wrap-round)
(define-key smartparens-mode-map (kbd "M-[") 'sp-wrap-square)
(define-key smartparens-mode-map (kbd "M-{") 'sp-wrap-curly)
(define-key smartparens-mode-map (kbd "M-<delete>") 'sp-unwrap-sexp)
(define-key smartparens-mode-map (kbd "M-<backspace>") 'sp-backward-unwrap-sexp)
(add-hook 'clojure-mode-hook #'rainbow-delimiters-mode)
(add-hook 'clojure-mode-hook #'aggressive-indent-mode)
;; auto-complete
(add-hook 'cider-repl-mode-hook #'company-mode)
(add-hook 'cider-mode-hook #'company-mode)
;; don't display repl
(setq cider-repl-pop-to-buffer-on-connect nil)