]> granicus.if.org Git - curl/commitdiff
example showing how a .emacs using curl-style.el could look like, thanks
authorDaniel Stenberg <daniel@haxx.se>
Wed, 29 Jan 2003 12:14:37 +0000 (12:14 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 29 Jan 2003 12:14:37 +0000 (12:14 +0000)
to Mats Lidell for awesome elisp hacking!

sample.emacs [new file with mode: 0644]

diff --git a/sample.emacs b/sample.emacs
new file mode 100644 (file)
index 0000000..e4e736e
--- /dev/null
@@ -0,0 +1,46 @@
+;; $Id$ -*- emacs-lisp -*-
+
+;; This file was contributed by Mats Lidell
+
+;; 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 curl. 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-CURL>/tools/curl-style.el")
+(add-hook 'c-mode-common-hook 'curl-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 "curl" (buffer-file-name)) . curl-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)