Added support for supporting multiple project by using a predicate
hook pair list. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3152 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
8f1d3c944b
commit
1b71742d35
1 changed files with 37 additions and 3 deletions
|
@ -1,10 +1,44 @@
|
|||
;; $Id$ -*- emacs-lisp -*-
|
||||
|
||||
;; Here's a sample .emacs file that might help you along the way.
|
||||
;; Just copy this region and paste it into your .emacs file. You
|
||||
;; might not want to use this if you already use c-mode-hooks for
|
||||
;; other styles.
|
||||
|
||||
;; First comes a setup that is ideal when you are only working with
|
||||
;; rockbox. Just select the next few lines, paste it into your .emacs
|
||||
;; and change the path to the tools folder. (If you are using more
|
||||
;; than one style. Look further down the this file.)
|
||||
|
||||
(load-file "<YOUR-PATH-TO-ROCKBOX>/tools/rockbox-style.el")
|
||||
(add-hook 'c-mode-common-hook 'rockbox-c-mode-common-hook)
|
||||
|
||||
;; If you are using more than one style in maybe more than one project
|
||||
;; the example below might help out. It uses a predicate hook pair to
|
||||
;; select the right hook to use.
|
||||
|
||||
(defvar my-style-selective-mode-hook nil
|
||||
"Holds a list of predicate and hooks pairs. (list (PREDICATE . HOOK)
|
||||
...) It is used by my-mode-selective-mood-hook-function for choosing
|
||||
the right hook to run.")
|
||||
|
||||
(defun my-style-selective-mode-hook-function ()
|
||||
"Run each PREDICATE in `my-style-selective-mode-hook' to see if the
|
||||
HOOK in the pair should be executed. If the PREDICATE evaluate to non
|
||||
nil HOOK is executed and the rest of the hooks are ignored."
|
||||
(let ((h my-style-selective-mode-hook))
|
||||
(while (not (eval (caar h)))
|
||||
(setq h (cdr h)))
|
||||
(funcall (cdar h))))
|
||||
|
||||
;;; Example configuration.
|
||||
;; Add the selective hook to the c-mode-common-hook
|
||||
(add-hook 'c-mode-common-hook 'my-style-selective-mode-hook-function)
|
||||
|
||||
;; Add your own hooks and predicates. The predicate should evaluate to
|
||||
;; non nil if the hook in the pair is supposed to be evaluated. In the
|
||||
;; example a part of the path is used to select what style to
|
||||
;; use. Choose what is appropriate for you.
|
||||
(add-hook 'my-style-selective-mode-hook
|
||||
'((string-match "rockbox" (buffer-file-name)) . rockbox-c-mode-common-hook))
|
||||
(add-hook 'my-style-selective-mode-hook
|
||||
'((string-match "other" (buffer-file-name)) . other-c-mode-common-hook))
|
||||
;; Make sure the default style is appended.
|
||||
(add-hook 'my-style-selective-mode-hook '(t . my-c-mode-common-hook) t)
|
||||
|
|
Loading…
Reference in a new issue