Skip to content
This repository has been archived by the owner on Jan 3, 2023. It is now read-only.

Commit

Permalink
Autoload everything in starter-kit-lisp.el.
Browse files Browse the repository at this point in the history
  • Loading branch information
technomancy committed Dec 14, 2010
1 parent e515794 commit 8190de1
Showing 1 changed file with 46 additions and 43 deletions.
89 changes: 46 additions & 43 deletions languages/starter-kit-lisp.el
Original file line number Diff line number Diff line change
Expand Up @@ -39,51 +39,54 @@

;; Emacs Lisp

(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
(add-hook 'emacs-lisp-mode-hook 'esk-remove-elc-on-save)

(defun esk-remove-elc-on-save ()
"If you're saving an elisp file, likely the .elc is no longer valid."
(make-local-variable 'after-save-hook)
(add-hook 'after-save-hook
(lambda ()
(if (file-exists-p (concat buffer-file-name "c"))
(delete-file (concat buffer-file-name "c"))))))

(define-key emacs-lisp-mode-map (kbd "M-.") 'find-function-at-point)
(define-key emacs-lisp-mode-map (kbd "C-c v") 'eval-buffer)
;;;###autoload
(progn
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
(add-hook 'emacs-lisp-mode-hook 'esk-remove-elc-on-save)

(defun esk-remove-elc-on-save ()
"If you're saving an elisp file, likely the .elc is no longer valid."
(make-local-variable 'after-save-hook)
(add-hook 'after-save-hook
(lambda ()
(if (file-exists-p (concat buffer-file-name "c"))
(delete-file (concat buffer-file-name "c"))))))

(define-key emacs-lisp-mode-map (kbd "M-.") 'find-function-at-point)
(define-key emacs-lisp-mode-map (kbd "C-c v") 'eval-buffer)

;;; Enhance Lisp Modes

(define-key read-expression-map (kbd "TAB") 'lisp-complete-symbol)
(define-key lisp-mode-shared-map (kbd "RET") 'reindent-then-newline-and-indent)

(defface esk-paren-face
'((((class color) (background dark))
(:foreground "grey50"))
(((class color) (background light))
(:foreground "grey55")))
"Face used to dim parentheses."
:group 'starter-kit-faces)

(eval-after-load 'paredit
;; need a binding that works in the terminal
'(define-key paredit-mode-map (kbd "M-)") 'paredit-forward-slurp-sexp))

(dolist (mode '(scheme emacs-lisp lisp clojure))
(when (> (display-color-cells) 8)
(font-lock-add-keywords (intern (concat (symbol-name mode) "-mode"))
'(("(\\|)" . 'esk-paren-face))))
(add-hook (intern (concat (symbol-name mode) "-mode-hook")) 'run-coding-hook)
(add-hook (intern (concat (symbol-name mode) "-mode-hook"))
'esk-turn-on-paredit))

(eval-after-load 'clojure-mode
'(font-lock-add-keywords
'clojure-mode `(("(\\(fn\\>\\)"
(0 (progn (compose-region (match-beginning 1)
(match-end 1) "ƒ")
nil))))))
(define-key read-expression-map (kbd "TAB") 'lisp-complete-symbol)
(define-key lisp-mode-shared-map (kbd "RET") 'reindent-then-newline-and-indent)

(defface esk-paren-face
'((((class color) (background dark))
(:foreground "grey50"))
(((class color) (background light))
(:foreground "grey55")))
"Face used to dim parentheses."
:group 'starter-kit-faces)

(eval-after-load 'paredit
;; need a binding that works in the terminal
'(define-key paredit-mode-map (kbd "M-)") 'paredit-forward-slurp-sexp))

(dolist (mode '(scheme emacs-lisp lisp clojure))
(when (> (display-color-cells) 8)
(font-lock-add-keywords (intern (concat (symbol-name mode) "-mode"))
'(("(\\|)" . 'esk-paren-face))))
(add-hook (intern (concat (symbol-name mode) "-mode-hook")) 'esk-run-coding-hook)
(add-hook (intern (concat (symbol-name mode) "-mode-hook")) 'esk-turn-on-paredit)
(add-hook (intern (concat (symbol-name mode) "-mode-hook"))
'esk-turn-on-paredit))

(eval-after-load 'clojure-mode
'(font-lock-add-keywords
'clojure-mode `(("(\\(fn\\>\\)"
(0 (progn (compose-region (match-beginning 1)
(match-end 1) "ƒ")
nil)))))))

(provide 'starter-kit-lisp)
;; starter-kit-lisp.el ends here
;;; starter-kit-lisp.el ends here

0 comments on commit 8190de1

Please sign in to comment.