git.fiddlerwoaroof.com
Browse code

Continued modularization

Ed Langley authored on 14/09/2018 05:25:31
Showing 6 changed files
... ...
@@ -4,80 +4,17 @@
4 4
 (setq inhibit-splash-screen t)
5 5
 (setq inhibit-startup-message t)
6 6
 
7
-(defun do-init ()
8
-            ;;;;; INDENTATION SETUP  {{{
9
-  (progn
10
-    (setq-default indent-tabs-mode nil
11
-                  tab-width 2)
12
-    (defvaralias 'c-basic-offset 'tab-width)
13
-    (defvaralias 'sh-basic-offset 'tab-width)
14
-    (defvaralias 'js2-basic-offset 'tab-width)
15
-    (defvaralias 'sgml-basic-offset 'tab-width)
16
-    (defvaralias 'cperl-indent-level 'tab-width))
17
-            ;;;;; }}}
18
-
19
-  ;; (require 'projectile)
20
-  ;; (require 'evil-numbers)
21
-  (unless (fboundp 'server-running-p)
22
-    (require 'server))
23
-  (let ((server-name (if fwoar.is-ordinary
24
-                         server-name
25
-                       "notes")))
26
-    (unless (server-running-p)
27
-      (server-start)))
28
-  (projectile-mode)
29
-  (evil-mode)
30
-  ;; (paredit-mode)
31
-  ;;(global-company-mode)
32
-  ;; (setq linum-format "%5d\u2502")
33
-  (global-linum-mode)
34
-  (set-exec-path-from-shell-PATH)
35
-  ;; NOTE: this must be here...
36
-  (global-company-mode 1)
37
-  (slime-setup))
38
-
39
-(setq fwoar.is-ordinary (not (string= invocation-name "EmacsNotes")))
40
-(add-hook 'after-init-hook 'do-init)
41
-
42
-(when (file-exists-p "/usr/local/bin/gls")
43
-  (setq insert-directory-program "/usr/local/bin/gls"))
44
-
45 7
 (let ((default-directory  "~/.emacs.d/lisp/"))
46 8
   (make-directory default-directory t)
47 9
   (normal-top-level-add-to-load-path '("."))
48 10
   (normal-top-level-add-subdirs-to-load-path)
49 11
   (load "utils"))
50 12
 
51
-(use-package smartparens
52
-  :ensure t)
53
-
54
-(setq default-directory "~/emacs-home/")
55
-(make-directory default-directory t)
56
-
57
-(setq vc-follow-symlinks t)
58
-
59
-(require 'package)
60
-
61
-(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
62
-                         ("org" . "http://orgmode.org/elpa/")
63
-                         ("melpa" . "https://melpa.org/packages/")
64
-                         ("melpa-stable" . "http://stable.melpa.org/packages/"))
65
-      package-archive-priorities '(("melpa-stable" . 1)
66
-                                   ("gnu" . 0)
67
-                                   ("melpa" . 2)
68
-                                   ("org" . 3)))
13
+(cold-boot)
69 14
 
70
-(package-initialize)
71
-(when (not (package-installed-p 'use-package))
72
-  (package-refresh-contents)
73
-  (package-install 'use-package))
74
-
75
-
76
-
77
-(require 'use-package)
78 15
 (use-package color-theme :ensure t)
79
-(use-package zenburn-theme :ensure t)
80
-(load "~/.emacs.d/el-zenburn-theme.el")
16
+;; (use-package zenburn-theme :ensure t)
17
+(require 'el-zenburn-theme)
81 18
 (color-theme-initialize)
82 19
 (load-theme 'el-zenburn t)
83 20
 
... ...
@@ -85,8 +22,7 @@
85 22
 
86 23
 (use-package multifiles
87 24
   :config
88
-  (define-key evil-visual-state-map " m" 'mf/mirror-region-in-multifile)
89
-  )
25
+  (define-key evil-visual-state-map " m" 'mf/mirror-region-in-multifile))
90 26
 
91 27
 
92 28
 (use-package tern
... ...
@@ -113,23 +49,17 @@
113 49
         org-refile-targets '((nil . (:maxlevel . 2))))
114 50
 
115 51
   (define-key global-map "\C-cc" 'org-capture)
116
-  (define-key evil-visual-state-map " c" 'org-capture)
117
-
118
-
119
-
120
-  )
52
+  (define-key evil-visual-state-map " c" 'org-capture))
121 53
 
122 54
 (use-package deft
123 55
   :ensure t
124 56
   :config
125
-  (define-key evil-normal-state-map " v" 'deft)
126
-  )
57
+  (define-key evil-normal-state-map " v" 'deft))
127 58
 
128 59
 (use-package emmet-mode
129 60
   :ensure t
130 61
   :config
131
-  (define-key evil-insert-state-map (kbd "C-c ,") 'emmet-expand-line)
132
-  )
62
+  (define-key evil-insert-state-map (kbd "C-c ,") 'emmet-expand-line))
133 63
 
134 64
 (use-package lisp-skeletons
135 65
   :config
... ...
@@ -140,93 +70,8 @@
140 70
   (define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton)
141 71
   (define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton))
142 72
 
143
-(setq browse-url-browser-function
144
-      'eww-browse-url)
145
-
146
-
147
-;;;; SLIME SETUP {{{
148
-;; (load (expand-file-name "~/quicklisp/slime-helper.el"))
149
-(add-to-list 'load-path "~/git_repos/3dp/slime/")
150
-(require 'slime)
151
-
152
-(use-package slime-company
153
-  :ensure t)
73
+(load-package-configuration 'slime)
154 74
 
155
-(global-set-key (kbd "C-c x") 'slime-export-symbol-at-point)
156
-
157
-(when (and (boundp 'common-lisp-hyperspec-root)
158
-           (string-prefix-p "/" common-lisp-hyperspec-root))
159
-  (setq common-lisp-hyperspec-root
160
-        (concat "file://" common-lisp-hyperspec-root)))
161
-
162
-;; Replace "sbcl" with the path to your implementation
163
-(setq inferior-lisp-program "~/sbcl/bin/sbcl")
164
-
165
-(add-hook 'lisp-mode-hook
166
-          '(lambda ()
167
-             ;;(define-key evil-insert-state-map "^N" 'slime-fuzzy-indent-and-complete-symbol)
168
-             ;; (unless (string= "*slime-scratch*" (buffer-name))
169
-             ;;   (paredit-mode)
170
-             ;;   (evil-paredit-mode))
171
-             (rainbow-delimiters-mode))) 
172
-
173
-(setq slime-contribs
174
-      '(slime-fancy
175
-        slime-company
176
-        slime-macrostep
177
-        slime-trace-dialog
178
-        slime-mdot-fu))
179
-
180
-
181
-(modify-syntax-entry ?- "w" lisp-mode-syntax-table)
182
-(modify-syntax-entry ?* "w" lisp-mode-syntax-table)
183
-(modify-syntax-entry ?+ "w" lisp-mode-syntax-table)
184
-(modify-syntax-entry ?! "w" lisp-mode-syntax-table)
185
-(modify-syntax-entry ?$ "w" lisp-mode-syntax-table)
186
-(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
187
-(modify-syntax-entry ?& "w" lisp-mode-syntax-table)
188
-(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
189
-(modify-syntax-entry ?= "w" lisp-mode-syntax-table)
190
-(modify-syntax-entry ?< "w" lisp-mode-syntax-table)
191
-(modify-syntax-entry ?> "w" lisp-mode-syntax-table)
192
-(modify-syntax-entry 91 "(" lisp-mode-syntax-table)
193
-(modify-syntax-entry 93 ")" lisp-mode-syntax-table)
194
-;;(modify-syntax-entry ?@ "w" lisp-mode-syntax-table)
195
-
196
-(modify-syntax-entry ?^ "w" lisp-mode-syntax-table)
197
-(modify-syntax-entry ?_ "w" lisp-mode-syntax-table)
198
-(modify-syntax-entry ?~ "w" lisp-mode-syntax-table)
199
-(modify-syntax-entry ?. "w" lisp-mode-syntax-table)
200
-
201
-(setq shr-inhibit-images t
202
-      shr-use-fonts nil)
203
-
204
-(defun fwoar--clhs-lookup (&rest args)
205
-  (let ((browse-url-browser-function 'eww-browse-url))
206
-    (hyperspec-lookup (word-at-point))))
207
-
208
-(pushnew (list ?h "Check hyperspec" #'fwoar--clhs-lookup)
209
-         slime-selector-methods
210
-         :key #'car)
211
-
212
-(defun fwoar--slime-find-system ()
213
-  (let ((systems (directory-files
214
-                  (locate-dominating-file default-directory
215
-                                          (lambda (n)
216
-                                            (directory-files n nil "^[^.#][^#]*[.]asd$")))
217
-                  t "^[^.#][^#]*[.]asd$")))
218
-    (find-file (if (not (null (cdr systems)))
219
-                   (helm-comp-read "system:" systems)
220
-                 (car systems)))))
221
-
222
-(pushnew (list ?S "Goto System" #'fwoar--slime-find-system)
223
-         slime-selector-methods
224
-         :key #'car)
225
-
226
-
227
-
228
-
229
- ;;;;; }}}
230 75
 (use-package company-posframe
231 76
   :ensure t)
232 77
 (use-package company
... ...
@@ -295,28 +140,29 @@
295 140
   )
296 141
 
297 142
 (ensure-use-packages
298
- (css-eldoc)
143
+ ;;(ac-js2)
299 144
  (ag)
300
- (rainbow-delimiters)
145
+ (css-eldoc)
146
+ (csv-mode)
147
+ (eldoc-eval)
301 148
  (helm)
149
+ (helm-ag)
150
+ (helm-ag-r)
151
+ ;;(helm-cider :defer 5)
152
+ (helm-css-scss)
153
+ (helm-ls-git)
302 154
  (helm-projectile)
303
- (eldoc-eval)
304
- (csv-mode)
305
- (yaml-mode)
306
- (web-mode)
307
- (vue-mode)
308
- (scss-mode)
309
- (markdown-mode)
310
- (magit :defer 2)
311
- (highlight-parentheses)
312 155
  (helm-projectile)
313
- (helm-ls-git)
314
- (helm-css-scss)
315
- ;;(ac-js2)
316
- ;;(helm-cider :defer 5)
317
- (helm-ag-r)
318
- (helm-ag)
319
- (project-explorer))
156
+ (highlight-parentheses)
157
+ (magit :defer 2)
158
+ (markdown-mode)
159
+ (project-explorer)
160
+ (rainbow-delimiters)
161
+ (scss-mode)
162
+ (smartparens :ensure t)
163
+ (vue-mode)
164
+ (web-mode)
165
+ (yaml-mode))
320 166
 
321 167
 
322 168
 (progn ; helm
... ...
@@ -448,3 +294,5 @@
448 294
          org-capture-templates)
449 295
    (setq org-brain-visualize-default-choices 'all)
450 296
    (setq org-brain-title-max-length 12)))
297
+
298
+(message (format "s-c-c is: %s" slime-company-completion))
451 299
new file mode 100644
... ...
@@ -0,0 +1,86 @@
1
+(use-package evil
2
+  :ensure t
3
+  :config
4
+
5
+  (advice-add 'evil-delete-marks :after
6
+              (lambda (&rest args)
7
+                (evil-visual-mark-render)))
8
+
9
+  (evil-define-key 'normal lisp-mode-map " o" 'slime-selector)
10
+  (define-key evil-insert-state-map (kbd "TAB") 'company-indent-or-complete-common)
11
+  (evil-mode)
12
+  (use-package evil-smartparens
13
+    :ensure t
14
+    :after smartparens
15
+    :config
16
+    (evil-smartparens-mode 1)
17
+
18
+
19
+    (progn ;; wrapping
20
+      (define-key evil-normal-state-map ",W" 'sp-wrap-round)
21
+      (define-key evil-normal-state-map ",w(" 'sp-wrap-round)
22
+      (define-key evil-normal-state-map ",w)" 'sp-wrap-round)
23
+
24
+      (define-key evil-normal-state-map ",w{" 'sp-wrap-curly)
25
+      (define-key evil-normal-state-map ",w}" 'sp-wrap-curly)
26
+
27
+      (define-key evil-normal-state-map ",w[" 'sp-wrap-square)
28
+      (define-key evil-normal-state-map ",w]" 'sp-wrap-square))
29
+
30
+    (progn ;; splicing
31
+      (define-key evil-normal-state-map ",S" 'sp-splice-sexp)
32
+      (define-key evil-normal-state-map ",A" 'sp-splice-sexp-killing-backward)
33
+      (define-key evil-normal-state-map ",D" 'sp-splice-sexp-killing-forward)
34
+      (define-key evil-normal-state-map ",F" 'sp-splice-sexp-killing-around))
35
+
36
+    (progn ;; barf/slurp
37
+      (define-key evil-normal-state-map ",," 'sp-backward-barf-sexp)
38
+      (define-key evil-normal-state-map ",." 'sp-forward-barf-sexp)
39
+      (define-key evil-normal-state-map ",<" 'sp-backward-slurp-sexp)
40
+      (define-key evil-normal-state-map ",>" 'sp-forward-slurp-sexp))
41
+
42
+    (progn ;; misc
43
+      (define-key evil-normal-state-map ",~" 'sp-convolute-sexp)
44
+      (define-key evil-normal-state-map ",a" 'sp-absorb-sexp)
45
+      (define-key evil-normal-state-map ",e" 'sp-emit-sexp)
46
+      (define-key evil-normal-state-map ",`" 'sp-clone-sexp)
47
+      (define-key evil-normal-state-map ",J" 'sp-join-sexp)
48
+      (define-key evil-normal-state-map ",|" 'sp-split-sexp))
49
+
50
+
51
+    (progn ;; narrowing
52
+      (define-key evil-normal-state-map " n(" 'sp-narrow-to-sexp)
53
+      (define-key evil-normal-state-map " n)" 'sp-narrow-to-sexp)
54
+      (define-key evil-normal-state-map " nn" 'narrow-to-defun)
55
+      (define-key evil-normal-state-map " nr" 'narrow-to-region)
56
+      (define-key evil-normal-state-map " nw" 'widen)))
57
+
58
+  (progn ;; navigation
59
+    (define-key evil-normal-state-map " f" 'helm-projectile)
60
+    (define-key evil-normal-state-map " j" 'helm-buffers-list)
61
+    (define-key evil-normal-state-map " u" 'undo-tree-visualize))
62
+
63
+  (progn ;; completion
64
+    (define-key evil-normal-state-map (kbd "TAB") 'company-indent-or-complete-common)
65
+    (define-key evil-insert-state-map (kbd "TAB") 'company-indent-or-complete-common))
66
+
67
+  ;; (use-package  evil-paredit
68
+  ;;   :ensure t
69
+  ;;   :after paredit
70
+  ;;   :config
71
+  ;;   (evil-paredit-mode))
72
+
73
+
74
+  ;;(use-package evil-numbers
75
+  ;;  :ensure t
76
+  ;;  :config
77
+  ;;  (global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt)
78
+  ;;  (global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt))
79
+
80
+  (use-package evil-surround
81
+    :ensure t
82
+    :config
83
+    (global-evil-surround-mode))
84
+
85
+  (use-package evil-leader
86
+    :config (evil-leader/set-leader "ß")))
0 87
new file mode 100644
... ...
@@ -0,0 +1,83 @@
1
+;;;; SLIME SETUP {{{
2
+;; (load (expand-file-name "~/quicklisp/slime-helper.el"))
3
+(add-to-list 'load-path "~/git_repos/3dp/slime/")
4
+(require 'slime)
5
+
6
+(use-package slime-company
7
+  :ensure t)
8
+
9
+(global-set-key (kbd "C-c x") 'slime-export-symbol-at-point)
10
+
11
+(when (and (boundp 'common-lisp-hyperspec-root)
12
+           (string-prefix-p "/" common-lisp-hyperspec-root))
13
+  (setq common-lisp-hyperspec-root
14
+        (concat "file://" common-lisp-hyperspec-root)))
15
+
16
+;; Replace "sbcl" with the path to your implementation
17
+(setq inferior-lisp-program "~/sbcl/bin/sbcl")
18
+
19
+(add-hook 'lisp-mode-hook
20
+          '(lambda ()
21
+             ;;(define-key evil-insert-state-map "^N" 'slime-fuzzy-indent-and-complete-symbol)
22
+             ;; (unless (string= "*slime-scratch*" (buffer-name))
23
+             ;;   (paredit-mode)
24
+             ;;   (evil-paredit-mode))
25
+             (rainbow-delimiters-mode))) 
26
+
27
+(setq slime-contribs
28
+      '(slime-fancy
29
+        slime-company
30
+        slime-macrostep
31
+        slime-trace-dialog
32
+        slime-mdot-fu))
33
+
34
+
35
+(modify-syntax-entry ?- "w" lisp-mode-syntax-table)
36
+(modify-syntax-entry ?* "w" lisp-mode-syntax-table)
37
+(modify-syntax-entry ?+ "w" lisp-mode-syntax-table)
38
+(modify-syntax-entry ?! "w" lisp-mode-syntax-table)
39
+(modify-syntax-entry ?$ "w" lisp-mode-syntax-table)
40
+(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
41
+(modify-syntax-entry ?& "w" lisp-mode-syntax-table)
42
+(modify-syntax-entry ?% "w" lisp-mode-syntax-table)
43
+(modify-syntax-entry ?= "w" lisp-mode-syntax-table)
44
+(modify-syntax-entry ?< "w" lisp-mode-syntax-table)
45
+(modify-syntax-entry ?> "w" lisp-mode-syntax-table)
46
+(modify-syntax-entry 91 "(" lisp-mode-syntax-table)
47
+(modify-syntax-entry 93 ")" lisp-mode-syntax-table)
48
+;;(modify-syntax-entry ?@ "w" lisp-mode-syntax-table)
49
+
50
+(modify-syntax-entry ?^ "w" lisp-mode-syntax-table)
51
+(modify-syntax-entry ?_ "w" lisp-mode-syntax-table)
52
+(modify-syntax-entry ?~ "w" lisp-mode-syntax-table)
53
+(modify-syntax-entry ?. "w" lisp-mode-syntax-table)
54
+
55
+(setq shr-inhibit-images t
56
+      shr-use-fonts nil)
57
+
58
+(defun fwoar--clhs-lookup (&rest args)
59
+  (let ((browse-url-browser-function 'eww-browse-url))
60
+    (hyperspec-lookup (word-at-point))))
61
+
62
+(pushnew (list ?h "Check hyperspec" #'fwoar--clhs-lookup)
63
+         slime-selector-methods
64
+         :key #'car)
65
+
66
+(defun fwoar--slime-find-system ()
67
+  (let ((systems (directory-files
68
+                  (locate-dominating-file default-directory
69
+                                          (lambda (n)
70
+                                            (directory-files n nil "^[^.#][^#]*[.]asd$")))
71
+                  t "^[^.#][^#]*[.]asd$")))
72
+    (find-file (if (not (null (cdr systems)))
73
+                   (helm-comp-read "system:" systems)
74
+                 (car systems)))))
75
+
76
+(pushnew (list ?S "Goto System" #'fwoar--slime-find-system)
77
+         slime-selector-methods
78
+         :key #'car)
79
+
80
+
81
+
82
+
83
+ ;;;;; }}}
0 84
similarity index 87%
1 85
rename from emacs.d/el-zenburn-theme.el
2 86
rename to emacs.d/lisp/el-zenburn-theme.el
... ...
@@ -1,3 +1,12 @@
1
+;;; el-zenburn-theme.el --- A low contrast color theme for Emacs.
2
+
3
+;; Copyright (C) 2018- Edward Langley
4
+
5
+;; Author: Edward Langley <el@nowhere.example.com>
6
+;; URL: http://nowhere.example.com
7
+;; Package-Version: 20180913.2210
8
+;; Version: 0.1
9
+
1 10
 (deftheme el-zenburn
2 11
   "Created 2018-09-13.")
3 12
 
... ...
@@ -120,3 +120,69 @@ started from a shell."
120 120
                       :ensure t
121 121
                       ,@(cdr pck)))
122 122
                  packages)))
123
+
124
+(defun post-init ()
125
+            ;;;;; INDENTATION SETUP  {{{
126
+  (progn
127
+    (setq-default indent-tabs-mode nil
128
+                  tab-width 2)
129
+    (defvaralias 'c-basic-offset 'tab-width)
130
+    (defvaralias 'sh-basic-offset 'tab-width)
131
+    (defvaralias 'js2-basic-offset 'tab-width)
132
+    (defvaralias 'sgml-basic-offset 'tab-width)
133
+    (defvaralias 'cperl-indent-level 'tab-width))
134
+            ;;;;; }}}
135
+
136
+  ;; (require 'projectile)
137
+  ;; (require 'evil-numbers)
138
+  (unless (fboundp 'server-running-p)
139
+    (require 'server))
140
+  (let ((server-name (if fwoar.is-ordinary
141
+                         server-name
142
+                       "notes")))
143
+    (unless (server-running-p)
144
+      (server-start)))
145
+  (projectile-mode)
146
+  (evil-mode)
147
+  ;; (paredit-mode)
148
+  ;;(global-company-mode)
149
+  ;; (setq linum-format "%5d\u2502")
150
+  (global-linum-mode)
151
+  (set-exec-path-from-shell-PATH)
152
+  ;; NOTE: this must be here...
153
+  (global-company-mode 1)
154
+  (slime-setup))
155
+
156
+(defun cold-boot ()
157
+  (setq fwoar.is-ordinary (not (string= invocation-name "EmacsNotes")))
158
+  (add-hook 'after-init-hook 'post-init)
159
+
160
+  (when (file-exists-p "/usr/local/bin/gls")
161
+    (setq insert-directory-program "/usr/local/bin/gls"))
162
+
163
+  (setq default-directory "~/emacs-home/")
164
+  (make-directory default-directory t)
165
+
166
+  (setq vc-follow-symlinks t)
167
+
168
+  (require 'package)
169
+
170
+  (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
171
+                           ("org" . "http://orgmode.org/elpa/")
172
+                           ("melpa" . "https://melpa.org/packages/")
173
+                           ("melpa-stable" . "http://stable.melpa.org/packages/"))
174
+        package-archive-priorities '(("melpa-stable" . 1)
175
+                                     ("gnu" . 0)
176
+                                     ("melpa" . 2)
177
+                                     ("org" . 3)))
178
+
179
+  (package-initialize)
180
+  (when (not (package-installed-p 'use-package))
181
+    (package-refresh-contents)
182
+    (package-install 'use-package))
183
+
184
+  (setq browse-url-browser-function
185
+        'eww-browse-url)
186
+
187
+  (require 'use-package))
188
+
123 189
deleted file mode 100644
... ...
@@ -1,19 +0,0 @@
1
-(defun op--collect-args (body)
2
-  (flet ((walker (body &optional args)
3
-                 (if (null body)
4
-                     args
5
-                   (if (symbolp body)
6
-                       (when (eql ?\_ (elt (symbol-name body) 0))
7
-                         (cons body args))
8
-                     (if (listp body)
9
-                         (append (op--collect-args (car body))
10
-                                 (op--collect-args (cdr body))
11
-                                 ))))))
12
-    (sort (walker body)
13
-          (lambda (a b)
14
-            (< (string-to-number (subseq (symbol-name a) 1))
15
-               (string-to-number (subseq (symbol-name b) 1)))))))
16
-
17
-(defmacro op (&rest body)
18
-  `(lambda ,(op--collect-args body)
19
-     ,@body))