| ;; $Id$ -*- emacs-lisp -*- |
| |
| ;; Here's a sample .emacs file that might help you along the way. |
| |
| ;; 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-mode-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) |