You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.0 KiB
57 lines
2.0 KiB
;;; lisp-mode-settings.el --- Settings for lisp modes. |
|
;; Slime - requires SBCL to be installed in /usr/local/bin/ (default for the install.sh |
|
;; script) |
|
|
|
(use-package paredit |
|
:ensure t |
|
:hook ((emacs-lisp-mode . enable-paredit-mode) |
|
(eval-expression-minibuffer-setup . enable-paredit-mode) |
|
(ielm-mode . enable-paredit-mode) |
|
(lisp-mode . enable-paredit-mode) |
|
(lisp-interaction-mode . enable-paredit-mode) |
|
(scheme-mode . enable-paredit-mode))) |
|
|
|
(use-package rainbow-delimiters |
|
:ensure t |
|
:hook ((clojure-mode . rainbow-delimiters-mode) |
|
(lisp-mode . rainbow-delimiters-mode) |
|
(scheme-mode . rainbow-delimiters-mode) |
|
(emacs-lisp-mode . rainbow-delimiters-mode))) |
|
|
|
;; Force code to always be indented correctly. |
|
(use-package aggressive-indent |
|
:ensure t |
|
:hook ((emacs-lisp-mode . aggressive-indent-mode) |
|
(lisp-mode . aggressive-indent-mode) |
|
(scheme-mode . aggressive-indent-mode) |
|
(clojure-mode . aggressive-indent-mode))) |
|
|
|
(use-package slime |
|
:ensure t |
|
:config |
|
(global-unset-key (kbd "<f1>")) |
|
(global-unset-key (kbd "<f2>")) |
|
(define-key lisp-mode-map (kbd "<f1>") 'slime-eval-buffer) |
|
(define-key lisp-mode-map (kbd "<f2>") 'slime-eval-defun)) |
|
|
|
(setq inferior-lisp-program "sbcl") |
|
(setq slime-contribs '(slime-fancy)) |
|
|
|
;; Enable paredit for lisp |
|
(autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t) |
|
|
|
;; Autoload the indent function |
|
(autoload 'common-lisp-indent-function "cl-indent" "Common Lisp indent.") |
|
|
|
(defun override-slime-repl-bindings-with-paredit () |
|
(define-key slime-repl-mode-map |
|
(read-kbd-macro paredit-backward-delete-key) nil)) |
|
|
|
(add-hook 'slime-repl-mode-hook 'override-slime-repl-bindings-with-paredit) |
|
|
|
;;--------------------------------------------------------- |
|
;; SLIME Quicklisp Integration. |
|
;;--------------------------------------------------------- |
|
(when (file-exists-p "~/quicklisp/slime-helper.el") |
|
(load (expand-file-name "~/quicklisp/slime-helper.el")) |
|
(setq inferior-lisp-program "sbcl"))
|
|
|