git.fiddlerwoaroof.com
Browse code

Fix smartparens-config

Ed Langley authored on 14/09/2018 17:53:24
Showing 3 changed files
... ...
@@ -15,8 +15,11 @@
15 15
 
16 16
 (use-package color-theme :ensure t)
17 17
 ;; (use-package zenburn-theme :ensure t)
18
+(add-to-list 'load-path "~/.emacs.d/themes/")
19
+(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/")
18 20
 (require 'el-zenburn-theme)
19 21
 (color-theme-initialize)
22
+
20 23
 (load-theme 'el-zenburn t)
21 24
 
22 25
 (load-package-configuration 'evil)
... ...
@@ -62,21 +65,10 @@
62 65
   :config
63 66
   (define-key evil-insert-state-map (kbd "C-c ,") 'emmet-expand-line))
64 67
 
65
-(use-package lisp-skeletons
66
-  :config
67
-  (add-hook 'skeleton-end-hook 'skeleton-make-markers)
68
-
69
-  (define-key evil-insert-state-map (kbd "C-c j") 'skeleton-next-position)
70
-  (define-key evil-insert-state-map (kbd "C-c k") 'skeleton-prev-position)
71
-  (define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton)
72
-  (define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton))
73
-
74
-(load-package-configuration 'slime)
75 68
 
76 69
 (use-package company-posframe
77 70
   :ensure t)
78 71
 (use-package company
79
-  :defer 5
80 72
   :config
81 73
   ;; keybindings
82 74
   (progn (define-key company-active-map (kbd "C-c h") 'company-quickhelp-manual-begin)
... ...
@@ -93,6 +85,7 @@
93 85
           company-xcode
94 86
           company-cmake
95 87
           company-capf
88
+          company-slime
96 89
           company-files
97 90
           (company-dabbrev-code
98 91
            company-gtags
... ...
@@ -103,6 +96,18 @@
103 96
   (add-hook 'company-mode-hook (lambda () (company-posframe-mode 1)))
104 97
   )
105 98
 
99
+(use-package lisp-skeletons
100
+  :config
101
+  (add-hook 'skeleton-end-hook 'skeleton-make-markers)
102
+
103
+  (define-key evil-insert-state-map (kbd "C-c j") 'skeleton-next-position)
104
+  (define-key evil-insert-state-map (kbd "C-c k") 'skeleton-prev-position)
105
+  (define-key evil-normal-state-map " g" 'helm-generate-lisp-skeleton)
106
+  (define-key evil-visual-state-map " g" 'helm-generate-lisp-skeleton))
107
+
108
+(load-package-configuration 'slime)
109
+(global-company-mode 1)
110
+
106 111
 (use-package projectile
107 112
   :ensure t
108 113
   :config
... ...
@@ -143,6 +148,7 @@
143 148
 (ensure-use-packages
144 149
  ;;(ac-js2)
145 150
  (ag)
151
+ (aggressive-indent)
146 152
  (css-eldoc)
147 153
  (csv-mode)
148 154
  (eldoc-eval)
... ...
@@ -14,22 +14,27 @@
14 14
         (concat "file://" common-lisp-hyperspec-root)))
15 15
 
16 16
 ;; Replace "sbcl" with the path to your implementation
17
-(setq inferior-lisp-program "~/sbcl/bin/sbcl"
18
-      slime-company-completion 'fuzzy) 
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))) 
17
+(setq inferior-lisp-program "~/sbcl/bin/sbcl") 
26 18
 
27
-(setq slime-contribs
28
-      '(slime-fancy
29
-        slime-company
30
-        slime-macrostep
31
-        slime-trace-dialog
32
-        slime-mdot-fu))
19
+(defun setup-lisp-mode ()
20
+  (comment
21
+   (unless (string= "*slime-scratch*" (buffer-name))
22
+     (paredit-mode)
23
+     (evil-paredit-mode)))
24
+
25
+  (unless (string= "*slime-scratch*" (buffer-name))
26
+    (smartparens-strict-mode 1)
27
+    (evil-smartparens-mode 1)
28
+    (aggressive-indent-mode 1))
29
+
30
+  (define-key evil-insert-state-map "^N" 'slime-fuzzy-indent-and-complete-symbol)
31
+  (unless (string= "*slime-scratch*" (buffer-name))
32
+    (paredit-mode)
33
+    (evil-paredit-mode))
34
+  (rainbow-delimiters-mode))
35
+
36
+(add-hook 'lisp-mode-hook 'setup-lisp-mode) 
37
+(add-hook 'emacs-lisp-mode-hook 'setup-lisp-mode) 
33 38
 
34 39
 
35 40
 (modify-syntax-entry ?- "w" lisp-mode-syntax-table)
... ...
@@ -77,7 +82,52 @@
77 82
          slime-selector-methods
78 83
          :key #'car)
79 84
 
85
+(defun slime-ecl ()
86
+  (interactive)
87
+  (let ((inferior-lisp-program "ecl"))
88
+    (slime)))
89
+
90
+(defun slime-cmucl ()
91
+  (interactive)
92
+  (let ((inferior-lisp-program "cmucl"))
93
+    (slime)))
94
+
95
+(defun slime-sbcl ()
96
+  (interactive)
97
+  (let ((inferior-lisp-program "sbcl"))
98
+    (slime)))
99
+
100
+(defun slime-ccl ()
101
+  (interactive)
102
+  (let ((inferior-lisp-program "ccl"))
103
+    (slime)))
104
+
105
+(defun find-use-clause (current-form)
106
+  (when current-form
107
+    (destructuring-bind (discriminator . packages) current-form
108
+      (case discriminator
109
+        (:use (remove-if (op (or (eql :cl _)))
110
+                         (cdr current-form)))
111
+        (defpackage (find-use-clause
112
+                     (find-if (lambda (f)
113
+                                (and (listp f)
114
+                                     (eql (car f) :use)))
115
+                              '(defpackage :tracking-sim (:use :cl :alexandria :serapeum) (:export)))))))))
116
+
117
+(defun load-package-uses ()
118
+  (interactive)
119
+  (slime-eval-async `(ql:quickload ',(find-use-clause (list-at-point)))))
120
+
121
+
122
+(message (format "s-c-c is: %s" slime-company-completion))
80 123
 
124
+(setq slime-contribs
125
+      '(slime-fancy
126
+        slime-company
127
+        slime-macrostep
128
+        slime-trace-dialog
129
+        slime-mdot-fu))
81 130
 
131
+(slime-setup)
82 132
 
83 133
  ;;;;; }}}
... ...
@@ -44,42 +44,6 @@
44 44
                                             (mark))))
45 45
                   :components)))
46 46
 
47
-(defun slime-ecl ()
48
-  (interactive)
49
-  (let ((inferior-lisp-program "ecl"))
50
-    (slime)))
51
-
52
-(defun slime-cmucl ()
53
-  (interactive)
54
-  (let ((inferior-lisp-program "cmucl"))
55
-    (slime)))
56
-
57
-(defun slime-sbcl ()
58
-  (interactive)
59
-  (let ((inferior-lisp-program "sbcl"))
60
-    (slime)))
61
-
62
-(defun slime-ccl ()
63
-  (interactive)
64
-  (let ((inferior-lisp-program "ccl"))
65
-    (slime)))
66
-
67
-(defun find-use-clause (current-form)
68
-  (when current-form
69
-    (destructuring-bind (discriminator . packages) current-form
70
-      (case discriminator
71
-        (:use (remove-if (op (or (eql :cl _)))
72
-                         (cdr current-form)))
73
-        (defpackage (find-use-clause
74
-                     (find-if (lambda (f)
75
-                                (and (listp f)
76
-                                     (eql (car f) :use)))
77
-                              '(defpackage :tracking-sim (:use :cl :alexandria :serapeum) (:export)))))))))
78
-
79
-(defun load-package-uses ()
80
-  (interactive)
81
-  (slime-eval-async `(ql:quickload ',(find-use-clause (list-at-point)))))
82
-
83 47
 (defmacro comment (&rest _))
84 48
 
85 49
 (comment
... ...
@@ -150,9 +114,7 @@ started from a shell."
150 114
   (global-linum-mode)
151 115
   (set-exec-path-from-shell-PATH)
152 116
   ;; NOTE: this must be here...
153
-  (global-company-mode 1)
154
-  (message (format "s-c-c is: %s" slime-company-completion))
155
-  (slime-setup))
117
+  (global-company-mode 1))
156 118
 
157 119
 (defun cold-boot ()
158 120
   (setq fwoar.is-ordinary (not (string= invocation-name "EmacsNotes")))