(defvar generic-lisp-mode-hook '()
"Generic lisp hooks to run")
(defun run-lisp-mode-hooks ()
"Run standard lisp mode hooks"
(run-hooks 'generic-lisp-mode-hook))
(dolist (hook '(scheme-mode-hook clojure-mode-hook lisp-mode-hook emacs-lisp-mode-hook))
(add-hook hook 'run-lisp-mode-hooks))
(use-package paredit
:ensure t
:diminish "⒫"
:init
(emagician/minor-in-major-mode paredit-mode generic-lisp-mode-hook))
Turn this shit off on lisps
(add-hook 'generic-lisp-mode-hook #'turn-off-smartparens-mode t)
(with-eval-after-load 'dash
(dash-enable-font-lock))
(use-package eldoc
:diminish ""
:init
(setq eldoc-idle-delay 0.1)
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
:config
(set-face-attribute 'eldoc-highlight-function-argument nil
:underline t :foreground "green"
:weight 'bold))
(emagician/defhook emagician/ac-set-elisp-sources emacs-lisp-mode
(setq ac-sources
'(ac-source-yasnippet
ac-source-functions
ac-source-features
ac-source-variables
ac-source-symbols
ac-source-files-in-current-dir
ac-source-words-in-buffer
ac-source-words-in-same-mode-buffers)))
(put 'use-package 'lisp-indent-function 1)
(put 'lexically 'lisp-indent-function 0)
(use-package flycheck-package
:config
(flycheck-package-setup))
Don’t flycheck in emacs-lisp-mode org-src buffers! SO ANNOYING!
(emagician/defhook turn-off-flycheck-in-emacs-lisp org-src-mode-hook
(when (equal mode-name "Emacs-Lisp")
(flycheck-mode -1)))
;; Indenting module body code at column 0
(defun scheme-module-indent (state indent-point normal-indent) 0)
(put 'module 'scheme-indent-function 'scheme-module-indent)
(put 'and-let* 'scheme-indent-function 1)
(put 'parameterize 'scheme-indent-function 1)
(put 'handle-exceptions 'scheme-indent-function 1)
(put 'when 'scheme-indent-function 1)
(put 'unless 'scheme-indent-function 1)
(put 'match 'scheme-indent-function 1)
(use-package geiser
:init
(setq geiser-active-implementations '(chicken))
:config
(emagician/defhook emagician/ac-set-scheme-sources scheme-mode-hook))