Browse code
rename emacs to init.el, add compatibility symlink
Ed L authored on 09/07/2017 01:13:51
Showing 3 changed files
Showing 3 changed files
1 | 1 |
deleted file mode 100644 |
... | ... |
@@ -1,594 +0,0 @@ |
1 |
-;;;; -*- mode: Emacs-Lisp;-*- |
|
2 |
- |
|
3 |
-(setq default-directory "~/emacs-home/") |
|
4 |
-(make-directory default-directory t) |
|
5 |
- |
|
6 |
-(let ((default-directory "~/.emacs.d/lisp/")) |
|
7 |
- (make-directory default-directory t) |
|
8 |
- (normal-top-level-add-to-load-path '(".")) |
|
9 |
- (normal-top-level-add-subdirs-to-load-path)) |
|
10 |
- |
|
11 |
-(setq vc-follow-symlinks t) |
|
12 |
- |
|
13 |
-(require 'package) |
|
14 |
-(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") |
|
15 |
- ("org" . "http://orgmode.org/elpa/") |
|
16 |
- ("melpa" . "https://melpa.org/packages/") |
|
17 |
- ("melpa-stable" . "http://stable.melpa.org/packages/")) |
|
18 |
- package-archive-priorities '(("melpa-stable" . 1) |
|
19 |
- ("gnu" . 0) |
|
20 |
- ("melpa" . 2) |
|
21 |
- ("org" . 3))) |
|
22 |
- |
|
23 |
-(package-initialize) |
|
24 |
-(when (not (package-installed-p 'use-package)) |
|
25 |
- (package-refresh-contents) |
|
26 |
- (package-install 'use-package)) |
|
27 |
- |
|
28 |
-(require 'use-package) |
|
29 |
-(use-package evil |
|
30 |
- :ensure t |
|
31 |
- :config |
|
32 |
- (define-key evil-normal-state-map " o" 'slime-selector) |
|
33 |
- (define-key evil-insert-state-map (kbd "TAB") 'company-complete) |
|
34 |
- |
|
35 |
- (use-package lisp-skeletons |
|
36 |
- :ensure t |
|
37 |
- :config |
|
38 |
- (add-hook 'skeleton-end-hook 'skeleton-make-markers)) |
|
39 |
- (defun helm-generate-lisp-skeleton () |
|
40 |
- (interactive) |
|
41 |
- (let ((skeletons '(("defunction" . skel-defun) |
|
42 |
- ("defmacro" . skel-defmacro) |
|
43 |
- ("defparameter" . skel-defparameter) |
|
44 |
- ("defvar" . skel-defvar)))) |
|
45 |
- (funcall (helm-comp-read "code template: " skeletons)))) |
|
46 |
- |
|
47 |
- (define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton) |
|
48 |
- (define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton) |
|
49 |
- ) |
|
50 |
- |
|
51 |
-;;;;; INDENTATION SETUP {{{ |
|
52 |
-(progn |
|
53 |
- (setq-default indent-tabs-mode nil |
|
54 |
- tab-width 2) |
|
55 |
- (defvaralias 'c-basic-offset 'tab-width) |
|
56 |
- (defvaralias 'sh-basic-offset 'tab-width) |
|
57 |
- (defvaralias 'js2-basic-offset 'tab-width) |
|
58 |
- (defvaralias 'sgml-basic-offset 'tab-width) |
|
59 |
- (defvaralias 'cperl-indent-level 'tab-width)) |
|
60 |
- |
|
61 |
-;;;;; }}} |
|
62 |
- |
|
63 |
-;;;;; SLIME SETUP {{{ |
|
64 |
-(progn ;slime isn't loaded via use-package because quicklisp-helper keeps it uptodate |
|
65 |
- (load (expand-file-name "~/quicklisp/slime-helper.el")) |
|
66 |
- |
|
67 |
- ;; Replace "sbcl" with the path to your implementation |
|
68 |
- (setq inferior-lisp-program "~/sbcl/bin/sbcl") |
|
69 |
- |
|
70 |
- (defun slime-ecl () |
|
71 |
- (interactive) |
|
72 |
- (let ((inferior-lisp-program "ecl")) |
|
73 |
- (slime))) |
|
74 |
- |
|
75 |
- (defun slime-cmucl () |
|
76 |
- (interactive) |
|
77 |
- (let ((inferior-lisp-program "cmucl")) |
|
78 |
- (slime))) |
|
79 |
- |
|
80 |
- (defun slime-sbcl () |
|
81 |
- (interactive) |
|
82 |
- (let ((inferior-lisp-program "sbcl")) |
|
83 |
- (slime))) |
|
84 |
- |
|
85 |
- (defun slime-ccl () |
|
86 |
- (interactive) |
|
87 |
- (let ((inferior-lisp-program "ccl")) |
|
88 |
- (slime))) |
|
89 |
- |
|
90 |
- (add-hook 'lisp-mode-hook |
|
91 |
- '(lambda () |
|
92 |
- ;;(define-key evil-insert-state-map "^N" 'slime-fuzzy-indent-and-complete-symbol) |
|
93 |
- (unless (string= "*slime-scratch*" (buffer-name)) |
|
94 |
- (paredit-mode) |
|
95 |
- (evil-paredit-mode)) |
|
96 |
- (rainbow-delimiters-mode))) |
|
97 |
- (setq slime-contribs |
|
98 |
- '(slime-fancy |
|
99 |
- slime-company |
|
100 |
- slime-macrostep |
|
101 |
- slime-trace-dialog |
|
102 |
- slime-mdot-fu))) |
|
103 |
- |
|
104 |
-(use-package slime-company |
|
105 |
- :no-require t |
|
106 |
- :defer t |
|
107 |
- :ensure t) |
|
108 |
- |
|
109 |
-;;;;; }}} |
|
110 |
-(use-package company |
|
111 |
- :ensure t |
|
112 |
- :config |
|
113 |
- ;; keybindings |
|
114 |
- (progn (define-key company-active-map (kbd "C-c h") 'company-quickhelp-manual-begin) |
|
115 |
- (define-key company-active-map (kbd "SPC") (kbd "RET SPC")) |
|
116 |
- (define-key company-active-map (kbd "(") (kbd "RET SPC (")) |
|
117 |
- (define-key company-active-map (kbd "{") (kbd "RET SPC {")) |
|
118 |
- (define-key company-active-map (kbd "[") (kbd "RET ["))) |
|
119 |
- |
|
120 |
- (message "backends: %s" company-backends) |
|
121 |
- (setq company-backends |
|
122 |
- '(company-clang |
|
123 |
- company-bbdb |
|
124 |
- company-nxml |
|
125 |
- company-css |
|
126 |
- company-xcode |
|
127 |
- company-cmake |
|
128 |
- company-capf |
|
129 |
- company-files |
|
130 |
- (company-dabbrev-code |
|
131 |
- company-gtags |
|
132 |
- company-etags |
|
133 |
- company-keywords) |
|
134 |
- company-oddmuse |
|
135 |
- company-dabbrev)) |
|
136 |
- ) |
|
137 |
- |
|
138 |
-;; NOTE: this must be here... |
|
139 |
-(slime-setup) |
|
140 |
- |
|
141 |
-(global-company-mode 1) |
|
142 |
- |
|
143 |
-(use-package projectile |
|
144 |
- :ensure t) |
|
145 |
- |
|
146 |
-(use-package sbt-mode |
|
147 |
- :ensure t |
|
148 |
- :pin melpa-stable) |
|
149 |
- |
|
150 |
-(use-package scala-mode |
|
151 |
- :ensure t |
|
152 |
- :pin melpa-stable) |
|
153 |
- |
|
154 |
-(use-package ensime |
|
155 |
- :ensure t) |
|
156 |
- |
|
157 |
-(use-package intero |
|
158 |
- :ensure t) |
|
159 |
- |
|
160 |
-;; (use-package jdee |
|
161 |
-;; :ensure t) |
|
162 |
- |
|
163 |
-(use-package mvn |
|
164 |
- :ensure t) |
|
165 |
- |
|
166 |
-(use-package css-eldoc |
|
167 |
- :ensure t) |
|
168 |
- |
|
169 |
-(use-package ag |
|
170 |
- :ensure t) |
|
171 |
- |
|
172 |
-(use-package evil-vimish-fold |
|
173 |
- :ensure t |
|
174 |
- :config |
|
175 |
- (evil-vimish-fold-mode 1)) |
|
176 |
- |
|
177 |
-(use-package zenburn-theme |
|
178 |
- :ensure t) |
|
179 |
- |
|
180 |
-(use-package zeal-at-point |
|
181 |
- :ensure t) |
|
182 |
- |
|
183 |
-(use-package rainbow-delimiters |
|
184 |
- :ensure t) |
|
185 |
- |
|
186 |
-(use-package tabbar |
|
187 |
- :ensure t) |
|
188 |
- |
|
189 |
-(use-package helm |
|
190 |
- :ensure t) |
|
191 |
- |
|
192 |
-(use-package helm-projectile |
|
193 |
- :ensure t) |
|
194 |
- |
|
195 |
-(use-package evil-visual-mark-mode |
|
196 |
- :ensure t) |
|
197 |
- |
|
198 |
-(advice-add 'evil-delete-marks :after |
|
199 |
- (lambda (&rest args) |
|
200 |
- (evil-visual-mark-render))) |
|
201 |
- |
|
202 |
-(use-package evil-nerd-commenter |
|
203 |
- :ensure t |
|
204 |
- :config |
|
205 |
- (evilnc-default-hotkeys t)) |
|
206 |
- |
|
207 |
-(use-package paredit |
|
208 |
- :ensure t |
|
209 |
- :config |
|
210 |
- (defun paredit-wiggle-back () |
|
211 |
- (paredit-forward) |
|
212 |
- (paredit-backward)) |
|
213 |
- |
|
214 |
- (defmacro defparedit-wrapper (name invoked-wrapper) |
|
215 |
- `(defun ,name () |
|
216 |
- (interactive) |
|
217 |
- (paredit-wiggle-back) |
|
218 |
- (,invoked-wrapper))) |
|
219 |
- |
|
220 |
- (defparedit-wrapper back-then-wrap paredit-wrap-sexp) |
|
221 |
- (defparedit-wrapper back-then-wrap-square paredit-wrap-square) |
|
222 |
- (defparedit-wrapper back-then-wrap-curly paredit-wrap-curly) |
|
223 |
- (defparedit-wrapper back-then-wrap-angled paredit-wrap-angled) |
|
224 |
- (defparedit-wrapper back-then-wrap-doublequote paredit-meta-doublequote) |
|
225 |
- |
|
226 |
- (define-key evil-normal-state-map ",W" 'back-then-wrap) |
|
227 |
- (define-key evil-normal-state-map ",w]" 'back-then-wrap-square) |
|
228 |
- (define-key evil-normal-state-map ",w}" 'back-then-wrap-curly) |
|
229 |
- (define-key evil-normal-state-map ",w>" 'back-then-wrap-angled) |
|
230 |
- (define-key evil-normal-state-map ",w\"" 'back-then-wrap-doublequote) |
|
231 |
- |
|
232 |
- (define-key evil-normal-state-map ",S" 'paredit-splice-sexp) |
|
233 |
- (define-key evil-normal-state-map ",A" 'paredit-splice-sexp-killing-backward) |
|
234 |
- (define-key evil-normal-state-map ",D" 'paredit-splice-sexp-killing-forward) |
|
235 |
- (define-key evil-normal-state-map ",|" 'paredit-split-sexp) |
|
236 |
- (define-key evil-normal-state-map ",J" 'paredit-join-sexps) |
|
237 |
- (define-key evil-normal-state-map ",<" 'paredit-backward-slurp-sexp) |
|
238 |
- (define-key evil-normal-state-map ",," 'paredit-backward-barf-sexp) |
|
239 |
- (define-key evil-normal-state-map ",>" 'paredit-forward-slurp-sexp) |
|
240 |
- (define-key evil-normal-state-map ",." 'paredit-forward-barf-sexp) |
|
241 |
- (define-key evil-normal-state-map ",~" 'paredit-convolute-sexp)) |
|
242 |
- |
|
243 |
-(use-package evil-paredit |
|
244 |
- :ensure t) |
|
245 |
- |
|
246 |
-(use-package evil-numbers |
|
247 |
- :ensure t |
|
248 |
- :config |
|
249 |
- (global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt) |
|
250 |
- (global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt)) |
|
251 |
- |
|
252 |
-(use-package eldoc-eval |
|
253 |
- :ensure t) |
|
254 |
- |
|
255 |
-(use-package editorconfig |
|
256 |
- :ensure t |
|
257 |
- :config |
|
258 |
- (editorconfig-mode 1)) |
|
259 |
- |
|
260 |
-(use-package csv-mode |
|
261 |
- :ensure t) |
|
262 |
- |
|
263 |
-(use-package color-theme |
|
264 |
- :ensure t) |
|
265 |
- |
|
266 |
-(use-package ansible |
|
267 |
- :ensure t) |
|
268 |
- |
|
269 |
-(use-package alect-themes |
|
270 |
- :ensure t) |
|
271 |
- |
|
272 |
-(use-package ac-js2 |
|
273 |
- :ensure t) |
|
274 |
- |
|
275 |
-(use-package yaml-mode |
|
276 |
- :ensure t) |
|
277 |
- |
|
278 |
-(use-package web-mode |
|
279 |
- :ensure t) |
|
280 |
- |
|
281 |
-(use-package vue-mode |
|
282 |
- :ensure t) |
|
283 |
- |
|
284 |
-(use-package typescript-mode |
|
285 |
- :ensure t) |
|
286 |
- |
|
287 |
-(use-package scss-mode |
|
288 |
- :ensure t) |
|
289 |
- |
|
290 |
-(use-package rust-mode |
|
291 |
- :ensure t) |
|
292 |
- |
|
293 |
-(use-package markdown-mode |
|
294 |
- :ensure t) |
|
295 |
- |
|
296 |
-(use-package magit |
|
297 |
- :ensure t) |
|
298 |
- |
|
299 |
-(use-package highlight-parentheses |
|
300 |
- :ensure t) |
|
301 |
- |
|
302 |
-(use-package helm-projectile |
|
303 |
- :ensure t) |
|
304 |
- |
|
305 |
-(use-package helm-ls-git |
|
306 |
- :ensure t) |
|
307 |
- |
|
308 |
-;;(use-package helm-git |
|
309 |
-;; :ensure t) |
|
310 |
- |
|
311 |
-(use-package helm-css-scss |
|
312 |
- :ensure t) |
|
313 |
- |
|
314 |
-(use-package helm-cider |
|
315 |
- :ensure t) |
|
316 |
- |
|
317 |
-(use-package helm-ag-r |
|
318 |
- :ensure t) |
|
319 |
- |
|
320 |
-(use-package helm-ag |
|
321 |
- :ensure t) |
|
322 |
- |
|
323 |
-(use-package evil-surround |
|
324 |
- :ensure t) |
|
325 |
- |
|
326 |
-(use-package evil-leader |
|
327 |
- :ensure t) |
|
328 |
- |
|
329 |
-(use-package emmet-mode |
|
330 |
- :ensure t) |
|
331 |
- |
|
332 |
-(use-package project-explorer |
|
333 |
- :ensure t |
|
334 |
- ) |
|
335 |
- |
|
336 |
-(use-package ggtags |
|
337 |
- :ensure t |
|
338 |
- :config |
|
339 |
- (ggtags-mode 1) |
|
340 |
- (add-hook 'c-mode-common-hook |
|
341 |
- (lambda () |
|
342 |
- (when (derived-mode-p 'c-mode 'c++-mode 'java-mode 'asm-mode) |
|
343 |
- (ggtags-mode 1))))) |
|
344 |
- |
|
345 |
- |
|
346 |
- |
|
347 |
-(use-package pollen-mode |
|
348 |
- :config |
|
349 |
- (defun insert-lozenge () |
|
350 |
- (interactive) |
|
351 |
- (insert-char 9674)) |
|
352 |
- (define-key evil-insert-state-map (kbd "C-c C-l") 'insert-lozenge)) |
|
353 |
- |
|
354 |
-(progn ; helm |
|
355 |
- (require 'helm-config) |
|
356 |
- (helm-mode) |
|
357 |
- (global-set-key (kbd "C-x C-f") 'helm-find-files) |
|
358 |
- (define-key evil-normal-state-map " f" 'helm-projectile) |
|
359 |
- (define-key evil-normal-state-map " j" 'helm-buffers-list) |
|
360 |
- (global-set-key (kbd "M-x") 'helm-M-x)) |
|
361 |
- |
|
362 |
-(require 'js2-mode) |
|
363 |
- |
|
364 |
-(require 'projectile) |
|
365 |
-(projectile-mode) |
|
366 |
- |
|
367 |
- |
|
368 |
- |
|
369 |
-(add-hook 'after-init-hook |
|
370 |
- (lambda () |
|
371 |
- (unless (server-running-p) |
|
372 |
- (server-start)) |
|
373 |
- (evil-mode) |
|
374 |
- (paredit-mode) |
|
375 |
- (evil-paredit-mode) |
|
376 |
- (global-company-mode) |
|
377 |
- (global-linum-mode))) |
|
378 |
- |
|
379 |
-(progn ; linum |
|
380 |
- (setq linum-format "%5d\u2502")) |
|
381 |
- |
|
382 |
-(require 'evil-numbers) |
|
383 |
- |
|
384 |
-(define-key evil-normal-state-map "ZZ" 'save-buffer) |
|
385 |
- |
|
386 |
-(define-key evil-normal-state-map ",zz" 'zeal-at-point) |
|
387 |
- |
|
388 |
-(modify-syntax-entry ?_ "w" js-mode-syntax-table) |
|
389 |
-(modify-syntax-entry ?- "w" lisp-mode-syntax-table) |
|
390 |
-(modify-syntax-entry ?* "w" lisp-mode-syntax-table) |
|
391 |
-(modify-syntax-entry ?+ "w" lisp-mode-syntax-table) |
|
392 |
-(modify-syntax-entry ?! "w" lisp-mode-syntax-table) |
|
393 |
-(modify-syntax-entry ?$ "w" lisp-mode-syntax-table) |
|
394 |
-(modify-syntax-entry ?% "w" lisp-mode-syntax-table) |
|
395 |
-(modify-syntax-entry ?& "w" lisp-mode-syntax-table) |
|
396 |
-(modify-syntax-entry ?% "w" lisp-mode-syntax-table) |
|
397 |
-(modify-syntax-entry ?= "w" lisp-mode-syntax-table) |
|
398 |
-(modify-syntax-entry ?< "w" lisp-mode-syntax-table) |
|
399 |
-(modify-syntax-entry ?> "w" lisp-mode-syntax-table) |
|
400 |
-(modify-syntax-entry ?@ "w" lisp-mode-syntax-table) |
|
401 |
-(modify-syntax-entry ?[ "w" lisp-mode-syntax-table) |
|
402 |
-(modify-syntax-entry ?] "w" lisp-mode-syntax-table) |
|
403 |
-(modify-syntax-entry ?^ "w" lisp-mode-syntax-table) |
|
404 |
-(modify-syntax-entry ?_ "w" lisp-mode-syntax-table) |
|
405 |
-(modify-syntax-entry ?~ "w" lisp-mode-syntax-table) |
|
406 |
-(modify-syntax-entry ?{ "w" lisp-mode-syntax-table) |
|
407 |
-(modify-syntax-entry ?} "w" lisp-mode-syntax-table) |
|
408 |
-(modify-syntax-entry ?. "w" lisp-mode-syntax-table) |
|
409 |
- |
|
410 |
-(modify-syntax-entry ?- "w" emacs-lisp-mode-syntax-table) |
|
411 |
-(modify-syntax-entry ?_ "w" emacs-lisp-mode-syntax-table) |
|
412 |
- |
|
413 |
-(let ((default-directory "~/.emacs.d/lisp/")) |
|
414 |
- (make-directory default-directory t) |
|
415 |
- (normal-top-level-add-subdirs-to-load-path)) |
|
416 |
- |
|
417 |
- |
|
418 |
-(custom-set-faces |
|
419 |
- ;; custom-set-faces was added by Custom. |
|
420 |
- ;; If you edit it by hand, you could mess it up, so be careful. |
|
421 |
- ;; Your init file should contain only one such instance. |
|
422 |
- ;; If there is more than one, they won't work right. |
|
423 |
- '(default ((t (:family "Source Code Pro" :foundry "adobe" :slant normal :weight semi-bold :height 113 :width normal))))) |
|
424 |
- |
|
425 |
- |
|
426 |
-(setq erc-hide-list '("JOIN" "PART" "QUIT")) |
|
427 |
- |
|
428 |
-;; (defun znc-erc () |
|
429 |
-;; (interactive) |
|
430 |
-;; (erc-ssl :server "localhost" :port 6697 :nick "edwlan/freenode" :password "t31ch3rtb")) |
|
431 |
- |
|
432 |
-(add-to-list 'auto-mode-alist '("\\.cljs\\.hl\\'" . clojurescript-mode)) |
|
433 |
- |
|
434 |
-(add-hook 'ruby-mode-hook |
|
435 |
- '(lambda () |
|
436 |
- (eldoc-mode) |
|
437 |
- (robe-mode))) |
|
438 |
- |
|
439 |
- |
|
440 |
-(add-hook 'clojure-mode-hook |
|
441 |
- '(lambda () |
|
442 |
- ;; Hoplon functions and macros |
|
443 |
- (paredit-mode) |
|
444 |
- (define-key evil-insert-state-map "^N" 'helm-cider-apropos) |
|
445 |
- (dolist (pair '((page . 'defun) |
|
446 |
- (loop-tpl . 'defun) |
|
447 |
- (if-tpl . '1) |
|
448 |
- (for-tpl . '1) |
|
449 |
- (case-tpl . '1) |
|
450 |
- (cond-tpl . 'defun))) |
|
451 |
- (put-clojure-indent (car pair) |
|
452 |
- (car (last pair)))))) |
|
453 |
- |
|
454 |
-(setq tls-program '("openssl s_client -connect %h:%p -no_ssl2 -ign_eof")) |
|
455 |
- |
|
456 |
-(global-auto-revert-mode t) |
|
457 |
- |
|
458 |
- ;;; Use auto-complete for ensime |
|
459 |
- |
|
460 |
-(defun scala/enable-eldoc () |
|
461 |
- "Show error message or type name at point by Eldoc." |
|
462 |
- (setq-local eldoc-documentation-function |
|
463 |
- #'(lambda () |
|
464 |
- (when (ensime-connected-p) |
|
465 |
- (let ((err (ensime-print-errors-at-point))) |
|
466 |
- (or (and err (not (string= err "")) err) |
|
467 |
- (ensime-print-type-at-point)))))) |
|
468 |
- (eldoc-mode +1)) |
|
469 |
- |
|
470 |
-(defun scala/completing-dot-company () |
|
471 |
- (cond (company-backend |
|
472 |
- (company-complete-selection) |
|
473 |
- (scala/completing-dot)) |
|
474 |
- (t |
|
475 |
- (insert ".") |
|
476 |
- (company-complete)))) |
|
477 |
- |
|
478 |
-(defun scala/completing-dot-ac () |
|
479 |
- (insert ".") |
|
480 |
- (ac-trigger-key-command t)) |
|
481 |
- |
|
482 |
-;; Interactive commands |
|
483 |
- |
|
484 |
-(defun scala/completing-dot () |
|
485 |
- "Insert a period and show company completions." |
|
486 |
- (interactive "*") |
|
487 |
- (eval-and-compile (require 'ensime)) |
|
488 |
- (eval-and-compile (require 's)) |
|
489 |
- (when (s-matches? (rx (+ (not space))) |
|
490 |
- (buffer-substring (line-beginning-position) (point))) |
|
491 |
- (delete-horizontal-space t)) |
|
492 |
- (cond ((not (and (ensime-connected-p) ensime-completion-style)) |
|
493 |
- (insert ".")) |
|
494 |
- ((eq ensime-completion-style 'company) |
|
495 |
- (scala/completing-dot-company)) |
|
496 |
- ((eq ensime-completion-style 'auto-complete) |
|
497 |
- (scala/completing-dot-ac)))) |
|
498 |
- |
|
499 |
-;; Initialization |
|
500 |
-(add-hook 'ensime-mode-hook #'scala/enable-eldoc) |
|
501 |
-(add-hook 'scala-mode-hook 'ensime-scala-mode-hook) |
|
502 |
-(add-hook 'scala-mode-hook 'flycheck-mode) |
|
503 |
-(add-hook 'haskell-mode-hook 'intero-mode) |
|
504 |
- |
|
505 |
-(add-hook 'c-mode-common-hook |
|
506 |
- (lambda () |
|
507 |
- (when (derived-mode-p 'c-mode 'c++-mode 'java-mode) |
|
508 |
- (semantic-mode 1) |
|
509 |
- |
|
510 |
- (global-semanticdb-minor-mode 1) |
|
511 |
- (global-semantic-idle-scheduler-mode 1) |
|
512 |
- (global-semantic-stickyfunc-mode 1) |
|
513 |
- |
|
514 |
- (helm-gtags-mode) |
|
515 |
- (ggtags-mode 1)))) |
|
516 |
- |
|
517 |
-(setq company-backends (delete 'company-semantic company-backends)) |
|
518 |
- |
|
519 |
-(defun alexott/cedet-hook () |
|
520 |
- (local-set-key "\C-c\C-j" 'semantic-ia-fast-jump) |
|
521 |
- (local-set-key "\C-c\C-s" 'semantic-ia-show-summary)) |
|
522 |
- |
|
523 |
-(add-hook 'c-mode-common-hook 'alexott/cedet-hook) |
|
524 |
-(add-hook 'c-mode-hook 'alexott/cedet-hook) |
|
525 |
-(add-hook 'c++-mode-hook 'alexott/cedet-hook) |
|
526 |
- |
|
527 |
-(defun set-exec-path-from-shell-PATH () |
|
528 |
- "Set up Emacs' `exec-path' and PATH environment variable to match that used by the user's shell. |
|
529 |
- |
|
530 |
- This is particularly useful under Mac OSX, where GUI apps are not started from a shell." |
|
531 |
- (interactive) |
|
532 |
- (let ((path-from-shell (replace-regexp-in-string "[ \t\n]*$" "" (shell-command-to-string "$SHELL --login -i -c 'echo $PATH'")))) |
|
533 |
- (setenv "PATH" path-from-shell) |
|
534 |
- (setq exec-path (split-string path-from-shell path-separator)))) |
|
535 |
-(set-exec-path-from-shell-PATH) |
|
536 |
- |
|
537 |
-(require 'ede) |
|
538 |
-(global-ede-mode) |
|
539 |
- |
|
540 |
-(custom-set-variables |
|
541 |
- ;; custom-set-variables was added by Custom. |
|
542 |
- ;; If you edit it by hand, you could mess it up, so be careful. |
|
543 |
- ;; Your init file should contain only one such instance. |
|
544 |
- ;; If there is more than one, they won't work right. |
|
545 |
- '(ansi-color-faces-vector |
|
546 |
- [default bold shadow italic underline bold bold-italic bold]) |
|
547 |
- '(ansi-color-names-vector |
|
548 |
- ["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"]) |
|
549 |
- '(browse-url-browser-function (quote browse-url-generic)) |
|
550 |
- '(browse-url-generic-program "x-www-browser") |
|
551 |
- '(company-backends |
|
552 |
- (quote |
|
553 |
- (company-semantic company-bbdb company-nxml company-css company-xcode company-cmake company-capf company-files |
|
554 |
- (company-dabbrev-code company-gtags company-etags company-keywords) |
|
555 |
- company-oddmuse company-dabbrev))) |
|
556 |
- '(custom-enabled-themes (quote (zenburn))) |
|
557 |
- '(custom-safe-themes |
|
558 |
- (quote |
|
559 |
- ("f5512c02e0a6887e987a816918b7a684d558716262ac7ee2dd0437ab913eaec6" "9d91458c4ad7c74cf946bd97ad085c0f6a40c370ac0a1cbeb2e3879f15b40553" "4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328" "ab04c00a7e48ad784b52f34aa6bfa1e80d0c3fcacc50e1189af3651013eb0d58" "a0feb1322de9e26a4d209d1cfa236deaf64662bb604fa513cca6a057ddf0ef64" default))) |
|
560 |
- '(erc-modules |
|
561 |
- (quote |
|
562 |
- (autoaway autojoin button capab-identify completion fill irccontrols list match menu move-to-prompt netsplit networks noncommands readonly ring stamp spelling track))) |
|
563 |
- '(erc-truncate-mode t) |
|
564 |
- '(evil-leader/leader ",") |
|
565 |
- '(evil-visual-mark-mode t) |
|
566 |
- '(font-use-system-font t) |
|
567 |
- '(ggtags-sort-by-nearness t) |
|
568 |
- '(ggtags-update-on-save t) |
|
569 |
- '(global-evil-surround-mode t) |
|
570 |
- '(global-linum-mode t) |
|
571 |
- '(haskell-mode-hook |
|
572 |
- (quote |
|
573 |
- (capitalized-words-mode haskell-decl-scan-mode haskell-indentation-mode highlight-uses-mode imenu-add-menubar-index interactive-haskell-mode)) t) |
|
574 |
- '(helm-ls-git-fuzzy-match t) |
|
575 |
- '(jdee-server-dir "~/.emacs.d/jdee-server/") |
|
576 |
- '(jira-url "https://atomampd.atlassian.net/rpc/xmlrpc") |
|
577 |
- '(line-number-mode nil) |
|
578 |
- '(mac-command-modifier nil) |
|
579 |
- '(mac-option-modifier (quote meta)) |
|
580 |
- '(mac-pass-command-to-system t) |
|
581 |
- '(nrepl-message-colors |
|
582 |
- (quote |
|
583 |
- ("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3"))) |
|
584 |
- '(package-selected-packages |
|
585 |
- (quote |
|
586 |
- (deft geiser pollen-mode js2-refactor npm-mode helm-dash aggressive-indent company-tern tern srefactor ac-slime znc helm-ag ag helm-projectile notmuch zenburn-theme zeal-at-point use-package tabbar slime-company rainbow-delimiters projectile mvn jdee intero helm evil-visual-mark-mode evil-vimish-fold evil-paredit evil-numbers ensime eldoc-eval editorconfig color-theme ansible alect-themes ac-js2))) |
|
587 |
- '(pe/omit-gitignore t) |
|
588 |
- '(safe-local-variable-values |
|
589 |
- (quote |
|
590 |
- ((company-clang-arguments "-I.") |
|
591 |
- (Base . 10) |
|
592 |
- (Package . CL-USER) |
|
593 |
- (Syntax . COMMON-LISP)))) |
|
594 |
- '(slime-company-completion (quote fuzzy))) |
1 | 3 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,594 @@ |
1 |
+;;;; -*- mode: Emacs-Lisp;-*- |
|
2 |
+ |
|
3 |
+(setq default-directory "~/emacs-home/") |
|
4 |
+(make-directory default-directory t) |
|
5 |
+ |
|
6 |
+(let ((default-directory "~/.emacs.d/lisp/")) |
|
7 |
+ (make-directory default-directory t) |
|
8 |
+ (normal-top-level-add-to-load-path '(".")) |
|
9 |
+ (normal-top-level-add-subdirs-to-load-path)) |
|
10 |
+ |
|
11 |
+(setq vc-follow-symlinks t) |
|
12 |
+ |
|
13 |
+(require 'package) |
|
14 |
+(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") |
|
15 |
+ ("org" . "http://orgmode.org/elpa/") |
|
16 |
+ ("melpa" . "https://melpa.org/packages/") |
|
17 |
+ ("melpa-stable" . "http://stable.melpa.org/packages/")) |
|
18 |
+ package-archive-priorities '(("melpa-stable" . 1) |
|
19 |
+ ("gnu" . 0) |
|
20 |
+ ("melpa" . 2) |
|
21 |
+ ("org" . 3))) |
|
22 |
+ |
|
23 |
+(package-initialize) |
|
24 |
+(when (not (package-installed-p 'use-package)) |
|
25 |
+ (package-refresh-contents) |
|
26 |
+ (package-install 'use-package)) |
|
27 |
+ |
|
28 |
+(require 'use-package) |
|
29 |
+(use-package evil |
|
30 |
+ :ensure t |
|
31 |
+ :config |
|
32 |
+ (define-key evil-normal-state-map " o" 'slime-selector) |
|
33 |
+ (define-key evil-insert-state-map (kbd "TAB") 'company-complete) |
|
34 |
+ |
|
35 |
+ (use-package lisp-skeletons |
|
36 |
+ :ensure t |
|
37 |
+ :config |
|
38 |
+ (add-hook 'skeleton-end-hook 'skeleton-make-markers)) |
|
39 |
+ (defun helm-generate-lisp-skeleton () |
|
40 |
+ (interactive) |
|
41 |
+ (let ((skeletons '(("defunction" . skel-defun) |
|
42 |
+ ("defmacro" . skel-defmacro) |
|
43 |
+ ("defparameter" . skel-defparameter) |
|
44 |
+ ("defvar" . skel-defvar)))) |
|
45 |
+ (funcall (helm-comp-read "code template: " skeletons)))) |
|
46 |
+ |
|
47 |
+ (define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton) |
|
48 |
+ (define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton) |
|
49 |
+ ) |
|
50 |
+ |
|
51 |
+;;;;; INDENTATION SETUP {{{ |
|
52 |
+(progn |
|
53 |
+ (setq-default indent-tabs-mode nil |
|
54 |
+ tab-width 2) |
|
55 |
+ (defvaralias 'c-basic-offset 'tab-width) |
|
56 |
+ (defvaralias 'sh-basic-offset 'tab-width) |
|
57 |
+ (defvaralias 'js2-basic-offset 'tab-width) |
|
58 |
+ (defvaralias 'sgml-basic-offset 'tab-width) |
|
59 |
+ (defvaralias 'cperl-indent-level 'tab-width)) |
|
60 |
+ |
|
61 |
+;;;;; }}} |
|
62 |
+ |
|
63 |
+;;;;; SLIME SETUP {{{ |
|
64 |
+(progn ;slime isn't loaded via use-package because quicklisp-helper keeps it uptodate |
|
65 |
+ (load (expand-file-name "~/quicklisp/slime-helper.el")) |
|
66 |
+ |
|
67 |
+ ;; Replace "sbcl" with the path to your implementation |
|
68 |
+ (setq inferior-lisp-program "~/sbcl/bin/sbcl") |
|
69 |
+ |
|
70 |
+ (defun slime-ecl () |
|
71 |
+ (interactive) |
|
72 |
+ (let ((inferior-lisp-program "ecl")) |
|
73 |
+ (slime))) |
|
74 |
+ |
|
75 |
+ (defun slime-cmucl () |
|
76 |
+ (interactive) |
|
77 |
+ (let ((inferior-lisp-program "cmucl")) |
|
78 |
+ (slime))) |
|
79 |
+ |
|
80 |
+ (defun slime-sbcl () |
|
81 |
+ (interactive) |
|
82 |
+ (let ((inferior-lisp-program "sbcl")) |
|
83 |
+ (slime))) |
|
84 |
+ |
|
85 |
+ (defun slime-ccl () |
|
86 |
+ (interactive) |
|
87 |
+ (let ((inferior-lisp-program "ccl")) |
|
88 |
+ (slime))) |
|
89 |
+ |
|
90 |
+ (add-hook 'lisp-mode-hook |
|
91 |
+ '(lambda () |
|
92 |
+ ;;(define-key evil-insert-state-map "^N" 'slime-fuzzy-indent-and-complete-symbol) |
|
93 |
+ (unless (string= "*slime-scratch*" (buffer-name)) |
|
94 |
+ (paredit-mode) |
|
95 |
+ (evil-paredit-mode)) |
|
96 |
+ (rainbow-delimiters-mode))) |
|
97 |
+ (setq slime-contribs |
|
98 |
+ '(slime-fancy |
|
99 |
+ slime-company |
|
100 |
+ slime-macrostep |
|
101 |
+ slime-trace-dialog |
|
102 |
+ slime-mdot-fu))) |
|
103 |
+ |
|
104 |
+(use-package slime-company |
|
105 |
+ :no-require t |
|
106 |
+ :defer t |
|
107 |
+ :ensure t) |
|
108 |
+ |
|
109 |
+;;;;; }}} |
|
110 |
+(use-package company |
|
111 |
+ :ensure t |
|
112 |
+ :config |
|
113 |
+ ;; keybindings |
|
114 |
+ (progn (define-key company-active-map (kbd "C-c h") 'company-quickhelp-manual-begin) |
|
115 |
+ (define-key company-active-map (kbd "SPC") (kbd "RET SPC")) |
|
116 |
+ (define-key company-active-map (kbd "(") (kbd "RET SPC (")) |
|
117 |
+ (define-key company-active-map (kbd "{") (kbd "RET SPC {")) |
|
118 |
+ (define-key company-active-map (kbd "[") (kbd "RET ["))) |
|
119 |
+ |
|
120 |
+ (message "backends: %s" company-backends) |
|
121 |
+ (setq company-backends |
|
122 |
+ '(company-clang |
|
123 |
+ company-bbdb |
|
124 |
+ company-nxml |
|
125 |
+ company-css |
|
126 |
+ company-xcode |
|
127 |
+ company-cmake |
|
128 |
+ company-capf |
|
129 |
+ company-files |
|
130 |
+ (company-dabbrev-code |
|
131 |
+ company-gtags |
|
132 |
+ company-etags |
|
133 |
+ company-keywords) |
|
134 |
+ company-oddmuse |
|
135 |
+ company-dabbrev)) |
|
136 |
+ ) |
|
137 |
+ |
|
138 |
+;; NOTE: this must be here... |
|
139 |
+(slime-setup) |
|
140 |
+ |
|
141 |
+(global-company-mode 1) |
|
142 |
+ |
|
143 |
+(use-package projectile |
|
144 |
+ :ensure t) |
|
145 |
+ |
|
146 |
+(use-package sbt-mode |
|
147 |
+ :ensure t |
|
148 |
+ :pin melpa-stable) |
|
149 |
+ |
|
150 |
+(use-package scala-mode |
|
151 |
+ :ensure t |
|
152 |
+ :pin melpa-stable) |
|
153 |
+ |
|
154 |
+(use-package ensime |
|
155 |
+ :ensure t) |
|
156 |
+ |
|
157 |
+(use-package intero |
|
158 |
+ :ensure t) |
|
159 |
+ |
|
160 |
+;; (use-package jdee |
|
161 |
+;; :ensure t) |
|
162 |
+ |
|
163 |
+(use-package mvn |
|
164 |
+ :ensure t) |
|
165 |
+ |
|
166 |
+(use-package css-eldoc |
|
167 |
+ :ensure t) |
|
168 |
+ |
|
169 |
+(use-package ag |
|
170 |
+ :ensure t) |
|
171 |
+ |
|
172 |
+(use-package evil-vimish-fold |
|
173 |
+ :ensure t |
|
174 |
+ :config |
|
175 |
+ (evil-vimish-fold-mode 1)) |
|
176 |
+ |
|
177 |
+(use-package zenburn-theme |
|
178 |
+ :ensure t) |
|
179 |
+ |
|
180 |
+(use-package zeal-at-point |
|
181 |
+ :ensure t) |
|
182 |
+ |
|
183 |
+(use-package rainbow-delimiters |
|
184 |
+ :ensure t) |
|
185 |
+ |
|
186 |
+(use-package tabbar |
|
187 |
+ :ensure t) |
|
188 |
+ |
|
189 |
+(use-package helm |
|
190 |
+ :ensure t) |
|
191 |
+ |
|
192 |
+(use-package helm-projectile |
|
193 |
+ :ensure t) |
|
194 |
+ |
|
195 |
+(use-package evil-visual-mark-mode |
|
196 |
+ :ensure t) |
|
197 |
+ |
|
198 |
+(advice-add 'evil-delete-marks :after |
|
199 |
+ (lambda (&rest args) |
|
200 |
+ (evil-visual-mark-render))) |
|
201 |
+ |
|
202 |
+(use-package evil-nerd-commenter |
|
203 |
+ :ensure t |
|
204 |
+ :config |
|
205 |
+ (evilnc-default-hotkeys t)) |
|
206 |
+ |
|
207 |
+(use-package paredit |
|
208 |
+ :ensure t |
|
209 |
+ :config |
|
210 |
+ (defun paredit-wiggle-back () |
|
211 |
+ (paredit-forward) |
|
212 |
+ (paredit-backward)) |
|
213 |
+ |
|
214 |
+ (defmacro defparedit-wrapper (name invoked-wrapper) |
|
215 |
+ `(defun ,name () |
|
216 |
+ (interactive) |
|
217 |
+ (paredit-wiggle-back) |
|
218 |
+ (,invoked-wrapper))) |
|
219 |
+ |
|
220 |
+ (defparedit-wrapper back-then-wrap paredit-wrap-sexp) |
|
221 |
+ (defparedit-wrapper back-then-wrap-square paredit-wrap-square) |
|
222 |
+ (defparedit-wrapper back-then-wrap-curly paredit-wrap-curly) |
|
223 |
+ (defparedit-wrapper back-then-wrap-angled paredit-wrap-angled) |
|
224 |
+ (defparedit-wrapper back-then-wrap-doublequote paredit-meta-doublequote) |
|
225 |
+ |
|
226 |
+ (define-key evil-normal-state-map ",W" 'back-then-wrap) |
|
227 |
+ (define-key evil-normal-state-map ",w]" 'back-then-wrap-square) |
|
228 |
+ (define-key evil-normal-state-map ",w}" 'back-then-wrap-curly) |
|
229 |
+ (define-key evil-normal-state-map ",w>" 'back-then-wrap-angled) |
|
230 |
+ (define-key evil-normal-state-map ",w\"" 'back-then-wrap-doublequote) |
|
231 |
+ |
|
232 |
+ (define-key evil-normal-state-map ",S" 'paredit-splice-sexp) |
|
233 |
+ (define-key evil-normal-state-map ",A" 'paredit-splice-sexp-killing-backward) |
|
234 |
+ (define-key evil-normal-state-map ",D" 'paredit-splice-sexp-killing-forward) |
|
235 |
+ (define-key evil-normal-state-map ",|" 'paredit-split-sexp) |
|
236 |
+ (define-key evil-normal-state-map ",J" 'paredit-join-sexps) |
|
237 |
+ (define-key evil-normal-state-map ",<" 'paredit-backward-slurp-sexp) |
|
238 |
+ (define-key evil-normal-state-map ",," 'paredit-backward-barf-sexp) |
|
239 |
+ (define-key evil-normal-state-map ",>" 'paredit-forward-slurp-sexp) |
|
240 |
+ (define-key evil-normal-state-map ",." 'paredit-forward-barf-sexp) |
|
241 |
+ (define-key evil-normal-state-map ",~" 'paredit-convolute-sexp)) |
|
242 |
+ |
|
243 |
+(use-package evil-paredit |
|
244 |
+ :ensure t) |
|
245 |
+ |
|
246 |
+(use-package evil-numbers |
|
247 |
+ :ensure t |
|
248 |
+ :config |
|
249 |
+ (global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt) |
|
250 |
+ (global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt)) |
|
251 |
+ |
|
252 |
+(use-package eldoc-eval |
|
253 |
+ :ensure t) |
|
254 |
+ |
|
255 |
+(use-package editorconfig |
|
256 |
+ :ensure t |
|
257 |
+ :config |
|
258 |
+ (editorconfig-mode 1)) |
|
259 |
+ |
|
260 |
+(use-package csv-mode |
|
261 |
+ :ensure t) |
|
262 |
+ |
|
263 |
+(use-package color-theme |
|
264 |
+ :ensure t) |
|
265 |
+ |
|
266 |
+(use-package ansible |
|
267 |
+ :ensure t) |
|
268 |
+ |
|
269 |
+(use-package alect-themes |
|
270 |
+ :ensure t) |
|
271 |
+ |
|
272 |
+(use-package ac-js2 |
|
273 |
+ :ensure t) |
|
274 |
+ |
|
275 |
+(use-package yaml-mode |
|
276 |
+ :ensure t) |
|
277 |
+ |
|
278 |
+(use-package web-mode |
|
279 |
+ :ensure t) |
|
280 |
+ |
|
281 |
+(use-package vue-mode |
|
282 |
+ :ensure t) |
|
283 |
+ |
|
284 |
+(use-package typescript-mode |
|
285 |
+ :ensure t) |
|
286 |
+ |
|
287 |
+(use-package scss-mode |
|
288 |
+ :ensure t) |
|
289 |
+ |
|
290 |
+(use-package rust-mode |
|
291 |
+ :ensure t) |
|
292 |
+ |
|
293 |
+(use-package markdown-mode |
|
294 |
+ :ensure t) |
|
295 |
+ |
|
296 |
+(use-package magit |
|
297 |
+ :ensure t) |
|
298 |
+ |
|
299 |
+(use-package highlight-parentheses |
|
300 |
+ :ensure t) |
|
301 |
+ |
|
302 |
+(use-package helm-projectile |
|
303 |
+ :ensure t) |
|
304 |
+ |
|
305 |
+(use-package helm-ls-git |
|
306 |
+ :ensure t) |
|
307 |
+ |
|
308 |
+;;(use-package helm-git |
|
309 |
+;; :ensure t) |
|
310 |
+ |
|
311 |
+(use-package helm-css-scss |
|
312 |
+ :ensure t) |
|
313 |
+ |
|
314 |
+(use-package helm-cider |
|
315 |
+ :ensure t) |
|
316 |
+ |
|
317 |
+(use-package helm-ag-r |
|
318 |
+ :ensure t) |
|
319 |
+ |
|
320 |
+(use-package helm-ag |
|
321 |
+ :ensure t) |
|
322 |
+ |
|
323 |
+(use-package evil-surround |
|
324 |
+ :ensure t) |
|
325 |
+ |
|
326 |
+(use-package evil-leader |
|
327 |
+ :ensure t) |
|
328 |
+ |
|
329 |
+(use-package emmet-mode |
|
330 |
+ :ensure t) |
|
331 |
+ |
|
332 |
+(use-package project-explorer |
|
333 |
+ :ensure t |
|
334 |
+ ) |
|
335 |
+ |
|
336 |
+(use-package ggtags |
|
337 |
+ :ensure t |
|
338 |
+ :config |
|
339 |
+ (ggtags-mode 1) |
|
340 |
+ (add-hook 'c-mode-common-hook |
|
341 |
+ (lambda () |
|
342 |
+ (when (derived-mode-p 'c-mode 'c++-mode 'java-mode 'asm-mode) |
|
343 |
+ (ggtags-mode 1))))) |
|
344 |
+ |
|
345 |
+ |
|
346 |
+ |
|
347 |
+(use-package pollen-mode |
|
348 |
+ :config |
|
349 |
+ (defun insert-lozenge () |
|
350 |
+ (interactive) |
|
351 |
+ (insert-char 9674)) |
|
352 |
+ (define-key evil-insert-state-map (kbd "C-c C-l") 'insert-lozenge)) |
|
353 |
+ |
|
354 |
+(progn ; helm |
|
355 |
+ (require 'helm-config) |
|
356 |
+ (helm-mode) |
|
357 |
+ (global-set-key (kbd "C-x C-f") 'helm-find-files) |
|
358 |
+ (define-key evil-normal-state-map " f" 'helm-projectile) |
|
359 |
+ (define-key evil-normal-state-map " j" 'helm-buffers-list) |
|
360 |
+ (global-set-key (kbd "M-x") 'helm-M-x)) |
|
361 |
+ |
|
362 |
+(require 'js2-mode) |
|
363 |
+ |
|
364 |
+(require 'projectile) |
|
365 |
+(projectile-mode) |
|
366 |
+ |
|
367 |
+ |
|
368 |
+ |
|
369 |
+(add-hook 'after-init-hook |
|
370 |
+ (lambda () |
|
371 |
+ (unless (server-running-p) |
|
372 |
+ (server-start)) |
|
373 |
+ (evil-mode) |
|
374 |
+ (paredit-mode) |
|
375 |
+ (evil-paredit-mode) |
|
376 |
+ (global-company-mode) |
|
377 |
+ (global-linum-mode))) |
|
378 |
+ |
|
379 |
+(progn ; linum |
|
380 |
+ (setq linum-format "%5d\u2502")) |
|
381 |
+ |
|
382 |
+(require 'evil-numbers) |
|
383 |
+ |
|
384 |
+(define-key evil-normal-state-map "ZZ" 'save-buffer) |
|
385 |
+ |
|
386 |
+(define-key evil-normal-state-map ",zz" 'zeal-at-point) |
|
387 |
+ |
|
388 |
+(modify-syntax-entry ?_ "w" js-mode-syntax-table) |
|
389 |
+(modify-syntax-entry ?- "w" lisp-mode-syntax-table) |
|
390 |
+(modify-syntax-entry ?* "w" lisp-mode-syntax-table) |
|
391 |
+(modify-syntax-entry ?+ "w" lisp-mode-syntax-table) |
|
392 |
+(modify-syntax-entry ?! "w" lisp-mode-syntax-table) |
|
393 |
+(modify-syntax-entry ?$ "w" lisp-mode-syntax-table) |
|
394 |
+(modify-syntax-entry ?% "w" lisp-mode-syntax-table) |
|
395 |
+(modify-syntax-entry ?& "w" lisp-mode-syntax-table) |
|
396 |
+(modify-syntax-entry ?% "w" lisp-mode-syntax-table) |
|
397 |
+(modify-syntax-entry ?= "w" lisp-mode-syntax-table) |
|
398 |
+(modify-syntax-entry ?< "w" lisp-mode-syntax-table) |
|
399 |
+(modify-syntax-entry ?> "w" lisp-mode-syntax-table) |
|
400 |
+(modify-syntax-entry ?@ "w" lisp-mode-syntax-table) |
|
401 |
+(modify-syntax-entry ?[ "w" lisp-mode-syntax-table) |
|
402 |
+(modify-syntax-entry ?] "w" lisp-mode-syntax-table) |
|
403 |
+(modify-syntax-entry ?^ "w" lisp-mode-syntax-table) |
|
404 |
+(modify-syntax-entry ?_ "w" lisp-mode-syntax-table) |
|
405 |
+(modify-syntax-entry ?~ "w" lisp-mode-syntax-table) |
|
406 |
+(modify-syntax-entry ?{ "w" lisp-mode-syntax-table) |
|
407 |
+(modify-syntax-entry ?} "w" lisp-mode-syntax-table) |
|
408 |
+(modify-syntax-entry ?. "w" lisp-mode-syntax-table) |
|
409 |
+ |
|
410 |
+(modify-syntax-entry ?- "w" emacs-lisp-mode-syntax-table) |
|
411 |
+(modify-syntax-entry ?_ "w" emacs-lisp-mode-syntax-table) |
|
412 |
+ |
|
413 |
+(let ((default-directory "~/.emacs.d/lisp/")) |
|
414 |
+ (make-directory default-directory t) |
|
415 |
+ (normal-top-level-add-subdirs-to-load-path)) |
|
416 |
+ |
|
417 |
+ |
|
418 |
+(custom-set-faces |
|
419 |
+ ;; custom-set-faces was added by Custom. |
|
420 |
+ ;; If you edit it by hand, you could mess it up, so be careful. |
|
421 |
+ ;; Your init file should contain only one such instance. |
|
422 |
+ ;; If there is more than one, they won't work right. |
|
423 |
+ '(default ((t (:family "Source Code Pro" :foundry "adobe" :slant normal :weight semi-bold :height 113 :width normal))))) |
|
424 |
+ |
|
425 |
+ |
|
426 |
+(setq erc-hide-list '("JOIN" "PART" "QUIT")) |
|
427 |
+ |
|
428 |
+;; (defun znc-erc () |
|
429 |
+;; (interactive) |
|
430 |
+;; (erc-ssl :server "localhost" :port 6697 :nick "edwlan/freenode" :password "t31ch3rtb")) |
|
431 |
+ |
|
432 |
+(add-to-list 'auto-mode-alist '("\\.cljs\\.hl\\'" . clojurescript-mode)) |
|
433 |
+ |
|
434 |
+(add-hook 'ruby-mode-hook |
|
435 |
+ '(lambda () |
|
436 |
+ (eldoc-mode) |
|
437 |
+ (robe-mode))) |
|
438 |
+ |
|
439 |
+ |
|
440 |
+(add-hook 'clojure-mode-hook |
|
441 |
+ '(lambda () |
|
442 |
+ ;; Hoplon functions and macros |
|
443 |
+ (paredit-mode) |
|
444 |
+ (define-key evil-insert-state-map "^N" 'helm-cider-apropos) |
|
445 |
+ (dolist (pair '((page . 'defun) |
|
446 |
+ (loop-tpl . 'defun) |
|
447 |
+ (if-tpl . '1) |
|
448 |
+ (for-tpl . '1) |
|
449 |
+ (case-tpl . '1) |
|
450 |
+ (cond-tpl . 'defun))) |
|
451 |
+ (put-clojure-indent (car pair) |
|
452 |
+ (car (last pair)))))) |
|
453 |
+ |
|
454 |
+(setq tls-program '("openssl s_client -connect %h:%p -no_ssl2 -ign_eof")) |
|
455 |
+ |
|
456 |
+(global-auto-revert-mode t) |
|
457 |
+ |
|
458 |
+ ;;; Use auto-complete for ensime |
|
459 |
+ |
|
460 |
+(defun scala/enable-eldoc () |
|
461 |
+ "Show error message or type name at point by Eldoc." |
|
462 |
+ (setq-local eldoc-documentation-function |
|
463 |
+ #'(lambda () |
|
464 |
+ (when (ensime-connected-p) |
|
465 |
+ (let ((err (ensime-print-errors-at-point))) |
|
466 |
+ (or (and err (not (string= err "")) err) |
|
467 |
+ (ensime-print-type-at-point)))))) |
|
468 |
+ (eldoc-mode +1)) |
|
469 |
+ |
|
470 |
+(defun scala/completing-dot-company () |
|
471 |
+ (cond (company-backend |
|
472 |
+ (company-complete-selection) |
|
473 |
+ (scala/completing-dot)) |
|
474 |
+ (t |
|
475 |
+ (insert ".") |
|
476 |
+ (company-complete)))) |
|
477 |
+ |
|
478 |
+(defun scala/completing-dot-ac () |
|
479 |
+ (insert ".") |
|
480 |
+ (ac-trigger-key-command t)) |
|
481 |
+ |
|
482 |
+;; Interactive commands |
|
483 |
+ |
|
484 |
+(defun scala/completing-dot () |
|
485 |
+ "Insert a period and show company completions." |
|
486 |
+ (interactive "*") |
|
487 |
+ (eval-and-compile (require 'ensime)) |
|
488 |
+ (eval-and-compile (require 's)) |
|
489 |
+ (when (s-matches? (rx (+ (not space))) |
|
490 |
+ (buffer-substring (line-beginning-position) (point))) |
|
491 |
+ (delete-horizontal-space t)) |
|
492 |
+ (cond ((not (and (ensime-connected-p) ensime-completion-style)) |
|
493 |
+ (insert ".")) |
|
494 |
+ ((eq ensime-completion-style 'company) |
|
495 |
+ (scala/completing-dot-company)) |
|
496 |
+ ((eq ensime-completion-style 'auto-complete) |
|
497 |
+ (scala/completing-dot-ac)))) |
|
498 |
+ |
|
499 |
+;; Initialization |
|
500 |
+(add-hook 'ensime-mode-hook #'scala/enable-eldoc) |
|
501 |
+(add-hook 'scala-mode-hook 'ensime-scala-mode-hook) |
|
502 |
+(add-hook 'scala-mode-hook 'flycheck-mode) |
|
503 |
+(add-hook 'haskell-mode-hook 'intero-mode) |
|
504 |
+ |
|
505 |
+(add-hook 'c-mode-common-hook |
|
506 |
+ (lambda () |
|
507 |
+ (when (derived-mode-p 'c-mode 'c++-mode 'java-mode) |
|
508 |
+ (semantic-mode 1) |
|
509 |
+ |
|
510 |
+ (global-semanticdb-minor-mode 1) |
|
511 |
+ (global-semantic-idle-scheduler-mode 1) |
|
512 |
+ (global-semantic-stickyfunc-mode 1) |
|
513 |
+ |
|
514 |
+ (helm-gtags-mode) |
|
515 |
+ (ggtags-mode 1)))) |
|
516 |
+ |
|
517 |
+(setq company-backends (delete 'company-semantic company-backends)) |
|
518 |
+ |
|
519 |
+(defun alexott/cedet-hook () |
|
520 |
+ (local-set-key "\C-c\C-j" 'semantic-ia-fast-jump) |
|
521 |
+ (local-set-key "\C-c\C-s" 'semantic-ia-show-summary)) |
|
522 |
+ |
|
523 |
+(add-hook 'c-mode-common-hook 'alexott/cedet-hook) |
|
524 |
+(add-hook 'c-mode-hook 'alexott/cedet-hook) |
|
525 |
+(add-hook 'c++-mode-hook 'alexott/cedet-hook) |
|
526 |
+ |
|
527 |
+(defun set-exec-path-from-shell-PATH () |
|
528 |
+ "Set up Emacs' `exec-path' and PATH environment variable to match that used by the user's shell. |
|
529 |
+ |
|
530 |
+ This is particularly useful under Mac OSX, where GUI apps are not started from a shell." |
|
531 |
+ (interactive) |
|
532 |
+ (let ((path-from-shell (replace-regexp-in-string "[ \t\n]*$" "" (shell-command-to-string "$SHELL --login -i -c 'echo $PATH'")))) |
|
533 |
+ (setenv "PATH" path-from-shell) |
|
534 |
+ (setq exec-path (split-string path-from-shell path-separator)))) |
|
535 |
+(set-exec-path-from-shell-PATH) |
|
536 |
+ |
|
537 |
+(require 'ede) |
|
538 |
+(global-ede-mode) |
|
539 |
+ |
|
540 |
+(custom-set-variables |
|
541 |
+ ;; custom-set-variables was added by Custom. |
|
542 |
+ ;; If you edit it by hand, you could mess it up, so be careful. |
|
543 |
+ ;; Your init file should contain only one such instance. |
|
544 |
+ ;; If there is more than one, they won't work right. |
|
545 |
+ '(ansi-color-faces-vector |
|
546 |
+ [default bold shadow italic underline bold bold-italic bold]) |
|
547 |
+ '(ansi-color-names-vector |
|
548 |
+ ["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"]) |
|
549 |
+ '(browse-url-browser-function (quote browse-url-generic)) |
|
550 |
+ '(browse-url-generic-program "x-www-browser") |
|
551 |
+ '(company-backends |
|
552 |
+ (quote |
|
553 |
+ (company-semantic company-bbdb company-nxml company-css company-xcode company-cmake company-capf company-files |
|
554 |
+ (company-dabbrev-code company-gtags company-etags company-keywords) |
|
555 |
+ company-oddmuse company-dabbrev))) |
|
556 |
+ '(custom-enabled-themes (quote (zenburn))) |
|
557 |
+ '(custom-safe-themes |
|
558 |
+ (quote |
|
559 |
+ ("f5512c02e0a6887e987a816918b7a684d558716262ac7ee2dd0437ab913eaec6" "9d91458c4ad7c74cf946bd97ad085c0f6a40c370ac0a1cbeb2e3879f15b40553" "4e753673a37c71b07e3026be75dc6af3efbac5ce335f3707b7d6a110ecb636a3" "4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328" "ab04c00a7e48ad784b52f34aa6bfa1e80d0c3fcacc50e1189af3651013eb0d58" "a0feb1322de9e26a4d209d1cfa236deaf64662bb604fa513cca6a057ddf0ef64" default))) |
|
560 |
+ '(erc-modules |
|
561 |
+ (quote |
|
562 |
+ (autoaway autojoin button capab-identify completion fill irccontrols list match menu move-to-prompt netsplit networks noncommands readonly ring stamp spelling track))) |
|
563 |
+ '(erc-truncate-mode t) |
|
564 |
+ '(evil-leader/leader ",") |
|
565 |
+ '(evil-visual-mark-mode t) |
|
566 |
+ '(font-use-system-font t) |
|
567 |
+ '(ggtags-sort-by-nearness t) |
|
568 |
+ '(ggtags-update-on-save t) |
|
569 |
+ '(global-evil-surround-mode t) |
|
570 |
+ '(global-linum-mode t) |
|
571 |
+ '(haskell-mode-hook |
|
572 |
+ (quote |
|
573 |
+ (capitalized-words-mode haskell-decl-scan-mode haskell-indentation-mode highlight-uses-mode imenu-add-menubar-index interactive-haskell-mode)) t) |
|
574 |
+ '(helm-ls-git-fuzzy-match t) |
|
575 |
+ '(jdee-server-dir "~/.emacs.d/jdee-server/") |
|
576 |
+ '(jira-url "https://atomampd.atlassian.net/rpc/xmlrpc") |
|
577 |
+ '(line-number-mode nil) |
|
578 |
+ '(mac-command-modifier nil) |
|
579 |
+ '(mac-option-modifier (quote meta)) |
|
580 |
+ '(mac-pass-command-to-system t) |
|
581 |
+ '(nrepl-message-colors |
|
582 |
+ (quote |
|
583 |
+ ("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3"))) |
|
584 |
+ '(package-selected-packages |
|
585 |
+ (quote |
|
586 |
+ (deft geiser pollen-mode js2-refactor npm-mode helm-dash aggressive-indent company-tern tern srefactor ac-slime znc helm-ag ag helm-projectile notmuch zenburn-theme zeal-at-point use-package tabbar slime-company rainbow-delimiters projectile mvn jdee intero helm evil-visual-mark-mode evil-vimish-fold evil-paredit evil-numbers ensime eldoc-eval editorconfig color-theme ansible alect-themes ac-js2))) |
|
587 |
+ '(pe/omit-gitignore t) |
|
588 |
+ '(safe-local-variable-values |
|
589 |
+ (quote |
|
590 |
+ ((company-clang-arguments "-I.") |
|
591 |
+ (Base . 10) |
|
592 |
+ (Package . CL-USER) |
|
593 |
+ (Syntax . COMMON-LISP)))) |
|
594 |
+ '(slime-company-completion (quote fuzzy))) |