| 9487f7f | 2011-08-03 07:05:30 -0700 | [diff] [blame] | 1 | |
| 2 | ;; This file was contributed by Mats Lidell |
| 3 | |
| 4 | ;; Here's a sample .emacs file that might help you along the way. |
| 5 | |
| 6 | ;; First comes a setup that is ideal when you are only working with curl. Just |
| 7 | ;; select the next few lines, paste it into your .emacs and change the path to |
| 8 | ;; the tools folder. (If you are using more than one style. Look further down |
| 9 | ;; this file.) |
| 10 | |
| 11 | (load-file "<YOUR-PATH-TO-CURL>/curl-style.el") |
| 12 | (add-hook 'c-mode-common-hook 'curl-c-mode-common-hook) |
| 13 | |
| 14 | ;; If you are using more than one style in maybe more than one project the |
| 15 | ;; example below might help out. It uses a predicate hook pair to select the |
| 16 | ;; right hook to use. |
| 17 | |
| 18 | (defvar my-style-selective-mode-hook nil |
| 19 | "Holds a list of predicate and hooks pairs. (list (PREDICATE . HOOK) |
| 20 | ...) It is used by my-mode-selective-mood-hook-function for choosing |
| 21 | the right hook to run.") |
| 22 | |
| 23 | (defun my-style-selective-mode-hook-function () |
| 24 | "Run each PREDICATE in `my-style-selective-mode-hook' to see if the |
| 25 | HOOK in the pair should be executed. If the PREDICATE evaluate to non |
| 26 | nil HOOK is executed and the rest of the hooks are ignored." |
| 27 | (let ((h my-style-selective-mode-hook)) |
| 28 | (while (not (eval (caar h))) |
| 29 | (setq h (cdr h))) |
| 30 | (funcall (cdar h)))) |
| 31 | |
| 32 | ;;; Example configuration. |
| 33 | ;; Add the selective hook to the c-mode-common-hook |
| 34 | (add-hook 'c-mode-common-hook 'my-style-selective-mode-hook-function) |
| 35 | |
| 36 | ;; Add your own hooks and predicates. The predicate should evaluate to |
| 37 | ;; non nil if the hook in the pair is supposed to be evaluated. In the |
| 38 | ;; example a part of the path is used to select what style to |
| 39 | ;; use. Choose what is appropriate for you. |
| 40 | (add-hook 'my-style-selective-mode-hook |
| 41 | '((string-match "curl" (buffer-file-name)) . curl-c-mode-common-hook)) |
| 42 | (add-hook 'my-style-selective-mode-hook |
| 43 | '((string-match "other" (buffer-file-name)) . other-c-mode-common-hook)) |
| 44 | ;; Make sure the default style is appended. |
| 45 | (add-hook 'my-style-selective-mode-hook '(t . my-c-mode-common-hook) t) |