130 (ibuffer-switch-to-saved-filter-groups "default"))) |
130 (ibuffer-switch-to-saved-filter-groups "default"))) |
131 |
131 |
132 |
132 |
133 ;;;; Requires and Packages ;;;; |
133 ;;;; Requires and Packages ;;;; |
134 |
134 |
135 ;;; custom inits |
135 ;;; packages |
|
136 (package-initialize) |
|
137 (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) |
|
138 (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t) |
|
139 |
|
140 ;; install packages |
|
141 (let ((ensure-installed |
|
142 (lambda (name) |
|
143 (unless (package-installed-p name) (package-install name)))) |
|
144 (packages '(ac-js2 auto-complete expand-region |
|
145 flymake-haskell-multi ghc ghci-completion haskell-mode |
|
146 iy-go-to-char js2-mode multiple-cursors rainbow-delimiters |
|
147 rainbow-mode skewer-mode solarized-theme yasnippet |
|
148 zencoding-mode))) |
|
149 (mapc ensure-installed packages)) |
|
150 |
|
151 ;;; requires |
136 (require 'c-init) ; c specific elisp |
152 (require 'c-init) ; c specific elisp |
137 (require 'align-with-spaces) ; use only spaces for alignment |
153 (require 'align-with-spaces) ; use only spaces for alignment |
138 (require 'move-line) ; move line up or down |
154 (require 'move-line) ; move line up or down |
139 (require 'uniquify) ; unique buffer names with dirs |
155 (require 'uniquify) ; unique buffer names with dirs |
|
156 (require 'auto-complete-config) |
|
157 (require 'iy-go-to-char) |
|
158 |
|
159 ;;; auto-config-mode |
|
160 (ac-config-default) |
140 |
161 |
141 ;;; uniquify |
162 ;;; uniquify |
142 (setq |
163 (setq |
143 uniquify-buffer-name-style 'post-forward |
164 uniquify-buffer-name-style 'post-forward |
144 uniquify-separator ":") |
165 uniquify-separator ":") |
145 |
166 |
146 ;;; packages |
|
147 (package-initialize) |
|
148 (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) |
|
149 (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t) |
|
150 |
|
151 ;; install |
|
152 (let ((ensure-installed |
|
153 (lambda (name) |
|
154 (unless (package-installed-p name) (package-install name)))) |
|
155 (packages |
|
156 '(flymake-haskell-multi ghc ghci-completion haskell-mode js2-mode |
|
157 rainbow-delimiters rainbow-mode scion solarized-theme |
|
158 yasnippet zencoding-mode))) |
|
159 (mapc ensure-installed packages)) |
|
160 |
|
161 ;;; color-theme |
167 ;;; color-theme |
162 (setq-default |
168 (setq-default |
163 custom-safe-themes |
169 custom-safe-themes |
164 '("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" |
170 '("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" |
165 "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" default)) |
171 "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" default)) |
168 ;;; yasnippets |
174 ;;; yasnippets |
169 (setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets |
175 (setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt)) ; use ido for multiple snippets |
170 (setq-default yas-snippet-dirs '("~/.emacs.d/snippets")) |
176 (setq-default yas-snippet-dirs '("~/.emacs.d/snippets")) |
171 (yas-global-mode t) |
177 (yas-global-mode t) |
172 |
178 |
173 ;;; java-mode |
|
174 (add-hook 'java-mode-hook (lambda () (setq whitespace-line-column 140))) |
|
175 |
|
176 ;;; js2-mode |
179 ;;; js2-mode |
177 (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) |
180 (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) |
|
181 (add-hook 'js2-mode-hook 'ac-js2-mode) |
178 (setq-default ac-js2-evaluate-calls t) |
182 (setq-default ac-js2-evaluate-calls t) |
179 |
183 |
180 ;;; zencoding-mode - html |
184 ;;; html-mode |
181 (add-hook 'sgml-mode-hook 'zencoding-mode) ; Auto-start on any markup modes |
|
182 (add-to-list 'auto-mode-alist '("\\.tpl\\'" . html-mode)) |
185 (add-to-list 'auto-mode-alist '("\\.tpl\\'" . html-mode)) |
|
186 (add-hook |
|
187 'html-mode-hook |
|
188 (lambda () |
|
189 (local-set-key (kbd "C-c t") 'mc/mark-sgml-tag-pair) |
|
190 (zencoding-mode) |
|
191 (rainbow-mode))) |
|
192 |
|
193 ;;; css-mode |
|
194 (add-hook 'css-mode-hook 'rainbow-mode) |
183 |
195 |
184 ;;; coding-modes map |
196 ;;; coding-modes map |
185 (mapc |
197 (mapc |
186 (lambda (x) |
198 (lambda (x) (add-hook x |
187 (add-hook x 'linum-mode) |
199 (lambda () |
188 (add-hook x 'rainbow-delimiters-mode)) |
200 (linum-mode) |
|
201 (rainbow-delimiters-mode) |
|
202 (auto-complete-mode)) |
|
203 t)) |
189 '(text-mode-hook |
204 '(text-mode-hook |
190 c-mode-common-hook |
205 c-mode-common-hook |
191 python-mode-hook |
206 python-mode-hook |
192 haskell-mode-hook |
207 haskell-mode-hook |
|
208 js2-mode-hook |
|
209 html-mode-hook |
|
210 css-mode-hook |
193 clojure-mode-hook |
211 clojure-mode-hook |
194 emacs-lisp-mode-hook)) |
212 emacs-lisp-mode-hook)) |
195 |
213 |
196 ;;; haskell-mode |
214 ;;; haskell-mode |
197 (add-hook |
215 (add-hook |
198 'haskell-mode-hook |
216 'haskell-mode-hook |
199 (lambda () |
217 (lambda () |
200 ;; (ghc-init) ;; this breaks stuff |
|
201 (local-set-key (kbd "C-c i") 'haskell-navigate-imports) ; go to imports. prefix to return |
218 (local-set-key (kbd "C-c i") 'haskell-navigate-imports) ; go to imports. prefix to return |
202 (flymake-haskell-multi-load) |
219 (flymake-haskell-multi-load) |
203 (flymake-mode) |
220 (flymake-mode) |
204 (capitalized-words-mode) |
221 (capitalized-words-mode) |
205 (turn-on-haskell-indent) |
222 (turn-on-haskell-indent) |
207 (turn-on-haskell-decl-scan) |
224 (turn-on-haskell-decl-scan) |
208 (imenu-add-menubar-index) |
225 (imenu-add-menubar-index) |
209 (setq |
226 (setq |
210 haskell-font-lock-haddock t |
227 haskell-font-lock-haddock t |
211 haskell-stylish-on-save t |
228 haskell-stylish-on-save t |
212 ;; haskell-tags-on-save t |
|
213 haskell-program-name "ghci" |
229 haskell-program-name "ghci" |
214 haskell-indent-offset 4 |
230 haskell-indent-offset 4 |
215 whitespace-line-column 78) |
231 whitespace-line-column 78) |
216 )) |
232 )) |
217 |
233 |
218 ;;; ghci-mode |
234 ;;; ghci-mode |
219 (add-hook 'inferior-haskell-mode-hook 'turn-on-ghci-completion) |
235 (add-hook 'inferior-haskell-mode-hook 'turn-on-ghci-completion) |
220 |
236 |
|
237 ;;; expand-region |
|
238 (global-set-key (kbd "C-=") 'er/expand-region) |
|
239 |
|
240 ;;; iy-go-to-char |
|
241 (global-set-key (kbd "C-c f") 'iy-go-to-char) |
|
242 (global-set-key (kbd "C-c F") 'iy-go-to-char-backward) |
|
243 (global-set-key (kbd "C-c ;") 'iy-go-to-char-continue) |
|
244 (global-set-key (kbd "C-c ,") 'iy-go-to-char-continue-backward) |
|
245 |
221 ;;; flymake-mode |
246 ;;; flymake-mode |
222 (add-hook |
247 (add-hook |
223 'flymake-mode-hook |
248 'flymake-mode-hook |
224 (lambda () |
249 (lambda () |
225 (local-set-key (kbd "C-1") 'flymake-display-err-menu-for-current-line) |
250 (local-set-key (kbd "C-1") 'flymake-display-err-menu-for-current-line) |
226 (local-set-key (kbd "C-.") 'flymake-goto-next-error) |
251 (local-set-key (kbd "C-.") 'flymake-goto-next-error) |
227 (local-set-key (kbd "C-,") 'flymake-goto-prev-error) |
252 (local-set-key (kbd "C-,") 'flymake-goto-prev-error) |
228 )) |
253 )) |
|
254 |
|
255 ;;; multiple-cursors |
|
256 (global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines) |
|
257 (global-set-key (kbd "C->") 'mc/mark-next-like-this) |
|
258 (global-set-key (kbd "C-<") 'mc/mark-previous-like-this) |
|
259 (global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this) |